diff options
| author | Arjun Roychowdhury <pliablepixels@gmail.com> | 2015-10-31 08:21:38 -0400 |
|---|---|---|
| committer | Arjun Roychowdhury <pliablepixels@gmail.com> | 2015-10-31 08:21:38 -0400 |
| commit | 02811010cf62f1b21a06780d1e470d04bb24c50f (patch) | |
| tree | 0d933789068aac11c810ed4bb169d14ab16c43c6 /plugins/de.appplant.cordova.plugin.local-notification/src/android/notification/Builder.java | |
| parent | bca561c1b3989d62a1fba829e0380c6fbf36caf5 (diff) | |
removed unecessary files from git
Diffstat (limited to 'plugins/de.appplant.cordova.plugin.local-notification/src/android/notification/Builder.java')
| -rw-r--r-- | plugins/de.appplant.cordova.plugin.local-notification/src/android/notification/Builder.java | 194 |
1 files changed, 0 insertions, 194 deletions
diff --git a/plugins/de.appplant.cordova.plugin.local-notification/src/android/notification/Builder.java b/plugins/de.appplant.cordova.plugin.local-notification/src/android/notification/Builder.java deleted file mode 100644 index a0be8b93..00000000 --- a/plugins/de.appplant.cordova.plugin.local-notification/src/android/notification/Builder.java +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Copyright (c) 2013-2015 by appPlant UG. All rights reserved. - * - * @APPPLANT_LICENSE_HEADER_START@ - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apache License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://opensource.org/licenses/Apache-2.0/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPPLANT_LICENSE_HEADER_END@ - */ - -package de.appplant.cordova.plugin.notification; - -import android.app.PendingIntent; -import android.content.Context; -import android.content.Intent; -import android.net.Uri; -import android.support.v4.app.NotificationCompat; - -import org.json.JSONObject; - -import java.util.Random; - -/** - * Builder class for local notifications. Build fully configured local - * notification specified by JSON object passed from JS side. - */ -public class Builder { - - // Application context passed by constructor - private final Context context; - - // Notification options passed by JS - private final Options options; - - // Receiver to handle the trigger event - private Class<?> triggerReceiver; - - // Receiver to handle the clear event - private Class<?> clearReceiver = ClearReceiver.class; - - // Activity to handle the click event - private Class<?> clickActivity = ClickActivity.class; - - /** - * Constructor - * - * @param context - * Application context - * @param options - * Notification options - */ - public Builder(Context context, JSONObject options) { - this.context = context; - this.options = new Options(context).parse(options); - } - - /** - * Constructor - * - * @param options - * Notification options - */ - public Builder(Options options) { - this.context = options.getContext(); - this.options = options; - } - - /** - * Set trigger receiver. - * - * @param receiver - * Broadcast receiver - */ - public Builder setTriggerReceiver(Class<?> receiver) { - this.triggerReceiver = receiver; - return this; - } - - /** - * Set clear receiver. - * - * @param receiver - * Broadcast receiver - */ - public Builder setClearReceiver(Class<?> receiver) { - this.clearReceiver = receiver; - return this; - } - - /** - * Set click activity. - * - * @param activity - * Activity - */ - public Builder setClickActivity(Class<?> activity) { - this.clickActivity = activity; - return this; - } - - /** - * Creates the notification with all its options passed through JS. - */ - public Notification build() { - Uri sound = options.getSoundUri(); - NotificationCompat.BigTextStyle style; - NotificationCompat.Builder builder; - - style = new NotificationCompat.BigTextStyle() - .bigText(options.getText()); - - builder = new NotificationCompat.Builder(context) - .setDefaults(0) - .setContentTitle(options.getTitle()) - .setContentText(options.getText()) - .setNumber(options.getBadgeNumber()) - .setTicker(options.getText()) - .setSmallIcon(options.getSmallIcon()) - .setLargeIcon(options.getIconBitmap()) - .setAutoCancel(options.isAutoClear()) - .setOngoing(options.isOngoing()) - .setStyle(style) - .setLights(options.getLedColor(), 500, 500); - - if (sound != null) { - builder.setSound(sound); - } - - applyDeleteReceiver(builder); - applyContentReceiver(builder); - - return new Notification(context, options, builder, triggerReceiver); - } - - /** - * Set intent to handle the delete event. Will clean up some persisted - * preferences. - * - * @param builder - * Local notification builder instance - */ - private void applyDeleteReceiver(NotificationCompat.Builder builder) { - - if (clearReceiver == null) - return; - - Intent deleteIntent = new Intent(context, clearReceiver) - .setAction(options.getIdStr()) - .putExtra(Options.EXTRA, options.toString()); - - PendingIntent dpi = PendingIntent.getBroadcast( - context, 0, deleteIntent, PendingIntent.FLAG_CANCEL_CURRENT); - - builder.setDeleteIntent(dpi); - } - - /** - * Set intent to handle the click event. Will bring the app to - * foreground. - * - * @param builder - * Local notification builder instance - */ - private void applyContentReceiver(NotificationCompat.Builder builder) { - - if (clickActivity == null) - return; - - Intent intent = new Intent(context, clickActivity) - .putExtra(Options.EXTRA, options.toString()) - .setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); - - int requestCode = new Random().nextInt(); - - PendingIntent contentIntent = PendingIntent.getActivity( - context, requestCode, intent, PendingIntent.FLAG_CANCEL_CURRENT); - - builder.setContentIntent(contentIntent); - } - -} |
