| Index: chrome/android/java/src/org/chromium/chrome/browser/ChromeBackgroundService.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackgroundService.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackgroundService.java
|
| index 884e1eb135afaf30d97141bc122deb6302c92a62..ed6ca84ecc83b04f7a240240f17375735b55ea85 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackgroundService.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeBackgroundService.java
|
| @@ -120,6 +120,11 @@ public class ChromeBackgroundService extends GcmTaskService {
|
| SnippetsBridge.fetchSnippets(/*forceRequest=*/false);
|
| }
|
|
|
| + @VisibleForTesting
|
| + protected void rescheduleFetching() {
|
| + SnippetsBridge.rescheduleFetching();
|
| + }
|
| +
|
| private void handlePrecache(Context context, String tag) {
|
| if (!hasPrecacheInstance()) {
|
| launchBrowser(context, tag);
|
| @@ -202,9 +207,29 @@ public class ChromeBackgroundService extends GcmTaskService {
|
| }
|
| }
|
|
|
| - @Override
|
| - public void onInitializeTasks() {
|
| + @VisibleForTesting
|
| + protected void rescheduleBackgroundSyncTasksOnUpgrade() {
|
| BackgroundSyncLauncher.rescheduleTasksOnUpgrade(this);
|
| + }
|
| +
|
| + @VisibleForTesting
|
| + protected void reschedulePrecacheTasksOnUpgrade() {
|
| PrecacheController.rescheduleTasksOnUpgrade(this);
|
| }
|
| +
|
| + private void rescheduleSnippetsTasksOnUpgrade() {
|
| + if (SnippetsLauncher.shouldRescheduleTasksOnUpgrade()) {
|
| + if (!SnippetsLauncher.hasInstance()) {
|
| + launchBrowser(this, /*tag=*/""); // The |tag| doesn't matter here.
|
| + }
|
| + rescheduleFetching();
|
| + }
|
| + }
|
| +
|
| + @Override
|
| + public void onInitializeTasks() {
|
| + rescheduleBackgroundSyncTasksOnUpgrade();
|
| + reschedulePrecacheTasksOnUpgrade();
|
| + rescheduleSnippetsTasksOnUpgrade();
|
| + }
|
| }
|
|
|