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
diff --git a/packages/SettingsLib/src/com/android/settingslib/Utils.java b/packages/SettingsLib/src/com/android/settingslib/Utils.java
index f6e3557..4b7fb1b 100644
--- a/packages/SettingsLib/src/com/android/settingslib/Utils.java
+++ b/packages/SettingsLib/src/com/android/settingslib/Utils.java
@@ -194,9 +194,11 @@
* @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 @@
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(
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 62de66e..4e38174 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/UtilsTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/UtilsTest.java
@@ -320,7 +320,7 @@
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 @@
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 @@
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 @@
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));
+ }
}