| Index: chrome/android/java/src/org/chromium/chrome/browser/precache/PrecacheController.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/precache/PrecacheController.java b/chrome/android/java/src/org/chromium/chrome/browser/precache/PrecacheController.java
|
| index 0b8a6d52f322e217a4fbc7a2bbbd2d7994909ae8..ecef5a85f0c9eab676687182f973afa93ab0c841 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/precache/PrecacheController.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/precache/PrecacheController.java
|
| @@ -369,6 +369,7 @@ public class PrecacheController {
|
| recordPeriodicTaskIntervalHistogram();
|
| cancelPrecacheCompletionTask(mAppContext);
|
| }
|
| + recordBatteryLevelAtStart();
|
| registerDeviceStateReceiver();
|
| acquirePrecachingWakeLock();
|
| startPrecachingAfterSyncInit();
|
| @@ -439,6 +440,7 @@ public class PrecacheController {
|
| if (precachingIncomplete) {
|
| schedulePrecacheCompletionTask(mAppContext);
|
| }
|
| + recordBatteryLevelAtEnd();
|
| mHandler.removeCallbacks(mTimeoutRunnable);
|
| mAppContext.unregisterReceiver(mDeviceStateReceiver);
|
| releasePrecachingWakeLock();
|
| @@ -543,4 +545,21 @@ public class PrecacheController {
|
| .putLong(PREF_PRECACHE_PERIODIC_TASK_START_TIME_MS, current_start_time_ms)
|
| .apply();
|
| }
|
| +
|
| + private void recordBatteryLevelAtStart() {
|
| + mDeviceState.saveCurrentBatteryPercentage(mAppContext);
|
| +
|
| + // Report battery percentage.
|
| + RecordHistogram.recordPercentageHistogram(
|
| + "Precache.BatteryPercentage.Start", mDeviceState.getSavedBatteryPercentage());
|
| + }
|
| +
|
| + private void recordBatteryLevelAtEnd() {
|
| + int delta_percentage = mDeviceState.getCurrentBatteryPercentage(mAppContext)
|
| + - mDeviceState.getSavedBatteryPercentage();
|
| + if (delta_percentage >= 0) {
|
| + RecordHistogram.recordPercentageHistogram(
|
| + "Precache.BatteryPercentageDiff.End", delta_percentage);
|
| + }
|
| + }
|
| }
|
|
|