diff options
-rw-r--r-- | res/values-zh-rHK/strings.xml | 2 | ||||
-rw-r--r-- | src/com/android/providers/calendar/CalendarProviderBroadcastReceiver.java | 19 | ||||
-rw-r--r-- | tests/AndroidTest.xml | 2 |
3 files changed, 15 insertions, 8 deletions
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml index 5c7247c..7f5ff5b 100644 --- a/res/values-zh-rHK/strings.xml +++ b/res/values-zh-rHK/strings.xml @@ -26,7 +26,7 @@ <string name="provider_label" msgid="1910026788169486138">"日曆"</string> <string name="debug_tool_delete_button" msgid="2843837310185088850">"立即刪除"</string> <string name="debug_tool_start_button" msgid="2827965939935983665">"開始"</string> - <string name="debug_tool_message" msgid="2315979068524074618">"你即將 1) 在 SD 卡或 USB 儲存空間中儲存任何應用程式均可讀取的日曆資料庫副本,並且 2) 以電郵傳送日曆資料庫。請緊記,待成功從裝置複製日曆資料庫或收到電郵後,請隨即刪除日曆資料庫。"</string> + <string name="debug_tool_message" msgid="2315979068524074618">"您即將 1) 在 SD 卡或 USB 儲存空間中儲存任何應用程式均可讀取的日曆資料庫副本,並且 2) 以電郵傳送日曆資料庫。請緊記,待成功從裝置複製日曆資料庫或收到電郵後,請隨即刪除日曆資料庫。"</string> <string name="debug_tool_email_sender_picker" msgid="2527150861906694072">"選擇要用來傳送檔案的程式"</string> <string name="debug_tool_email_subject" msgid="1450453531950410260">"內含「日曆」資料庫附件"</string> <string name="debug_tool_email_body" msgid="1271714905048793618">"附上我的「日曆」資料庫,其中包含我所有的預約和個人資料,請謹慎處理。"</string> 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> |