From ec5127ad6e816e38120fb2c0b1efeae3f4b8ea63 Mon Sep 17 00:00:00 2001 From: Flavio De Stefano Date: Tue, 4 Oct 2016 19:00:02 +0200 Subject: [PATCH] Closes #13 and v1.6.0 --- android/LICENSE | 22 ++++++++- android/dist/map.jar | Bin 10937 -> 0 bytes ...d-1.5.0.zip => ti.goosh-android-1.6.0.zip} | Bin 888349 -> 888718 bytes android/dist/ti.goosh.jar | Bin 17534 -> 17304 bytes android/manifest | 2 +- android/src/ti/goosh/IntentService.java | 21 +++------ android/src/ti/goosh/PushHandlerActivity.java | 42 ++++++++++++++++++ .../TiGooshActivityLifecycleCallbacks.java | 38 ---------------- android/src/ti/goosh/TiGooshModule.java | 33 +++++++------- android/timodule.xml | 6 ++- 10 files changed, 90 insertions(+), 74 deletions(-) delete mode 100644 android/dist/map.jar rename android/dist/{ti.goosh-android-1.5.0.zip => ti.goosh-android-1.6.0.zip} (97%) create mode 100644 android/src/ti/goosh/PushHandlerActivity.java delete mode 100644 android/src/ti/goosh/TiGooshActivityLifecycleCallbacks.java diff --git a/android/LICENSE b/android/LICENSE index 6ae867d..27f06a5 100644 --- a/android/LICENSE +++ b/android/LICENSE @@ -1 +1,21 @@ -TODO: place your license here and we'll include it in the module distribution +The MIT License (MIT) + +Copyright (c) 2015 Caffeina + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/android/dist/map.jar b/android/dist/map.jar deleted file mode 100644 index 55ad1fa63ec0fb9c328ae3b7d8d3903a34e5e339..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10937 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 VRG$dQR0;>_>t9v;P~_ig{|BL{N@f56 delta 13095 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 diff --git a/android/manifest b/android/manifest index 20912b7..c61ed46 100755 --- a/android/manifest +++ b/android/manifest @@ -2,7 +2,7 @@ # this is your module manifest and used by Titanium # during compilation, packaging, distribution, etc. # -version: 1.5.0 +version: 1.6.0 apiversion: 2 architectures: armeabi armeabi-v7a x86 description: ti.goosh diff --git a/android/src/ti/goosh/IntentService.java b/android/src/ti/goosh/IntentService.java index 51c6829..77eb2f9 100755 --- a/android/src/ti/goosh/IntentService.java +++ b/android/src/ti/goosh/IntentService.java @@ -10,6 +10,7 @@ import java.util.concurrent.atomic.AtomicInteger; import java.lang.reflect.Type; import java.lang.Math; +import java.util.Random; import android.app.Notification; import android.app.NotificationManager; @@ -77,7 +78,7 @@ private Bitmap getBitmapFromURL(String src) throws Exception { } private void parseNotification(Bundle bundle) { - Context context = TiApplication.getInstance().getApplicationContext(); + Context context = getApplicationContext(); Boolean appInBackground = !TiApplication.isCurrentActivityInForeground(); Boolean showNotification = true; @@ -110,21 +111,11 @@ private void parseNotification(Bundle bundle) { if (showNotification) { + Intent notificationIntent = new Intent(this, PushHandlerActivity.class); + notificationIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + notificationIntent.putExtra(TiGooshModule.INTENT_EXTRA, jsonData); - // If the Application has a current activity, relaunch it - // otherwise, we need a LaunchIntent - Intent launcherIntent = null; - if (TiApplication.getAppRootOrCurrentActivity() == null) { - launcherIntent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName()); - launcherIntent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Intent.FLAG_ACTIVITY_SINGLE_TOP); - launcherIntent.addCategory(Intent.CATEGORY_LAUNCHER); - } else { - launcherIntent = TiApplication.getAppRootOrCurrentActivity().getIntent(); - } - - launcherIntent.putExtra("tigoosh.notification", jsonData); - - PendingIntent contentIntent = PendingIntent.getActivity(this, 0, launcherIntent, PendingIntent.FLAG_ONE_SHOT); + PendingIntent contentIntent = PendingIntent.getActivity(this, new Random().nextInt(), notificationIntent, PendingIntent.FLAG_ONE_SHOT); // Start building notification diff --git a/android/src/ti/goosh/PushHandlerActivity.java b/android/src/ti/goosh/PushHandlerActivity.java new file mode 100644 index 0000000..3b76150 --- /dev/null +++ b/android/src/ti/goosh/PushHandlerActivity.java @@ -0,0 +1,42 @@ +package ti.goosh; + +import android.app.Activity; +import android.app.NotificationManager; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.os.Bundle; +import android.util.Log; + +import org.appcelerator.titanium.TiApplication; + +public class PushHandlerActivity extends Activity { + + private static String LCAT = "ti.goosh.TiGooshPushHandlerActivity"; + + @Override + public void onCreate(Bundle savedInstanceState) { + Log.d(LCAT, "started"); + super.onCreate(savedInstanceState); + + Context context = getApplicationContext(); + String notification = getIntent().getStringExtra(TiGooshModule.INTENT_EXTRA); + TiGooshModule instance = TiGooshModule.getInstance(); + + Intent launcherIntent; + + if (instance == null) { + launcherIntent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName()); + launcherIntent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); + } else { + launcherIntent = TiApplication.getAppRootOrCurrentActivity().getIntent(); + instance.sendMessage(notification, true); + } + + launcherIntent.putExtra(TiGooshModule.INTENT_EXTRA, notification); + startActivity(launcherIntent); + + finish(); + } + +} \ No newline at end of file diff --git a/android/src/ti/goosh/TiGooshActivityLifecycleCallbacks.java b/android/src/ti/goosh/TiGooshActivityLifecycleCallbacks.java deleted file mode 100644 index 7071c29..0000000 --- a/android/src/ti/goosh/TiGooshActivityLifecycleCallbacks.java +++ /dev/null @@ -1,38 +0,0 @@ -package ti.goosh; - -import android.app.Application.ActivityLifecycleCallbacks; -import org.appcelerator.titanium.TiApplication; -import org.appcelerator.titanium.TiRootActivity; -import android.app.Activity; -import android.os.Bundle; -import android.util.Log; - -final class TiGooshActivityLifecycleCallbacks implements ActivityLifecycleCallbacks { - - private static final String LCAT = "ti.goosh.TiGooshModule"; - - public void onActivityDestroyed(Activity activity) {} - public void onActivityPaused(Activity activity) {} - public void onActivityCreated(Activity activity, Bundle bundle) {} - public void onActivitySaveInstanceState(Activity activity, Bundle outState) {} - public void onActivityStopped(Activity activity) {} - - public void onActivityStarted(Activity activity) { - if (activity.getLocalClassName().equals("org.appcelerator.titanium.TiActivity") == false) return; - - TiGooshModule instance = TiGooshModule.getInstance(); - if (instance == null || instance.registered == false) return; - - instance.parseIncomingNotificationIntent(); - } - - public void onActivityResumed(Activity activity) { - if (activity.getLocalClassName().equals("org.appcelerator.titanium.TiActivity") == false) return; - - TiGooshModule instance = TiGooshModule.getInstance(); - if (instance == null || instance.registered == false) return; - - instance.parseIncomingNotificationIntent(); - } - -} \ No newline at end of file diff --git a/android/src/ti/goosh/TiGooshModule.java b/android/src/ti/goosh/TiGooshModule.java index 74a4f24..e806d19 100644 --- a/android/src/ti/goosh/TiGooshModule.java +++ b/android/src/ti/goosh/TiGooshModule.java @@ -46,6 +46,9 @@ public class TiGooshModule extends KrollModule { private static final String LCAT = "ti.goosh.TiGooshModule"; private static final int PLAY_SERVICES_RESOLUTION_REQUEST = 9000; + public static final String INTENT_EXTRA = "tigoosh.notification"; + public static final String TOKEN = "tigoosh.token"; + private static TiGooshModule instance = null; private KrollFunction successCallback = null; @@ -63,22 +66,16 @@ public static TiGooshModule getInstance() { return instance; } - @Kroll.onAppCreate - public static void onAppCreate(TiApplication app) { - // Register the events to ensure the Intent parsing on resume - TiApplication.getInstance().registerActivityLifecycleCallbacks(new TiGooshActivityLifecycleCallbacks()); - Log.d(LCAT, "onAppCreate " + app + " (" + (instance != null) + ")"); - } - - public void parseIncomingNotificationIntent() { + public void parseBootIntent() { try { - Activity root = TiApplication.getAppRootOrCurrentActivity(); - Intent intent = root.getIntent(); + Intent intent = TiApplication.getAppRootOrCurrentActivity().getIntent(); - if (intent.hasExtra("tigoosh.notification")) { + if (intent.hasExtra(INTENT_EXTRA)) { - TiGooshModule.getInstance().sendMessage(intent.getStringExtra("tigoosh.notification"), true); - intent.removeExtra("tigoosh.notification"); + String notification = intent.getStringExtra(INTENT_EXTRA); + + intent.removeExtra(INTENT_EXTRA); + instance.sendMessage(notification, true); } else { Log.d(LCAT, "No notification in Intent"); @@ -122,7 +119,7 @@ public void registerForPushNotifications(HashMap options) { messageCallback = options.containsKey("callback") ? (KrollFunction)options.get("callback") : null; registered = true; - parseIncomingNotificationIntent(); + parseBootIntent(); if (checkPlayServices()) { activity.startService( new Intent(activity, RegistrationIntentService.class) ); @@ -167,13 +164,13 @@ public void cancel(int id) { @Kroll.method @Kroll.getProperty public Boolean isRemoteNotificationsEnabled() { - return getDefaultSharedPreferences().contains("tigoosh.token"); + return getDefaultSharedPreferences().contains(TOKEN); } @Kroll.method @Kroll.getProperty public String getRemoteDeviceUUID() { - return getDefaultSharedPreferences().getString("tigoosh.token", ""); + return getDefaultSharedPreferences().getString(TOKEN, ""); } @Kroll.method @@ -193,7 +190,7 @@ private SharedPreferences getDefaultSharedPreferences() { } private void saveToken(String token) { - getDefaultSharedPreferences().edit().putString("tigoosh.token", token).apply(); + getDefaultSharedPreferences().edit().putString(TOKEN, token).apply(); } // Public @@ -230,7 +227,7 @@ public void sendMessage(String data, Boolean inBackground) { } try { - + HashMap e = new HashMap(); e.put("data", data); // to parse on reverse on JS side e.put("inBackground", inBackground); diff --git a/android/timodule.xml b/android/timodule.xml index 865ece9..56c6971 100755 --- a/android/timodule.xml +++ b/android/timodule.xml @@ -16,7 +16,6 @@ - @@ -49,6 +48,11 @@ android:name="ti.goosh.RegistrationIntentService" android:exported="false"> + + +