diff options
author | Kweku Adams <kwekua@google.com> | 2023-05-30 21:25:35 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-05-30 21:25:35 +0000 |
commit | 3fafd94b354b78635530c1e75a76041c9b79d8e3 (patch) | |
tree | 2396876e21550a5c8acc5b4f0f96669304253b46 | |
parent | 4808c935ab08ff382cbcb348af7750b854d738b7 (diff) | |
parent | 8d7e5fecbe324c93d7bf1b82a0fd9617a551b6ba (diff) | |
download | CalendarProvider-3fafd94b354b78635530c1e75a76041c9b79d8e3.tar.gz |
Add fallback when EJ scheduling fails. am: 8d7e5fecbe
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/providers/CalendarProvider/+/23476484
Change-Id: I0a94412e1f41b3635bf67ccb74687cc97beea6d7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | src/com/android/providers/calendar/CalendarProviderBroadcastReceiver.java | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/com/android/providers/calendar/CalendarProviderBroadcastReceiver.java b/src/com/android/providers/calendar/CalendarProviderBroadcastReceiver.java index af3b412..933baf2 100644 --- a/src/com/android/providers/calendar/CalendarProviderBroadcastReceiver.java +++ b/src/com/android/providers/calendar/CalendarProviderBroadcastReceiver.java @@ -46,15 +46,21 @@ public class CalendarProviderBroadcastReceiver extends BroadcastReceiver { } JobWorkItem jwi = new JobWorkItem(intent); - JobInfo alarmJob = new JobInfo.Builder(CalendarProviderJobService.JOB_ID, + JobInfo.Builder alarmJobBuilder = new JobInfo.Builder(CalendarProviderJobService.JOB_ID, new ComponentName(context, CalendarProviderJobService.class)) - .setExpedited(true) - .build(); + .setExpedited(true); JobScheduler jobScheduler = context.getSystemService(JobScheduler.class); - if (jobScheduler.enqueue(alarmJob, jwi) == JobScheduler.RESULT_SUCCESS) { + if (jobScheduler.enqueue(alarmJobBuilder.build(), jwi) == JobScheduler.RESULT_SUCCESS) { setResultCode(Activity.RESULT_OK); } else { Slog.wtf(TAG, "Failed to schedule expedited job"); + // Unable to schedule an expedited job. Fall back to a regular job. + alarmJobBuilder.setExpedited(false); + if (jobScheduler.enqueue(alarmJobBuilder.build(), jwi) == JobScheduler.RESULT_SUCCESS) { + setResultCode(Activity.RESULT_OK); + } else { + Slog.wtf(TAG, "Failed to schedule regular job"); + } } } } |