diff options
author | Xin Li <delphij@google.com> | 2023-10-05 15:42:46 -0700 |
---|---|---|
committer | Xin Li <delphij@google.com> | 2023-10-05 15:42:46 -0700 |
commit | 1881d6fab722c61848fadebe5fa3b5c568283f48 (patch) | |
tree | 2396876e21550a5c8acc5b4f0f96669304253b46 | |
parent | 92044e0cd1df28336b89315d48085f0176084f14 (diff) | |
parent | c536726eec6b6966682f3983a37828f828e0ca2d (diff) | |
download | CalendarProvider-1881d6fab722c61848fadebe5fa3b5c568283f48.tar.gz |
Merge Android 14
Bug: 298295554
Merged-In: I16919b379b64764ebc7a41bf150fd92260a2e5dc
Change-Id: Ibd06c1a9d9349ab58290097fa0ee6d34a35c75e2
-rw-r--r-- | src/com/android/providers/calendar/CalendarProviderBroadcastReceiver.java | 19 | ||||
-rw-r--r-- | tests/AndroidTest.xml | 2 |
2 files changed, 14 insertions, 7 deletions
diff --git a/src/com/android/providers/calendar/CalendarProviderBroadcastReceiver.java b/src/com/android/providers/calendar/CalendarProviderBroadcastReceiver.java index c27044f..933baf2 100644 --- a/src/com/android/providers/calendar/CalendarProviderBroadcastReceiver.java +++ b/src/com/android/providers/calendar/CalendarProviderBroadcastReceiver.java @@ -34,8 +34,9 @@ public class CalendarProviderBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); - if (!CalendarAlarmManager.ACTION_CHECK_NEXT_ALARM.equals(action) - && !CalendarContract.ACTION_EVENT_REMINDER.equals(action)) { + if (action == null || + (!CalendarAlarmManager.ACTION_CHECK_NEXT_ALARM.equals(action) + && !CalendarContract.ACTION_EVENT_REMINDER.equals(action))) { Log.e(TAG, "Received invalid intent: " + intent); setResultCode(Activity.RESULT_CANCELED); return; @@ -45,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"); + } } } } diff --git a/tests/AndroidTest.xml b/tests/AndroidTest.xml index e7d5d1a..d4fbd4d 100644 --- a/tests/AndroidTest.xml +++ b/tests/AndroidTest.xml @@ -14,7 +14,7 @@ limitations under the License. --> <configuration description="Run calendar provider tests."> - <target_preparer class="com.android.tradefed.targetprep.TestAppInstallSetup"> + <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller"> <option name="test-file-name" value="CalendarProviderTests.apk" /> </target_preparer> |