Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(139)

Unified Diff: components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskScheduler.java

Issue 2814653003: [Android] BackgroundTaskScheduler reschedule implementation (Closed)
Patch Set: Exposing BackgroundTaskGcmTaskService in AndroidManifest.xml Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskScheduler.java
diff --git a/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskScheduler.java b/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskScheduler.java
index 31f087ff96c2a6a824b0a94990760e86372e0a7c..d7570fca637dd1365ba0b07f4f7fea13f1c0f01c 100644
--- a/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskScheduler.java
+++ b/components/background_task_scheduler/android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskScheduler.java
@@ -13,6 +13,7 @@ import org.chromium.base.Log;
import org.chromium.base.ThreadUtils;
import java.lang.reflect.Constructor;
+import java.util.Set;
/**
* A BackgroundTaskScheduler which is used to schedule jobs that run in the background.
@@ -90,4 +91,18 @@ public class BackgroundTaskScheduler {
BackgroundTaskSchedulerPrefs.removeScheduledTask(taskId);
mSchedulerDelegate.cancel(context, taskId);
}
+
+ public void reschedule(Context context) {
+ Set<String> scheduledTasksClassNames = BackgroundTaskSchedulerPrefs.getScheduledTasks();
+ BackgroundTaskSchedulerPrefs.removeAllTasks();
nyquist 2017/04/18 22:33:03 So, conceptually we could do this before or after
fgorski 2017/04/20 19:09:58 I did it to avoid updating the prefs entry from bo
nyquist 2017/04/25 20:44:05 I think what we have now is fine.
+ for (String className : scheduledTasksClassNames) {
+ BackgroundTask task = getBackgroundTaskFromClassName(className);
+ if (task == null) {
+ Log.w(TAG, "Cannot reschedule task for: " + className);
+ continue;
+ }
+
+ task.reschedule(context);
+ }
+ }
}

Powered by Google App Engine
This is Rietveld 408576698