Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1903)

Unified Diff: device/battery/android/java/src/org/chromium/device/battery/BatteryStatusManager.java

Issue 1130253012: [Android] Make BatteryStatusManagerTest compilable on M (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove unused mAndroidBatteryManager field Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | device/battery/android/javatests/src/org/chromium/device/battery/BatteryStatusManagerTest.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: device/battery/android/java/src/org/chromium/device/battery/BatteryStatusManager.java
diff --git a/device/battery/android/java/src/org/chromium/device/battery/BatteryStatusManager.java b/device/battery/android/java/src/org/chromium/device/battery/BatteryStatusManager.java
index 10a9fc9f818624f71e00539d93c6787d9cd8ad99..09baef9f755d6cf8e9ffbcb9973a3634f95361cb 100644
--- a/device/battery/android/java/src/org/chromium/device/battery/BatteryStatusManager.java
+++ b/device/battery/android/java/src/org/chromium/device/battery/BatteryStatusManager.java
@@ -45,18 +45,31 @@ class BatteryStatusManager {
// This is to workaround a Galaxy Nexus bug, see the comment in the constructor.
private final boolean mIgnoreBatteryPresentState;
- // Only used in L (API level 21 and higher).
- private BatteryManager mLollipopBatteryManager;
+ // Only used in L (API level 21) and higher.
+ private AndroidBatteryManagerWrapper mAndroidBatteryManager;
private boolean mEnabled = false;
- private BatteryStatusManager(
- Context context, BatteryStatusCallback callback, boolean ignoreBatteryPresentState,
- @Nullable BatteryManager batteryManager) {
+ @VisibleForTesting
+ static class AndroidBatteryManagerWrapper {
+ private final BatteryManager mBatteryManager;
+
+ protected AndroidBatteryManagerWrapper(BatteryManager batteryManager) {
+ mBatteryManager = batteryManager;
+ }
+
+ public int getIntProperty(int id) {
+ return mBatteryManager.getIntProperty(id);
+ }
+ }
+
+ private BatteryStatusManager(Context context, BatteryStatusCallback callback,
+ boolean ignoreBatteryPresentState,
+ @Nullable AndroidBatteryManagerWrapper batteryManager) {
mAppContext = context.getApplicationContext();
mCallback = callback;
mIgnoreBatteryPresentState = ignoreBatteryPresentState;
- mLollipopBatteryManager = batteryManager;
+ mAndroidBatteryManager = batteryManager;
}
BatteryStatusManager(Context context, BatteryStatusCallback callback) {
@@ -64,7 +77,8 @@ class BatteryStatusManager {
// Android 4.2.1, it always reports false. See http://crbug.com/384348.
this(context, callback, Build.MODEL.equals("Galaxy Nexus"),
Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP
- ? (BatteryManager) context.getSystemService(Context.BATTERY_SERVICE)
+ ? new AndroidBatteryManagerWrapper(
+ (BatteryManager) context.getSystemService(Context.BATTERY_SERVICE))
: null);
}
@@ -72,10 +86,8 @@ class BatteryStatusManager {
* Creates a BatteryStatusManager without the Galaxy Nexus workaround for consistency in
* testing.
*/
- static BatteryStatusManager createBatteryStatusManagerForTesting(
- Context context,
- BatteryStatusCallback callback,
- @Nullable BatteryManager batteryManager) {
+ static BatteryStatusManager createBatteryStatusManagerForTesting(Context context,
+ BatteryStatusCallback callback, @Nullable AndroidBatteryManagerWrapper batteryManager) {
return new BatteryStatusManager(context, callback, false, batteryManager);
}
@@ -143,7 +155,7 @@ class BatteryStatusManager {
batteryStatus.dischargingTime = dischargingTimeSeconds;
batteryStatus.level = level;
- if (mLollipopBatteryManager != null) {
+ if (mAndroidBatteryManager != null) {
updateBatteryStatusForLollipop(batteryStatus);
}
@@ -152,14 +164,14 @@ class BatteryStatusManager {
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void updateBatteryStatusForLollipop(BatteryStatus batteryStatus) {
- assert mLollipopBatteryManager != null;
+ assert mAndroidBatteryManager != null;
// On Lollipop we can provide a better estimate for chargingTime and dischargingTime.
- double remainingCapacityRatio = mLollipopBatteryManager.getIntProperty(
+ double remainingCapacityRatio = mAndroidBatteryManager.getIntProperty(
BatteryManager.BATTERY_PROPERTY_CAPACITY) / 100.0;
- double batteryCapacityMicroAh = mLollipopBatteryManager.getIntProperty(
+ double batteryCapacityMicroAh = mAndroidBatteryManager.getIntProperty(
BatteryManager.BATTERY_PROPERTY_CHARGE_COUNTER);
- double averageCurrentMicroA = mLollipopBatteryManager.getIntProperty(
+ double averageCurrentMicroA = mAndroidBatteryManager.getIntProperty(
BatteryManager.BATTERY_PROPERTY_CURRENT_AVERAGE);
if (batteryStatus.charging) {
« no previous file with comments | « no previous file | device/battery/android/javatests/src/org/chromium/device/battery/BatteryStatusManagerTest.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698