| Index: chrome/android/java/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTask.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTask.java b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTask.java
|
| index 23dcb65b8aae8fce7e31f46e6ffcfd0dc5693082..9ff42381c39b8b1f9cf03b3e20c9aee4e8217593 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTask.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/BackgroundOfflinerTask.java
|
| @@ -39,10 +39,20 @@ public class BackgroundOfflinerTask {
|
| ChromeBackgroundServiceWaiter waiter) {
|
| // Set up backup scheduled task in case processing is killed before RequestCoordinator
|
| // has a chance to reschedule base on remaining work.
|
| - BackgroundScheduler.schedule(context, DEFER_START_SECONDS);
|
| + TriggerConditions previousTriggerConditions =
|
| + TaskExtrasPacker.unpackTriggerConditionsFromBundle(bundle);
|
| + BackgroundScheduler.backupSchedule(context, previousTriggerConditions, DEFER_START_SECONDS);
|
| +
|
| + DeviceConditions currentConditions = OfflinePageUtils.getDeviceConditions(context);
|
| + if (!currentConditions.isPowerConnected()
|
| + && currentConditions.getBatteryPercentage()
|
| + < previousTriggerConditions.getMinimumBatteryPercentage()) {
|
| + Log.d(TAG, "Battery percentage is lower than minimum to start processing");
|
| + return false;
|
| + }
|
|
|
| // Now initiate processing.
|
| - processBackgroundRequests(bundle, OfflinePageUtils.getDeviceConditions(context), waiter);
|
| + processBackgroundRequests(bundle, currentConditions, waiter);
|
|
|
| // Gather UMA data to measure how often the user's machine is amenable to background
|
| // loading when we wake to do a task.
|
|
|