From 613b34626bd0e4297efe977b264e2f5f05537893 Mon Sep 17 00:00:00 2001 From: Kevin Cooper Date: Fri, 23 Jun 2017 15:16:24 -0700 Subject: [PATCH] Simplify `getMainActivityClass` Just return the className. The old code didn't work with activity aliases. For example, when launching with ``, the old code would try to get the class for `SplashActivity` which threw `ClassNotFoundException`. --- .../react/fcm/FIRLocalMessagingHelper.java | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/android/src/main/java/com/evollu/react/fcm/FIRLocalMessagingHelper.java b/android/src/main/java/com/evollu/react/fcm/FIRLocalMessagingHelper.java index 3c6da1b..38b9fec 100644 --- a/android/src/main/java/com/evollu/react/fcm/FIRLocalMessagingHelper.java +++ b/android/src/main/java/com/evollu/react/fcm/FIRLocalMessagingHelper.java @@ -41,16 +41,11 @@ public class FIRLocalMessagingHelper { sharedPreferences = (SharedPreferences) mContext.getSharedPreferences(PREFERENCES_KEY, Context.MODE_PRIVATE); } - public Class getMainActivityClass() { + public String getMainActivityClassName() { String packageName = mContext.getPackageName(); Intent launchIntent = mContext.getPackageManager().getLaunchIntentForPackage(packageName); String className = launchIntent.getComponent().getClassName(); - try { - return Class.forName(className); - } catch (ClassNotFoundException e) { - e.printStackTrace(); - return null; - } + return className; } private AlarmManager getAlarmManager() { @@ -59,8 +54,8 @@ public class FIRLocalMessagingHelper { public void sendNotification(Bundle bundle) { try { - Class intentClass = getMainActivityClass(); - if (intentClass == null) { + String intentClassName = getMainActivityClassName(); + if (intentClassName == null) { return; } @@ -197,7 +192,8 @@ public class FIRLocalMessagingHelper { mContext.sendOrderedBroadcast(i, null); if(!mIsForeground || bundle.getBoolean("show_in_foreground")){ - Intent intent = new Intent(mContext, intentClass); + Intent intent = new Intent(); + intent.setClassName(mContext, intentClassName); intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); intent.putExtras(bundle); intent.setAction(bundle.getString("click_action")); @@ -232,8 +228,8 @@ public class FIRLocalMessagingHelper { } public void sendNotificationScheduled(Bundle bundle) { - Class intentClass = getMainActivityClass(); - if (intentClass == null) { + String intentClassName = getMainActivityClassName(); + if (intentClassName == null) { return; } -- 2.26.2