Skip to content

Commit 9557c80

Browse files
committed
Refactor meta data retrieval to separate method
1 parent 40ed929 commit 9557c80

File tree

1 file changed

+22
-20
lines changed

1 file changed

+22
-20
lines changed

com.unity.mobile.notifications/Runtime/Android/Plugins/com/unity/androidnotifications/UnityNotificationManager.java

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import android.content.ComponentName;
1313
import android.content.Context;
1414
import android.content.Intent;
15-
import android.content.pm.ApplicationInfo;
1615
import android.content.pm.PackageManager;
1716
import android.content.SharedPreferences;
1817
import android.graphics.BitmapFactory;
@@ -87,30 +86,25 @@ private void initialize(Activity activity, NotificationCallback notificationCall
8786
if (mVisibleNotifications == null)
8887
mVisibleNotifications = new HashSet<>();
8988

90-
try {
91-
ApplicationInfo ai = activity.getPackageManager().getApplicationInfo(activity.getPackageName(), PackageManager.GET_META_DATA);
92-
Bundle bundle = ai.metaData;
93-
94-
Boolean rescheduleOnRestart = bundle.getBoolean("reschedule_notifications_on_restart");
89+
Bundle metaData = getAppMetadata();
9590

96-
if (rescheduleOnRestart) {
97-
ComponentName receiver = new ComponentName(mContext, UnityNotificationRestartOnBootReceiver.class);
98-
PackageManager pm = mContext.getPackageManager();
91+
Boolean rescheduleOnRestart = false;
92+
if (metaData != null)
93+
rescheduleOnRestart = metaData.getBoolean("reschedule_notifications_on_restart", false);
9994

100-
pm.setComponentEnabledSetting(receiver,
101-
PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
102-
PackageManager.DONT_KILL_APP);
103-
}
95+
if (rescheduleOnRestart) {
96+
ComponentName receiver = new ComponentName(mContext, UnityNotificationRestartOnBootReceiver.class);
97+
PackageManager pm = mContext.getPackageManager();
10498

105-
mOpenActivity = UnityNotificationUtilities.getOpenAppActivity(mContext, false);
106-
if (mOpenActivity == null)
107-
mOpenActivity = activity.getClass();
108-
} catch (PackageManager.NameNotFoundException e) {
109-
Log.e(TAG_UNITY, "Failed to load meta-data, NameNotFound: " + e.getMessage());
110-
} catch (NullPointerException e) {
111-
Log.e(TAG_UNITY, "Failed to load meta-data, NullPointer: " + e.getMessage());
99+
pm.setComponentEnabledSetting(receiver,
100+
PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
101+
PackageManager.DONT_KILL_APP);
112102
}
113103

104+
mOpenActivity = UnityNotificationUtilities.getOpenAppActivity(mContext, false);
105+
if (mOpenActivity == null)
106+
mOpenActivity = activity.getClass();
107+
114108
mBackgroundThread.start();
115109
}
116110

@@ -136,6 +130,14 @@ public static synchronized UnityNotificationManager getNotificationManagerImpl(A
136130
return mUnityNotificationManager;
137131
}
138132

133+
private Bundle getAppMetadata() {
134+
try {
135+
return mContext.getPackageManager().getApplicationInfo(mContext.getPackageName(), PackageManager.GET_META_DATA).metaData;
136+
} catch (PackageManager.NameNotFoundException e) {
137+
return null;
138+
}
139+
}
140+
139141
public NotificationManager getNotificationManager() {
140142
return (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
141143
}

0 commit comments

Comments
 (0)