Refactor compact battery status method (2/2)

- Add new arg to make getBatteryStatus() support compact status request

Bug: 219650786
Test: make SettingsLibRoboTests
Change-Id: Id7e10f47b98f19ed003cf554b2f8a7e375f37385
This commit is contained in:
Wesley Wang
2022-02-16 14:54:44 +08:00
parent 038fd80ce8
commit 1c92783e96
2 changed files with 32 additions and 6 deletions

View File

@@ -194,9 +194,11 @@ public class Utils {
* @param context the context
* @param batteryChangedIntent battery broadcast intent received from {@link
* Intent.ACTION_BATTERY_CHANGED}.
* @param compactStatus to present compact battery charging string if {@code true}
* @return battery status string
*/
public static String getBatteryStatus(Context context, Intent batteryChangedIntent) {
public static String getBatteryStatus(Context context, Intent batteryChangedIntent,
boolean compactStatus) {
final int status = batteryChangedIntent.getIntExtra(BatteryManager.EXTRA_STATUS,
BatteryManager.BATTERY_STATUS_UNKNOWN);
final Resources res = context.getResources();
@@ -208,7 +210,9 @@ public class Utils {
statusString = res.getString(R.string.battery_info_status_full);
} else {
if (status == BatteryManager.BATTERY_STATUS_CHARGING) {
if (batteryStatus.isPluggedInWired()) {
if (compactStatus) {
statusString = res.getString(R.string.battery_info_status_charging);
} else if (batteryStatus.isPluggedInWired()) {
switch (batteryStatus.getChargingSpeed(context)) {
case BatteryStatus.CHARGING_FAST:
statusString = res.getString(

View File

@@ -320,7 +320,7 @@ public class UtilsTest {
final Intent intent = new Intent().putExtra(BatteryManager.EXTRA_LEVEL, 100);
final Resources resources = mContext.getResources();
assertThat(Utils.getBatteryStatus(mContext, intent)).isEqualTo(
assertThat(Utils.getBatteryStatus(mContext, intent, /* compactStatus= */ false)).isEqualTo(
resources.getString(R.string.battery_info_status_full));
}
@@ -330,7 +330,7 @@ public class UtilsTest {
BatteryManager.BATTERY_STATUS_FULL);
final Resources resources = mContext.getResources();
assertThat(Utils.getBatteryStatus(mContext, intent)).isEqualTo(
assertThat(Utils.getBatteryStatus(mContext, intent, /* compactStatus= */ false)).isEqualTo(
resources.getString(R.string.battery_info_status_full));
}
@@ -341,7 +341,7 @@ public class UtilsTest {
intent.putExtra(BatteryManager.EXTRA_PLUGGED, BatteryManager.BATTERY_PLUGGED_USB);
final Resources resources = mContext.getResources();
assertThat(Utils.getBatteryStatus(mContext, intent)).isEqualTo(
assertThat(Utils.getBatteryStatus(mContext, intent, /* compactStatus= */ false)).isEqualTo(
resources.getString(R.string.battery_info_status_charging));
}
@@ -352,7 +352,29 @@ public class UtilsTest {
intent.putExtra(BatteryManager.EXTRA_PLUGGED, BatteryManager.BATTERY_PLUGGED_WIRELESS);
final Resources resources = mContext.getResources();
assertThat(Utils.getBatteryStatus(mContext, intent)).isEqualTo(
assertThat(Utils.getBatteryStatus(mContext, intent, /* compactStatus= */ false)).isEqualTo(
resources.getString(R.string.battery_info_status_charging_wireless));
}
@Test
public void getBatteryStatus_chargingAndUseCompactStatus_returnCompactString() {
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, /* compactStatus= */ true)).isEqualTo(
resources.getString(R.string.battery_info_status_charging));
}
@Test
public void getBatteryStatus_chargingWirelessAndUseCompactStatus_returnCompactString() {
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, /* compactStatus= */ true)).isEqualTo(
resources.getString(R.string.battery_info_status_charging));
}
}