Merge "Support wireless charge state" into sc-dev

This commit is contained in:
Wesley Wang
2021-04-09 03:09:15 +00:00
committed by Android (Google) Code Review
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));
}
}