Merge "Revise strings for the NFC developer option" am: 8dd6ce02d8 am: 476c3dc62a am: b664dbe93f
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1762584
Change-Id: Ic56026cffaa57fa4cc8a66c65f34ac833e30a624
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 3450665..7d6745c 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -1529,8 +1529,6 @@
<!-- An allowlist which packages won't show summary in battery usage screen.
[CHAR LIMIT=NONE] -->
<string-array name="allowlist_hide_summary_in_battery_usage" translatable="false">
- <!-- Google -->
- <item>"com.google.android.googlequicksearchbox"</item>
</string-array>
<!-- An allowlist which packages won't show entry in battery usage screen.
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 1eece45..81c8194 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -5260,6 +5260,8 @@
<string name="accessibility_captioning_title">Caption preferences</string>
<!-- Title for the accessibility preference screen to enable screen magnification. [CHAR LIMIT=35] -->
<string name="accessibility_screen_magnification_title">Magnification</string>
+ <!-- Title for accessibility shortcut preference for magnification. [CHAR LIMIT=60] -->
+ <string name="accessibility_screen_magnification_shortcut_title">Magnification shortcut</string>
<!-- Title for the accessibility preference screen to edit magnification area. [CHAR LIMIT=35] -->
<string name="accessibility_magnification_mode_title">Magnification type</string>
<!-- Message for the accessibility preference screen to edit magnification area dialog. [CHAR LIMIT=none] -->
@@ -5482,6 +5484,8 @@
<string name="accessibility_display_inversion_preference_title">Color inversion</string>
<!-- Used in the accessibility service settings to control turning display color inversion on/off entirely. [CHAR LIMIT=NONE] -->
<string name="accessibility_display_inversion_switch_title">Use color inversion</string>
+ <!-- Title for accessibility shortcut preference for color inversion. [CHAR LIMIT=60] -->
+ <string name="accessibility_display_inversion_shortcut_title">Color inversion shortcut</string>
<!-- Subtitle for the accessibility preference to configure display color inversion. [CHAR LIMIT=NONE] -->
<string name="accessibility_display_inversion_preference_subtitle">
<![CDATA[Color inversion turns light screens dark.<br/><br/>
@@ -5533,6 +5537,8 @@
<string name="accessibility_service_primary_open_title">Open <xliff:g id="accessibility_app_name" example="TalkBack">%1$s</xliff:g></string>
<!-- Used in the Color correction settings screen to control turning on/off the feature entirely [CHAR LIMIT=60] -->
<string name="accessibility_daltonizer_primary_switch_title">Use color correction</string>
+ <!-- Title for accessibility shortcut preference for color correction. [CHAR LIMIT=60] -->
+ <string name="accessibility_daltonizer_shortcut_title">Color correction shortcut</string>
<!-- Title for Captions settings screen to control turning on/off the feature entirely [CHAR LIMIT=60] -->
<string name="accessibility_caption_primary_switch_title">Show captions</string>
<!-- Summary for Captions settings screen to control turning on/off the feature entirely [CHAR LIMIT=NONE] -->
@@ -5612,6 +5618,8 @@
<string name="reduce_bright_colors_preference_title">Extra dim</string>
<!-- Title for the activation switch of the Reduce Brightness feature. [CHAR LIMIT=NONE] -->
<string name="reduce_bright_colors_switch_title">Make screen extra dim</string>
+ <!-- Title for accessibility shortcut preference for Reduce Brightness. [CHAR LIMIT=60] -->
+ <string name="reduce_bright_colors_shortcut_title">Extra dim shortcut</string>
<!-- Summary for the accessibility preference to configure Reduce Brightness feature. [CHAR LIMIT=NONE] -->
<string name="reduce_bright_colors_preference_summary" product="default">Dim screen beyond your phone\u2019s minimum brightness</string>
<!-- Summary for the accessibility preference to configure Reduce Brightness feature. [CHAR LIMIT=NONE] -->
diff --git a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
index 9349071..0e209aa 100644
--- a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
@@ -55,7 +55,6 @@
import com.android.settings.R;
import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
import com.android.settings.password.ConfirmDeviceCredentialActivity;
-import com.android.settings.widget.SettingsMainSwitchPreference;
import com.android.settingslib.accessibility.AccessibilityUtils;
import java.util.List;
@@ -222,15 +221,6 @@
}
@Override
- protected void updateToggleServiceTitle(SettingsMainSwitchPreference switchPreference) {
- final AccessibilityServiceInfo info = getAccessibilityServiceInfo();
- final String switchBarText = (info == null) ? "" :
- getString(R.string.accessibility_service_primary_switch_title,
- info.getResolveInfo().loadLabel(getPackageManager()));
- switchPreference.setTitle(switchBarText);
- }
-
- @Override
protected void updateSwitchBarToggleSwitch() {
final boolean checked = isAccessibilityServiceEnabled();
if (mToggleServiceSwitchPreference.isChecked() == checked) {
diff --git a/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
index b41bafd..e060785 100644
--- a/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
@@ -73,6 +73,11 @@
}
@Override
+ protected void updateShortcutTitle(ShortcutPreference shortcutPreference) {
+ shortcutPreference.setTitle(R.string.accessibility_display_inversion_shortcut_title);
+ }
+
+ @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mComponentName = COLOR_INVERSION_COMPONENT_NAME;
diff --git a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
index 4bcf478..7cf57b9 100644
--- a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
@@ -168,6 +168,11 @@
}
@Override
+ protected void updateShortcutTitle(ShortcutPreference shortcutPreference) {
+ shortcutPreference.setTitle(R.string.accessibility_daltonizer_shortcut_title);
+ }
+
+ @Override
int getUserShortcutTypes() {
return AccessibilityUtil.getUserShortcutTypesFromSettings(getPrefContext(),
mComponentName);
diff --git a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
index 510f8d3..1c807eb 100644
--- a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
@@ -284,7 +284,14 @@
abstract int getUserShortcutTypes();
protected void updateToggleServiceTitle(SettingsMainSwitchPreference switchPreference) {
- switchPreference.setTitle(R.string.accessibility_service_primary_switch_title);
+ final CharSequence title =
+ getString(R.string.accessibility_service_primary_switch_title, mPackageName);
+ switchPreference.setTitle(title);
+ }
+
+ protected void updateShortcutTitle(ShortcutPreference shortcutPreference) {
+ final CharSequence title = getString(R.string.accessibility_shortcut_title, mPackageName);
+ shortcutPreference.setTitle(title);
}
protected abstract void onPreferenceToggled(String preferenceKey, boolean enabled);
@@ -434,8 +441,7 @@
mShortcutPreference.setKey(getShortcutPreferenceKey());
mShortcutPreference.setOnClickCallback(this);
- final CharSequence title = getString(R.string.accessibility_shortcut_title, mPackageName);
- mShortcutPreference.setTitle(title);
+ updateShortcutTitle(mShortcutPreference);
final PreferenceCategory generalCategory = findPreference(KEY_GENERAL_CATEGORY);
generalCategory.addPreference(mShortcutPreference);
diff --git a/src/com/android/settings/accessibility/ToggleReduceBrightColorsPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleReduceBrightColorsPreferenceFragment.java
index e60751e..6fd2e1d 100644
--- a/src/com/android/settings/accessibility/ToggleReduceBrightColorsPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleReduceBrightColorsPreferenceFragment.java
@@ -155,6 +155,11 @@
}
@Override
+ protected void updateShortcutTitle(ShortcutPreference shortcutPreference) {
+ shortcutPreference.setTitle(R.string.reduce_bright_colors_shortcut_title);
+ }
+
+ @Override
int getUserShortcutTypes() {
return AccessibilityUtil.getUserShortcutTypesFromSettings(getPrefContext(),
mComponentName);
diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
index 9266f72..6b02f04 100644
--- a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
@@ -397,6 +397,11 @@
}
@Override
+ protected void updateShortcutTitle(ShortcutPreference shortcutPreference) {
+ shortcutPreference.setTitle(R.string.accessibility_screen_magnification_shortcut_title);
+ }
+
+ @Override
protected void updateShortcutPreference() {
final int shortcutTypes = PreferredShortcuts.retrieveUserShortcutType(getPrefContext(),
MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.SOFTWARE);
diff --git a/src/com/android/settings/fuelgauge/BatteryEntry.java b/src/com/android/settings/fuelgauge/BatteryEntry.java
index 0478c8b..5c9d071 100644
--- a/src/com/android/settings/fuelgauge/BatteryEntry.java
+++ b/src/com/android/settings/fuelgauge/BatteryEntry.java
@@ -572,7 +572,8 @@
name = context.getResources().getString(R.string.process_kernel_label);
} else if ("mediaserver".equals(name)) {
name = context.getResources().getString(R.string.process_mediaserver_label);
- } else if ("dex2oat".equals(name)) {
+ } else if ("dex2oat".equals(name) || "dex2oat32".equals(name) ||
+ "dex2oat64".equals(name)) {
name = context.getResources().getString(R.string.process_dex2oat_label);
}
return new NameAndIcon(name, icon, 0 /* iconId */);
diff --git a/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java b/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java
index 7c69618..afbb71f 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java
@@ -19,8 +19,11 @@
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
+import android.database.ContentObserver;
+import android.net.Uri;
import android.os.BatteryManager;
import android.os.Bundle;
+import android.os.Handler;
import android.provider.SearchIndexableResource;
import android.util.Log;
@@ -31,6 +34,7 @@
import com.android.settings.R;
import com.android.settings.SettingsActivity;
+import com.android.settings.fuelgauge.BatteryBroadcastReceiver;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.core.AbstractPreferenceController;
@@ -63,6 +67,17 @@
private BatteryChartPreferenceController mBatteryChartPreferenceController;
private BatteryAppListPreferenceController mBatteryAppListPreferenceController;
+ private final ContentObserver mBatteryObserver =
+ new ContentObserver(new Handler()) {
+ @Override
+ public void onChange(boolean selfChange) {
+ Log.d(TAG, "onBatteryContentChange: " + selfChange);
+ mIsChartDataLoaded = false;
+ restartBatteryStatsLoader(
+ BatteryBroadcastReceiver.BatteryUpdateType.MANUAL);
+ }
+ };
+
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
@@ -104,6 +119,20 @@
super.onPause();
// Resets the flag to reload usage data in onResume() callback.
mIsChartDataLoaded = false;
+ final Uri uri = mPowerUsageFeatureProvider.getBatteryHistoryUri();
+ if (uri != null) {
+ getContext().getContentResolver().unregisterContentObserver(mBatteryObserver);
+ }
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ final Uri uri = mPowerUsageFeatureProvider.getBatteryHistoryUri();
+ if (uri != null) {
+ getContext().getContentResolver().registerContentObserver(
+ uri, /*notifyForDescendants*/ true, mBatteryObserver);
+ }
}
@Override
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
index 61abe6b..d914825 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
@@ -18,6 +18,7 @@
import android.content.Context;
import android.content.Intent;
+import android.net.Uri;
import android.util.SparseIntArray;
import com.android.internal.os.BatterySipper;
@@ -141,4 +142,9 @@
* Returns battery history data with corresponding timestamp key.
*/
Map<Long, Map<String, BatteryHistEntry>> getBatteryHistory(Context context);
+
+ /**
+ * Returns {@link Uri} to monitor battery history data is update.
+ */
+ Uri getBatteryHistoryUri();
}
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
index 1dcdab0..895bbb2 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
@@ -19,6 +19,7 @@
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
+import android.net.Uri;
import android.os.Process;
import android.util.SparseIntArray;
@@ -167,4 +168,9 @@
public Map<Long, Map<String, BatteryHistEntry>> getBatteryHistory(Context context) {
return null;
}
+
+ @Override
+ public Uri getBatteryHistoryUri() {
+ return null;
+ }
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryAppListPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryAppListPreferenceControllerTest.java
index 1faa75f..c3b3075 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryAppListPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryAppListPreferenceControllerTest.java
@@ -25,6 +25,7 @@
import android.content.Context;
import android.content.pm.PackageManager;
+import android.content.res.Resources;
import android.os.UserManager;
import android.text.format.DateUtils;
@@ -72,11 +73,14 @@
MockitoAnnotations.initMocks(this);
mContext = spy(RuntimeEnvironment.application);
+ final Resources resources = spy(mContext.getResources());
+ when(mContext.getResources()).thenReturn(resources);
when(mContext.getPackageManager()).thenReturn(mPackageManager);
when(mContext.getApplicationContext()).thenReturn(mContext);
when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
when(mUserManager.getProfileIdsWithDisabled(anyInt())).thenReturn(new int[] {});
-
+ when(resources.getTextArray(R.array.allowlist_hide_summary_in_battery_usage))
+ .thenReturn(new String[] {"com.android.googlequicksearchbox"});
FakeFeatureFactory.setupForTest();
mPreference = new PowerGaugePreference(mContext);
@@ -119,7 +123,7 @@
public void testSetUsageSummary_timeMoreThanOneMinute_GoogleApp_shouldNotSetScreenSummary() {
when(mBatteryEntry.getTimeInForegroundMs()).thenReturn(2 * DateUtils.MINUTE_IN_MILLIS);
when(mBatteryEntry.getDefaultPackageName())
- .thenReturn("com.google.android.googlequicksearchbox");
+ .thenReturn("com.android.googlequicksearchbox");
doReturn(mContext.getText(R.string.battery_used_for)).when(mFragment).getText(
R.string.battery_used_for);
doReturn(mContext).when(mFragment).getContext();
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryChartPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryChartPreferenceControllerTest.java
index ef76eee..fd4e82d 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryChartPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryChartPreferenceControllerTest.java
@@ -101,8 +101,11 @@
mFeatureFactory = FakeFeatureFactory.setupForTest();
mMetricsFeatureProvider = mFeatureFactory.metricsFeatureProvider;
mContext = spy(RuntimeEnvironment.application);
- mContext.getResources().getConfiguration().setLocales(
- new LocaleList(new Locale("en_US")));
+ final Resources resources = spy(mContext.getResources());
+ resources.getConfiguration().setLocales(new LocaleList(new Locale("en_US")));
+ doReturn(resources).when(mContext).getResources();
+ doReturn(new String[] {"com.android.googlequicksearchbox"})
+ .when(resources).getTextArray(R.array.allowlist_hide_summary_in_battery_usage);
mBatteryChartPreferenceController = createController();
mBatteryChartPreferenceController.mPrefContext = mContext;
mBatteryChartPreferenceController.mAppListPrefGroup = mAppListGroup;
@@ -467,7 +470,7 @@
spy(createBatteryDiffEntry(
/*foregroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS,
/*backgroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS));
- doReturn("com.google.android.googlequicksearchbox").when(batteryDiffEntry)
+ doReturn("com.android.googlequicksearchbox").when(batteryDiffEntry)
.getPackageName();
mBatteryChartPreferenceController.setPreferenceSummary(pref, batteryDiffEntry);
@@ -678,7 +681,7 @@
// Verifies the item which is defined in the array list.
assertThat(mBatteryChartPreferenceController
- .isValidToShowSummary("com.google.android.googlequicksearchbox"))
+ .isValidToShowSummary("com.android.googlequicksearchbox"))
.isFalse();
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java
index 96f0ec7..c1b1761 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryEntryTest.java
@@ -22,6 +22,7 @@
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
import android.content.Context;
@@ -36,6 +37,7 @@
import android.os.UserManager;
import com.android.settings.R;
+import com.android.settings.fuelgauge.BatteryEntry.NameAndIcon;
import org.junit.Before;
import org.junit.Rule;
@@ -64,6 +66,7 @@
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mMockContext;
+ private Context mContext;
@Mock private Handler mockHandler;
@Mock private PackageManager mockPackageManager;
@Mock private UserManager mockUserManager;
@@ -71,6 +74,7 @@
@Before
public void stubContextToReturnMockPackageManager() {
+ mContext = spy(RuntimeEnvironment.application);
when(mMockContext.getPackageManager()).thenReturn(mockPackageManager);
}
@@ -248,4 +252,77 @@
final String key = entry.getKey();
assertThat(key).isEqualTo("U|2");
}
+
+ @Test
+ public void getNameAndIconFromUserId_nullUserInfo_returnDefaultNameAndIcon() {
+ final int userId = 1001;
+ doReturn(mockUserManager).when(mContext).getSystemService(UserManager.class);
+ doReturn(null).when(mockUserManager).getUserInfo(userId);
+
+ final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUserId(
+ mContext, userId);
+ assertThat(nameAndIcon.name).isEqualTo(getString(
+ R.string.running_process_item_removed_user_label));
+ assertThat(nameAndIcon.icon).isNull();
+ }
+
+ @Test
+ public void getNameAndIconFromUid_rerturnExpectedName() {
+ final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUid(
+ mContext, /* name */ null, /* uid */ 0);
+ assertThat(nameAndIcon.name).isEqualTo(getString(R.string.process_kernel_label));
+
+ assertNameAndIcon("mediaserver", R.string.process_mediaserver_label);
+ assertNameAndIcon("dex2oat32", R.string.process_dex2oat_label);
+ assertNameAndIcon("dex2oat64", R.string.process_dex2oat_label);
+ assertNameAndIcon("dex2oat", R.string.process_dex2oat_label);
+ }
+
+ @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_BLUETOOTH,
+ R.string.power_bluetooth,
+ com.android.internal.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_WIFI,
+ R.string.power_wifi,
+ R.drawable.ic_settings_wireless);
+ assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_IDLE,
+ R.string.power_idle,
+ R.drawable.ic_settings_phone_idle);
+ }
+
+ private void assertNameAndIcon(String name, int stringId) {
+ final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUid(
+ mContext, name, /* uid */ 1000);
+ assertThat(nameAndIcon.name).isEqualTo(getString(stringId));
+ }
+
+ private void assertNameAndIcon(int powerComponentId, int stringId, int iconId) {
+ final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromPowerComponent(
+ mContext, powerComponentId);
+ assertThat(nameAndIcon.name).isEqualTo(getString(stringId));
+ assertThat(nameAndIcon.iconId).isEqualTo(iconId);
+ }
+
+ private String getString(int stringId) {
+ return mContext.getResources().getString(stringId);
+ }
}