Index: chrome/android/java/src/org/chromium/chrome/browser/offlinepages/TaskExtrasPacker.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/TaskExtrasPacker.java b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/TaskExtrasPacker.java |
index 563f62a6ecaf343a62f8ee5390e478fcdf373296..935b9005f8a0b61f8856780e344dc5e368a32869 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/TaskExtrasPacker.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/offlinepages/TaskExtrasPacker.java |
@@ -4,7 +4,10 @@ |
package org.chromium.chrome.browser.offlinepages; |
+import android.annotation.TargetApi; |
+import android.os.Build; |
import android.os.Bundle; |
+import android.os.PersistableBundle; |
import org.chromium.chrome.browser.ChromeBackgroundService; |
@@ -20,10 +23,20 @@ public class TaskExtrasPacker { |
private static final String BATTERY_PERCENTAGE_TAG = "BatteryPercentage"; |
private static final String UNMETERED_NETWORK_TAG = "UnmeteredNetwork"; |
+ /** Puts requirement to hold a wakelock in the bundle. */ |
+ public static void packHoldWakelock(Bundle bundle) { |
+ bundle.putBoolean(ChromeBackgroundService.HOLD_WAKELOCK, true); |
+ } |
+ |
/** Puts current time into the input bundle. */ |
public static void packTimeInBundle(Bundle bundle) { |
bundle.putLong(SCHEDULED_TIME_TAG, System.currentTimeMillis()); |
- bundle.putBoolean(ChromeBackgroundService.HOLD_WAKELOCK, true); |
+ } |
+ |
+ /** Puts current time into the input bundle. */ |
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP_MR1) |
Pete Williamson
2017/02/10 02:10:43
On the day this change lands, we might have some t
fgorski
2017/02/10 19:26:00
Corresponding methods for Bundle still work. GCMNe
|
+ public static void packTimeInBundle(PersistableBundle bundle) { |
+ bundle.putLong(SCHEDULED_TIME_TAG, System.currentTimeMillis()); |
} |
/** Extracts the time we put into the bundle. */ |
@@ -31,6 +44,12 @@ public class TaskExtrasPacker { |
return bundle.getLong(SCHEDULED_TIME_TAG); |
} |
+ /** Extracts the time we put into the bundle. */ |
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP_MR1) |
+ public static long unpackTimeFromBundle(PersistableBundle bundle) { |
+ return bundle.getLong(SCHEDULED_TIME_TAG); |
+ } |
+ |
/** Puts trigger conditions into the input bundle. */ |
public static void packTriggerConditionsInBundle(Bundle bundle, TriggerConditions conditions) { |
bundle.putBoolean(POWER_CONNECTED_TAG, conditions.requirePowerConnected()); |
@@ -38,6 +57,15 @@ public class TaskExtrasPacker { |
bundle.putBoolean(UNMETERED_NETWORK_TAG, conditions.requireUnmeteredNetwork()); |
} |
+ /** Puts trigger conditions into the input bundle. */ |
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP_MR1) |
+ public static void packTriggerConditionsInBundle( |
+ PersistableBundle bundle, TriggerConditions conditions) { |
+ bundle.putBoolean(POWER_CONNECTED_TAG, conditions.requirePowerConnected()); |
+ bundle.putInt(BATTERY_PERCENTAGE_TAG, conditions.getMinimumBatteryPercentage()); |
+ bundle.putBoolean(UNMETERED_NETWORK_TAG, conditions.requireUnmeteredNetwork()); |
+ } |
+ |
/** Extracts the trigger conditions we put into the bundle. */ |
public static TriggerConditions unpackTriggerConditionsFromBundle(Bundle bundle) { |
boolean requirePowerConnected = bundle.getBoolean(POWER_CONNECTED_TAG, true); |
@@ -46,4 +74,14 @@ public class TaskExtrasPacker { |
return new TriggerConditions( |
requirePowerConnected, minimumBatteryPercentage, requireUnmeteredNetwork); |
} |
+ |
+ /** Extracts the trigger conditions we put into the bundle. */ |
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP_MR1) |
+ public static TriggerConditions unpackTriggerConditionsFromBundle(PersistableBundle bundle) { |
+ boolean requirePowerConnected = bundle.getBoolean(POWER_CONNECTED_TAG, true); |
+ int minimumBatteryPercentage = bundle.getInt(BATTERY_PERCENTAGE_TAG, 100); |
+ boolean requireUnmeteredNetwork = bundle.getBoolean(UNMETERED_NETWORK_TAG, true); |
+ return new TriggerConditions( |
+ requirePowerConnected, minimumBatteryPercentage, requireUnmeteredNetwork); |
+ } |
} |