Fix b/266045288: CPU and GPS usage is missing in battery usage system list
Already asked UX designer to provide new icons for CPU and GPS in
b/265364507.
Bug: 266045288
Fix: 266045288
Test: manual
Change-Id: Ia59c92de817958231d26c8839bc403be9ec5ad7c
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 3fec86b..337455d 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -5028,10 +5028,14 @@
<!-- Label for power consumed by the screen -->
<string name="power_screen">Screen</string>
+ <!-- Label for power consumed by the CPU -->
+ <string name="power_cpu">CPU</string>
<!-- Label for power consumed by the flashlight -->
<string name="power_flashlight">Flashlight</string>
<!-- Label for power consumed by the camera -->
<string name="power_camera">Camera</string>
+ <!-- Label for power consumed by the GPS -->
+ <string name="power_gps">GPS</string>
<!-- Label for power consumed by Wi-Fi -->
<string name="power_wifi">Wi\u2011Fi</string>
<!-- Label for power consumed by Bluetooth -->
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
index acf62c2..69b57ca 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
@@ -558,38 +558,47 @@
String name;
int iconId;
switch (powerComponentId) {
- case BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY:
- name = context.getResources().getString(R.string.ambient_display_screen_title);
- iconId = R.drawable.ic_settings_aod;
- break;
- case BatteryConsumer.POWER_COMPONENT_BLUETOOTH:
- name = context.getResources().getString(R.string.power_bluetooth);
- iconId = R.drawable.ic_settings_bluetooth;
- break;
- case BatteryConsumer.POWER_COMPONENT_CAMERA:
- name = context.getResources().getString(R.string.power_camera);
- iconId = R.drawable.ic_settings_camera;
- break;
- case BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO:
- name = context.getResources().getString(R.string.power_cell);
- iconId = R.drawable.ic_cellular_1_bar;
- break;
- case BatteryConsumer.POWER_COMPONENT_FLASHLIGHT:
- name = context.getResources().getString(R.string.power_flashlight);
- iconId = R.drawable.ic_settings_display;
- break;
- case BatteryConsumer.POWER_COMPONENT_PHONE:
- name = context.getResources().getString(R.string.power_phone);
- iconId = R.drawable.ic_settings_voice_calls;
- break;
- case BatteryConsumer.POWER_COMPONENT_SCREEN:
+ // Please see go/battery-usage-system-component-map
+ case BatteryConsumer.POWER_COMPONENT_SCREEN: // id: 0
name = context.getResources().getString(R.string.power_screen);
iconId = R.drawable.ic_settings_display;
break;
- case BatteryConsumer.POWER_COMPONENT_WIFI:
+ case BatteryConsumer.POWER_COMPONENT_CPU: // id: 1
+ name = context.getResources().getString(R.string.power_cpu);
+ iconId = R.drawable.ic_power_system;
+ break;
+ case BatteryConsumer.POWER_COMPONENT_BLUETOOTH: // id: 2
+ name = context.getResources().getString(R.string.power_bluetooth);
+ iconId = R.drawable.ic_settings_bluetooth;
+ break;
+ case BatteryConsumer.POWER_COMPONENT_CAMERA: // id: 3
+ name = context.getResources().getString(R.string.power_camera);
+ iconId = R.drawable.ic_settings_camera;
+ break;
+ case BatteryConsumer.POWER_COMPONENT_FLASHLIGHT: // id: 6
+ name = context.getResources().getString(R.string.power_flashlight);
+ iconId = R.drawable.ic_settings_display;
+ break;
+ case BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO: // id: 8
+ name = context.getResources().getString(R.string.power_cell);
+ iconId = R.drawable.ic_cellular_1_bar;
+ break;
+ case BatteryConsumer.POWER_COMPONENT_GNSS: // id: 10
+ name = context.getResources().getString(R.string.power_gps);
+ iconId = R.drawable.ic_power_system;
+ break;
+ case BatteryConsumer.POWER_COMPONENT_WIFI: // id: 11
name = context.getResources().getString(R.string.power_wifi);
iconId = R.drawable.ic_settings_wireless_no_theme;
break;
+ case BatteryConsumer.POWER_COMPONENT_PHONE: // id: 14
+ name = context.getResources().getString(R.string.power_phone);
+ iconId = R.drawable.ic_settings_voice_calls;
+ break;
+ case BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY: // id :15
+ name = context.getResources().getString(R.string.ambient_display_screen_title);
+ iconId = R.drawable.ic_settings_aod;
+ break;
default:
Log.w(TAG, "unknown attribute:" + DebugUtils.constantToString(
BatteryConsumer.class, "POWER_COMPONENT_", powerComponentId));
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
index 07a8dfe..6a5ae34 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
@@ -317,30 +317,36 @@
@Test
public void getNameAndIconFromPowerComponent_rerturnExpectedNameAndIcon() {
- assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY,
- R.string.ambient_display_screen_title,
- R.drawable.ic_settings_aod);
+ assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_SCREEN,
+ R.string.power_screen,
+ R.drawable.ic_settings_display);
+ assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_CPU,
+ R.string.power_cpu,
+ R.drawable.ic_power_system);
assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_BLUETOOTH,
R.string.power_bluetooth,
R.drawable.ic_settings_bluetooth);
assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_CAMERA,
R.string.power_camera,
R.drawable.ic_settings_camera);
- assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO,
- R.string.power_cell,
- R.drawable.ic_cellular_1_bar);
assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_FLASHLIGHT,
R.string.power_flashlight,
R.drawable.ic_settings_display);
- assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_PHONE,
- R.string.power_phone,
- R.drawable.ic_settings_voice_calls);
- assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_SCREEN,
- R.string.power_screen,
- R.drawable.ic_settings_display);
+ assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO,
+ R.string.power_cell,
+ R.drawable.ic_cellular_1_bar);
+ assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_GNSS,
+ R.string.power_gps,
+ R.drawable.ic_power_system);
assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_WIFI,
R.string.power_wifi,
R.drawable.ic_settings_wireless_no_theme);
+ assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_PHONE,
+ R.string.power_phone,
+ R.drawable.ic_settings_voice_calls);
+ assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY,
+ R.string.ambient_display_screen_title,
+ R.drawable.ic_settings_aod);
}
private void assertNameAndIcon(String name, int stringId) {