diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml
index bcc22f6605a54..dfd3d881e3928 100644
--- a/packages/SettingsLib/res/values/strings.xml
+++ b/packages/SettingsLib/res/values/strings.xml
@@ -1140,6 +1140,8 @@
Charging rapidly
Charging slowly
+
+ Charging wirelessly
Not charging
diff --git a/packages/SettingsLib/src/com/android/settingslib/Utils.java b/packages/SettingsLib/src/com/android/settingslib/Utils.java
index bf4242f542daf..f637ff86e6d2e 100644
--- a/packages/SettingsLib/src/com/android/settingslib/Utils.java
+++ b/packages/SettingsLib/src/com/android/settingslib/Utils.java
@@ -204,18 +204,23 @@ public class Utils {
statusString = res.getString(R.string.battery_info_status_full);
} else {
if (status == BatteryManager.BATTERY_STATUS_CHARGING) {
- switch (batteryStatus.getChargingSpeed(context)) {
- case BatteryStatus.CHARGING_FAST:
- statusString = res.getString(R.string.battery_info_status_charging_fast);
- break;
- case BatteryStatus.CHARGING_SLOWLY:
- statusString = res.getString(R.string.battery_info_status_charging_slow);
- break;
- default:
- statusString = res.getString(R.string.battery_info_status_charging);
- break;
+ if (batteryStatus.isPluggedInWired()) {
+ switch (batteryStatus.getChargingSpeed(context)) {
+ case BatteryStatus.CHARGING_FAST:
+ statusString = res.getString(
+ R.string.battery_info_status_charging_fast);
+ break;
+ case BatteryStatus.CHARGING_SLOWLY:
+ statusString = res.getString(
+ R.string.battery_info_status_charging_slow);
+ break;
+ default:
+ statusString = res.getString(R.string.battery_info_status_charging);
+ break;
+ }
+ } else {
+ statusString = res.getString(R.string.battery_info_status_charging_wireless);
}
-
} else if (status == BatteryManager.BATTERY_STATUS_DISCHARGING) {
statusString = res.getString(R.string.battery_info_status_discharging);
} else if (status == BatteryManager.BATTERY_STATUS_NOT_CHARGING) {
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/UtilsTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/UtilsTest.java
index 6307caf5e02b8..62de66ea56fb5 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/UtilsTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/UtilsTest.java
@@ -336,11 +336,23 @@ public class UtilsTest {
@Test
public void getBatteryStatus_batteryLevel99_returnChargingString() {
- final Intent intent = new Intent().putExtra(BatteryManager.EXTRA_STATUS,
- BatteryManager.BATTERY_STATUS_CHARGING);
+ final Intent intent = new Intent();
+ intent.putExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_CHARGING);
+ intent.putExtra(BatteryManager.EXTRA_PLUGGED, BatteryManager.BATTERY_PLUGGED_USB);
final Resources resources = mContext.getResources();
assertThat(Utils.getBatteryStatus(mContext, intent)).isEqualTo(
resources.getString(R.string.battery_info_status_charging));
}
+
+ @Test
+ public void getBatteryStatus_chargingWireless_returnWirelessChargingString() {
+ final Intent intent = new Intent();
+ intent.putExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_CHARGING);
+ intent.putExtra(BatteryManager.EXTRA_PLUGGED, BatteryManager.BATTERY_PLUGGED_WIRELESS);
+ final Resources resources = mContext.getResources();
+
+ assertThat(Utils.getBatteryStatus(mContext, intent)).isEqualTo(
+ resources.getString(R.string.battery_info_status_charging_wireless));
+ }
}