Skip to content

Commit a7e6208

Browse files
committed
Refactor to only have default constructor
1 parent 8d4f962 commit a7e6208

File tree

1 file changed

+14
-16
lines changed

1 file changed

+14
-16
lines changed

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

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -71,18 +71,14 @@ public class UnityNotificationManager extends BroadcastReceiver {
7171
static final String NOTIFICATION_IDS_SHARED_PREFS = "UNITY_STORED_NOTIFICATION_IDS";
7272
static final String NOTIFICATION_IDS_SHARED_PREFS_KEY = "UNITY_NOTIFICATION_IDS";
7373

74-
// Constructor with zero parameter is necessary for system to call onReceive() callback.
75-
public UnityNotificationManager() {
76-
super();
77-
}
78-
79-
// Called from Unity managed code to do initialization.
80-
public UnityNotificationManager(Context context, Activity activity) {
81-
super();
82-
mContext = context;
74+
private void initialize(Activity activity) {
75+
if (mContext == null)
76+
mContext = activity.getApplicationContext();
8377
mActivity = activity;
84-
mBackgroundThread = new UnityNotificationBackgroundThread(context, mScheduledNotifications);
85-
mRandom = new Random();
78+
if (mBackgroundThread == null)
79+
mBackgroundThread = new UnityNotificationBackgroundThread(mContext, mScheduledNotifications);
80+
if (mRandom == null)
81+
mRandom = new Random();
8682

8783
try {
8884
ApplicationInfo ai = activity.getPackageManager().getApplicationInfo(activity.getPackageName(), PackageManager.GET_META_DATA);
@@ -91,15 +87,15 @@ public UnityNotificationManager(Context context, Activity activity) {
9187
Boolean rescheduleOnRestart = bundle.getBoolean("reschedule_notifications_on_restart");
9288

9389
if (rescheduleOnRestart) {
94-
ComponentName receiver = new ComponentName(context, UnityNotificationRestartOnBootReceiver.class);
95-
PackageManager pm = context.getPackageManager();
90+
ComponentName receiver = new ComponentName(mContext, UnityNotificationRestartOnBootReceiver.class);
91+
PackageManager pm = mContext.getPackageManager();
9692

9793
pm.setComponentEnabledSetting(receiver,
9894
PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
9995
PackageManager.DONT_KILL_APP);
10096
}
10197

102-
mOpenActivity = UnityNotificationUtilities.getOpenAppActivity(context, false);
98+
mOpenActivity = UnityNotificationUtilities.getOpenAppActivity(mContext, false);
10399
if (mOpenActivity == null)
104100
mOpenActivity = activity.getClass();
105101
} catch (PackageManager.NameNotFoundException e) {
@@ -117,9 +113,11 @@ public static UnityNotificationManager getNotificationManagerImpl(Context contex
117113

118114
// Called from managed code.
119115
public static UnityNotificationManager getNotificationManagerImpl(Context context, Activity activity) {
120-
if (mUnityNotificationManager == null)
121-
mUnityNotificationManager = new UnityNotificationManager(context, activity);
116+
if (mUnityNotificationManager == null) {
117+
mUnityNotificationManager = new UnityNotificationManager();
118+
}
122119

120+
mUnityNotificationManager.initialize(activity);
123121
return mUnityNotificationManager;
124122
}
125123

0 commit comments

Comments
 (0)