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); |
+ } |
+ } |
} |