Skip to content

Commit 40a31fc

Browse files
committed
Refactor rescheduling to reuse the code
1 parent 9c64f53 commit 40a31fc

File tree

2 files changed

+10
-16
lines changed

2 files changed

+10
-16
lines changed

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,15 @@ Notification scheduleAlarmWithNotification(Notification.Builder notificationBuil
301301
return notification;
302302
}
303303

304+
static void scheduleAlarmWithNotification(Notification.Builder notificationBuilder, Context context) {
305+
if (mUnityNotificationManager == null)
306+
return;
307+
308+
long fireTime = notificationBuilder.getExtras().getLong(KEY_FIRE_TIME, 0L);
309+
Intent intent = buildNotificationIntent(context);
310+
mUnityNotificationManager.scheduleAlarmWithNotification(notificationBuilder, intent, fireTime);
311+
}
312+
304313
protected static Notification buildNotificationForSending(Context context, Class openActivity, Notification.Builder builder) {
305314
int id = builder.getExtras().getInt(KEY_ID, -1);
306315
Intent openAppIntent = buildOpenAppIntent(context, openActivity);

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

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.unity.androidnotifications;
22

33
import android.app.Notification;
4-
import android.app.PendingIntent;
54
import android.content.BroadcastReceiver;
65
import android.content.Context;
76
import android.content.Intent;
@@ -12,8 +11,6 @@
1211
import java.util.List;
1312

1413
import static com.unity.androidnotifications.UnityNotificationManager.KEY_FIRE_TIME;
15-
import static com.unity.androidnotifications.UnityNotificationManager.KEY_ID;
16-
import static com.unity.androidnotifications.UnityNotificationManager.KEY_NOTIFICATION;
1714
import static com.unity.androidnotifications.UnityNotificationManager.KEY_REPEAT_INTERVAL;
1815

1916
public class UnityNotificationRestartOnBootReceiver extends BroadcastReceiver {
@@ -35,22 +32,10 @@ private static void rescheduleSavedNotifications(Context context) {
3532
Date currentDate = Calendar.getInstance().getTime();
3633
Date fireTimeDate = new Date(fireTime);
3734

38-
int id = extras.getInt(KEY_ID, -1);
3935
boolean isRepeatable = repeatInterval > 0;
4036

4137
if (fireTimeDate.after(currentDate) || isRepeatable) {
42-
Intent openAppIntent = UnityNotificationManager.buildOpenAppIntent(context, UnityNotificationUtilities.getOpenAppActivity(context, true));
43-
openAppIntent.putExtra(KEY_NOTIFICATION, notificationBuilder.build());
44-
45-
PendingIntent pendingIntent = PendingIntent.getActivity(context, id, openAppIntent, 0);
46-
Intent intent = UnityNotificationManager.buildNotificationIntent(context);
47-
notificationBuilder.setContentIntent(pendingIntent);
48-
UnityNotificationManager.finalizeNotificationForDisplay(context, notificationBuilder);
49-
Notification notification = notificationBuilder.build();
50-
intent.putExtra(KEY_NOTIFICATION, notification);
51-
52-
PendingIntent broadcast = UnityNotificationManager.getBroadcastPendingIntent(context, id, intent, PendingIntent.FLAG_UPDATE_CURRENT);
53-
UnityNotificationManager.scheduleNotificationIntentAlarm(context, repeatInterval, fireTime, broadcast);
38+
UnityNotificationManager.scheduleAlarmWithNotification(notificationBuilder, context);
5439
}
5540
}
5641
}

0 commit comments

Comments
 (0)