summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/com/android/providers/calendar/CalendarProviderJobService.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/com/android/providers/calendar/CalendarProviderJobService.java b/src/com/android/providers/calendar/CalendarProviderJobService.java
index bfec48a..908304d 100644
--- a/src/com/android/providers/calendar/CalendarProviderJobService.java
+++ b/src/com/android/providers/calendar/CalendarProviderJobService.java
@@ -29,6 +29,8 @@ public class CalendarProviderJobService extends JobService {
private static final String TAG = CalendarProvider2.TAG;
static final int JOB_ID = CalendarProviderJobService.class.hashCode();
+ private volatile boolean canRun;
+
@Override
public boolean onStartJob(JobParameters params) {
if (!params.isExpeditedJob()) {
@@ -44,6 +46,7 @@ public class CalendarProviderJobService extends JobService {
return false;
}
+ canRun = true;
final CalendarProvider2 provider = (CalendarProvider2) cprovider;
new Thread(() -> {
@@ -58,6 +61,9 @@ public class CalendarProviderJobService extends JobService {
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, "Next alarm set.");
}
+ if (!canRun) {
+ break;
+ }
params.completeWork(jwi);
}
}).start();
@@ -70,6 +76,7 @@ public class CalendarProviderJobService extends JobService {
Slog.wtf(TAG, "CalendarProviderJobService was stopped due to "
+ JobParameters.getInternalReasonCodeDescription(params.getInternalStopReasonCode())
+ "(" + params.getStopReason() + ")");
+ canRun = false;
return true;
}
}