OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.chrome.browser.offlinepages; | 5 package org.chromium.chrome.browser.offlinepages; |
6 | 6 |
7 import android.content.Context; | 7 import android.content.Context; |
8 | 8 |
9 import org.chromium.base.Callback; | 9 import org.chromium.base.Callback; |
10 import org.chromium.base.Log; | 10 import org.chromium.base.Log; |
(...skipping 29 matching lines...) Expand all Loading... |
40 | 40 |
41 return BackgroundOfflinerTask.startBackgroundRequestsImpl( | 41 return BackgroundOfflinerTask.startBackgroundRequestsImpl( |
42 mBackgroundProcessor, context, taskParameters.getExtras(), wrapC
allback(callback)); | 42 mBackgroundProcessor, context, taskParameters.getExtras(), wrapC
allback(callback)); |
43 } | 43 } |
44 | 44 |
45 @Override | 45 @Override |
46 public boolean onStopTask(Context context, TaskParameters taskParameters) { | 46 public boolean onStopTask(Context context, TaskParameters taskParameters) { |
47 return mBackgroundProcessor.stopScheduledProcessing(); | 47 return mBackgroundProcessor.stopScheduledProcessing(); |
48 } | 48 } |
49 | 49 |
| 50 @Override |
| 51 public void reschedule(Context context) { |
| 52 BackgroundScheduler.getInstance(context).rescheduleOfflinePagesTasksOnUp
grade(); |
| 53 } |
| 54 |
50 /** Wraps the callback for code reuse */ | 55 /** Wraps the callback for code reuse */ |
51 private Callback<Boolean> wrapCallback(final TaskFinishedCallback callback)
{ | 56 private Callback<Boolean> wrapCallback(final TaskFinishedCallback callback)
{ |
52 return new Callback<Boolean>() { | 57 return new Callback<Boolean>() { |
53 @Override | 58 @Override |
54 public void onResult(Boolean result) { | 59 public void onResult(Boolean result) { |
55 callback.taskFinished(result); | 60 callback.taskFinished(result); |
56 } | 61 } |
57 }; | 62 }; |
58 } | 63 } |
59 | 64 |
60 private static void launchBrowserIfNecessary(Context context) { | 65 private static void launchBrowserIfNecessary(Context context) { |
61 if (BrowserStartupController.get(LibraryProcessType.PROCESS_BROWSER) | 66 if (BrowserStartupController.get(LibraryProcessType.PROCESS_BROWSER) |
62 .isStartupSuccessfullyCompleted()) { | 67 .isStartupSuccessfullyCompleted()) { |
63 return; | 68 return; |
64 } | 69 } |
65 | 70 |
66 // TODO(fgorski): This method is taken from ChromeBackgroundService as a
local fix and will | 71 // TODO(fgorski): This method is taken from ChromeBackgroundService as a
local fix and will |
67 // be removed with BackgroundTaskScheduler supporting GcmNetworkManager
scheduling. | 72 // be removed with BackgroundTaskScheduler supporting GcmNetworkManager
scheduling. |
68 try { | 73 try { |
69 ChromeBrowserInitializer.getInstance(context).handleSynchronousStart
up(); | 74 ChromeBrowserInitializer.getInstance(context).handleSynchronousStart
up(); |
70 } catch (ProcessInitException e) { | 75 } catch (ProcessInitException e) { |
71 Log.e(TAG, "ProcessInitException while starting the browser process.
"); | 76 Log.e(TAG, "ProcessInitException while starting the browser process.
"); |
72 // Since the library failed to initialize nothing in the application
can work, so kill | 77 // Since the library failed to initialize nothing in the application
can work, so kill |
73 // the whole application not just the activity. | 78 // the whole application not just the activity. |
74 System.exit(-1); | 79 System.exit(-1); |
75 } | 80 } |
76 } | 81 } |
77 } | 82 } |
OLD | NEW |