summaryrefslogtreecommitdiff
path: root/plugins/de.appplant.cordova.plugin.local-notification/src/android/notification/Options.java
diff options
context:
space:
mode:
authorArjun Roychowdhury <pliablepixels@gmail.com>2015-10-31 08:21:38 -0400
committerArjun Roychowdhury <pliablepixels@gmail.com>2015-10-31 08:21:38 -0400
commit02811010cf62f1b21a06780d1e470d04bb24c50f (patch)
tree0d933789068aac11c810ed4bb169d14ab16c43c6 /plugins/de.appplant.cordova.plugin.local-notification/src/android/notification/Options.java
parentbca561c1b3989d62a1fba829e0380c6fbf36caf5 (diff)
removed unecessary files from git
Diffstat (limited to 'plugins/de.appplant.cordova.plugin.local-notification/src/android/notification/Options.java')
-rw-r--r--plugins/de.appplant.cordova.plugin.local-notification/src/android/notification/Options.java303
1 files changed, 0 insertions, 303 deletions
diff --git a/plugins/de.appplant.cordova.plugin.local-notification/src/android/notification/Options.java b/plugins/de.appplant.cordova.plugin.local-notification/src/android/notification/Options.java
deleted file mode 100644
index 198a52f4..00000000
--- a/plugins/de.appplant.cordova.plugin.local-notification/src/android/notification/Options.java
+++ /dev/null
@@ -1,303 +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.AlarmManager;
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.net.Uri;
-
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.util.Date;
-
-/**
- * Wrapper around the JSON object passed through JS which contains all
- * possible option values. Class provides simple readers and more advanced
- * methods to convert independent values into platform specific values.
- */
-public class Options {
-
- // Key name for bundled extras
- static final String EXTRA = "NOTIFICATION_OPTIONS";
-
- // The original JSON object
- private JSONObject options = new JSONObject();
-
- // Repeat interval
- private long interval = 0;
-
- // Application context
- private final Context context;
-
- // Asset util instance
- private final AssetUtil assets;
-
-
- /**
- * Constructor
- *
- * @param context
- * Application context
- */
- public Options(Context context){
- this.context = context;
- this.assets = AssetUtil.getInstance(context);
- }
-
- /**
- * Parse given JSON properties.
- *
- * @param options
- * JSON properties
- */
- public Options parse (JSONObject options) {
- this.options = options;
-
- parseInterval();
- parseAssets();
-
- return this;
- }
-
- /**
- * Parse repeat interval.
- */
- private void parseInterval() {
- String every = options.optString("every").toLowerCase();
-
- if (every.isEmpty()) {
- interval = 0;
- } else
- if (every.equals("second")) {
- interval = 1000;
- } else
- if (every.equals("minute")) {
- interval = AlarmManager.INTERVAL_FIFTEEN_MINUTES / 15;
- } else
- if (every.equals("hour")) {
- interval = AlarmManager.INTERVAL_HOUR;
- } else
- if (every.equals("day")) {
- interval = AlarmManager.INTERVAL_DAY;
- } else
- if (every.equals("week")) {
- interval = AlarmManager.INTERVAL_DAY * 7;
- } else
- if (every.equals("month")) {
- interval = AlarmManager.INTERVAL_DAY * 31;
- } else
- if (every.equals("year")) {
- interval = AlarmManager.INTERVAL_DAY * 365;
- } else {
- try {
- interval = Integer.parseInt(every) * 60000;
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
-
- /**
- * Parse asset URIs.
- */
- private void parseAssets() {
-
- if (options.has("iconUri"))
- return;
-
- Uri iconUri = assets.parse(options.optString("icon", "icon"));
- Uri soundUri = assets.parseSound(options.optString("sound", null));
-
- try {
- options.put("iconUri", iconUri.toString());
- options.put("soundUri", soundUri.toString());
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Application context.
- */
- public Context getContext () {
- return context;
- }
-
- /**
- * Wrapped JSON object.
- */
- JSONObject getDict () {
- return options;
- }
-
- /**
- * Text for the local notification.
- */
- public String getText() {
- return options.optString("text", "");
- }
-
- /**
- * Repeat interval (day, week, month, year, aso.)
- */
- public long getRepeatInterval() {
- return interval;
- }
-
- /**
- * Badge number for the local notification.
- */
- public int getBadgeNumber() {
- return options.optInt("badge", 0);
- }
-
- /**
- * ongoing flag for local notifications.
- */
- public Boolean isOngoing() {
- return options.optBoolean("ongoing", false);
- }
-
- /**
- * autoClear flag for local notifications.
- */
- public Boolean isAutoClear() {
- return options.optBoolean("autoClear", false);
- }
-
- /**
- * ID for the local notification as a number.
- */
- public Integer getId() {
- return options.optInt("id", 0);
- }
-
- /**
- * ID for the local notification as a string.
- */
- public String getIdStr() {
- return getId().toString();
- }
-
- /**
- * Trigger date.
- */
- public Date getTriggerDate() {
- return new Date(getTriggerTime());
- }
-
- /**
- * Trigger date in milliseconds.
- */
- public long getTriggerTime() {
- return Math.max(
- System.currentTimeMillis(),
- options.optLong("at", 0) * 1000
- );
- }
-
- /**
- * Title for the local notification.
- */
- public String getTitle() {
- String title = options.optString("title", "");
-
- if (title.isEmpty()) {
- title = context.getApplicationInfo().loadLabel(
- context.getPackageManager()).toString();
- }
-
- return title;
- }
-
- /**
- * @return
- * The notification color for LED
- */
- public int getLedColor() {
- String hex = options.optString("led", "000000");
- int aRGB = Integer.parseInt(hex,16);
-
- aRGB += 0xFF000000;
-
- return aRGB;
- }
-
- /**
- * Sound file path for the local notification.
- */
- public Uri getSoundUri() {
- Uri uri = null;
-
- try{
- uri = Uri.parse(options.optString("soundUri"));
- } catch (Exception e){
- e.printStackTrace();
- }
-
- return uri;
- }
-
- /**
- * Icon bitmap for the local notification.
- */
- public Bitmap getIconBitmap() {
- String icon = options.optString("icon", "icon");
- Bitmap bmp;
-
- try{
- Uri uri = Uri.parse(options.optString("iconUri"));
- bmp = assets.getIconFromUri(uri);
- } catch (Exception e){
- bmp = assets.getIconFromDrawable(icon);
- }
-
- return bmp;
- }
-
- /**
- * Small icon resource ID for the local notification.
- */
- public int getSmallIcon () {
- String icon = options.optString("smallIcon", "");
-
- int resId = assets.getResIdForDrawable(icon);
-
- if (resId == 0) {
- resId = android.R.drawable.screen_background_dark;
- }
-
- return resId;
- }
-
- /**
- * JSON object as string.
- */
- public String toString() {
- return options.toString();
- }
-
-}