Provide isWirelessCharging() in BatteryController
Bug: 154196506
Change-Id: I9b1572653b1f704c606cd262ca4e51a6012333f0
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java
index a81189e..21e2e58 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java
@@ -53,6 +53,11 @@
boolean isAodPowerSave();
/**
+ * Returns {@code true} if the device is currently in wireless charging mode.
+ */
+ default boolean isWirelessCharging() { return false; }
+
+ /**
* Returns {@code true} if reverse is supported.
*/
default boolean isReverseSupported() { return false; }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java
index 748d37e..98d0146 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java
@@ -73,6 +73,7 @@
private boolean mCharged;
protected boolean mPowerSave;
private boolean mAodPowerSave;
+ protected boolean mWirelessCharging;
private boolean mTestmode = false;
private boolean mHasReceivedBattery = false;
private Estimate mEstimate;
@@ -150,6 +151,8 @@
BatteryManager.BATTERY_STATUS_UNKNOWN);
mCharged = status == BatteryManager.BATTERY_STATUS_FULL;
mCharging = mCharged || status == BatteryManager.BATTERY_STATUS_CHARGING;
+ mWirelessCharging = mCharging && intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0)
+ == BatteryManager.BATTERY_PLUGGED_WIRELESS;
fireBatteryLevelChanged();
} else if (action.equals(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED)) {
@@ -205,6 +208,11 @@
}
@Override
+ public boolean isWirelessCharging() {
+ return mWirelessCharging;
+ }
+
+ @Override
public void getEstimatedTimeRemainingString(EstimateFetchCompletion completion) {
// Need to fetch or refresh the estimate, but it may involve binder calls so offload the
// work