Support wireless charge state

- Add new condition for wireless charging, make getBatteryStatus can return wireless charging state

Bug: 177407113
Test: make SettingsLibRoboTests
Change-Id: I9c02f8108baa7fe4fa96e85ce1e6efadb87a47b4
This commit is contained in:
Wesley.CW Wang
2021-04-08 21:03:07 +08:00
committed by Wesley Wang
parent 2ac89c35e5
commit 270c5b62cb
3 changed files with 32 additions and 13 deletions

View File

@@ -1140,6 +1140,8 @@
<string name="battery_info_status_charging_fast">Charging rapidly</string>
<!-- [CHAR_LIMIT=20] Battery use screen. Battery status shown in chart label when charging speed is slow. -->
<string name="battery_info_status_charging_slow">Charging slowly</string>
<!-- [CHAR_LIMIT=20] Battery use screen. Battery status shown in chart label when charging wirelessly. -->
<string name="battery_info_status_charging_wireless">Charging wirelessly</string>
<!-- Battery Info screen. Value for a status item. Used for diagnostic info screens, precise translation isn't needed -->
<string name="battery_info_status_discharging">Not charging</string>
<!-- Battery Info screen. Value for a status item. Used for diagnostic info screens, precise translation isn't needed -->

View File

@@ -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) {

View File

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