diff --git a/src/com/android/settings/applications/manageapplications/ManageApplications.java b/src/com/android/settings/applications/manageapplications/ManageApplications.java index ee66b12d83a..6315ab12287 100644 --- a/src/com/android/settings/applications/manageapplications/ManageApplications.java +++ b/src/com/android/settings/applications/manageapplications/ManageApplications.java @@ -952,6 +952,7 @@ public class ManageApplications extends InstrumentedFragment mContext = manageApplications.getActivity(); mIconDrawableFactory = IconDrawableFactory.newInstance(mContext); mAppFilter = appFilter; + mBackend = PowerWhitelistBackend.getInstance(mContext); if (mManageApplications.mListType == LIST_TYPE_NOTIFICATION) { mExtraInfoBridge = new AppStateNotificationBridge(mContext, mState, this, manageApplications.mUsageStatsManager, diff --git a/src/com/android/settings/fuelgauge/HighPowerDetail.java b/src/com/android/settings/fuelgauge/HighPowerDetail.java index a7a9812d3d7..6448d9a2269 100644 --- a/src/com/android/settings/fuelgauge/HighPowerDetail.java +++ b/src/com/android/settings/fuelgauge/HighPowerDetail.java @@ -173,10 +173,18 @@ public class HighPowerDetail extends InstrumentedDialogFragment implements OnCli } public static CharSequence getSummary(Context context, String pkg) { - PowerWhitelistBackend powerWhitelist = PowerWhitelistBackend.getInstance(context); - return context.getString(powerWhitelist.isSysWhitelisted(pkg) ? R.string.high_power_system - : powerWhitelist.isWhitelisted(pkg) ? R.string.high_power_on - : R.string.high_power_off); + return getSummary(context, PowerWhitelistBackend.getInstance(context), pkg); + } + + @VisibleForTesting + static CharSequence getSummary(Context context, PowerWhitelistBackend powerWhitelist, + String pkg) { + return context.getString( + powerWhitelist.isSysWhitelisted(pkg) || powerWhitelist.isDefaultActiveApp(pkg) + ? R.string.high_power_system + : powerWhitelist.isWhitelisted(pkg) + ? R.string.high_power_on + : R.string.high_power_off); } public static void show(Fragment caller, int uid, String packageName, int requestCode) { diff --git a/tests/robotests/src/com/android/settings/fuelgauge/HighPowerDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/HighPowerDetailTest.java index 5716b2743e4..e613684ef01 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/HighPowerDetailTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/HighPowerDetailTest.java @@ -16,8 +16,11 @@ package com.android.settings.fuelgauge; +import static com.google.common.truth.Truth.assertThat; + import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -27,6 +30,7 @@ import android.content.Context; import android.content.DialogInterface; import com.android.internal.logging.nano.MetricsProto; +import com.android.settings.R; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settingslib.fuelgauge.PowerWhitelistBackend; @@ -46,6 +50,7 @@ public class HighPowerDetailTest { private FakeFeatureFactory mFeatureFactory; private HighPowerDetail mFragment; + private Context mContext; @Mock private PowerWhitelistBackend mPowerWhitelistBackend; @Mock @@ -56,6 +61,7 @@ public class HighPowerDetailTest { mFeatureFactory = FakeFeatureFactory.setupForTest(); MockitoAnnotations.initMocks(this); + mContext = RuntimeEnvironment.application; mFragment = spy(new HighPowerDetail()); mFragment.mBackend = mPowerWhitelistBackend; mFragment.mBatteryUtils = mBatteryUtils; @@ -84,4 +90,12 @@ public class HighPowerDetailTest { verify(mBatteryUtils).setForceAppStandby(TEST_UID, TEST_PACKAGE, AppOpsManager.MODE_ALLOWED); } + + @Test + public void getSummary_defaultActivePackage_returnUnavailable() { + doReturn(true).when(mPowerWhitelistBackend).isDefaultActiveApp(TEST_PACKAGE); + + assertThat(HighPowerDetail.getSummary(mContext, mPowerWhitelistBackend, TEST_PACKAGE)) + .isEqualTo(mContext.getString(R.string.high_power_system)); + } }