diff --git a/res/layout/search_bar_two_pane_version.xml b/res/layout/search_bar_two_pane_version.xml index 9ce220c8c5f..f98985ce46d 100644 --- a/res/layout/search_bar_two_pane_version.xml +++ b/res/layout/search_bar_two_pane_version.xml @@ -38,6 +38,6 @@ android:layout_height="wrap_content" android:paddingStart="@dimen/search_bar_title_padding_start_regular_two_pane" android:layout_gravity="start" - android:text="@string/search_menu"/> + android:text="@string/search_settings"/> \ No newline at end of file diff --git a/res/xml/app_data_usage.xml b/res/xml/app_data_usage.xml index e94c4ff4ca2..aacc1f6027c 100644 --- a/res/xml/app_data_usage.xml +++ b/res/xml/app_data_usage.xml @@ -51,6 +51,7 @@ 0) { - if (!UserHandle.isApp(mAppItem.key)) { + if ((!isSimHardwareVisible(mContext)) || !UserHandle.isApp(mAppItem.key)) { final UidDetail uidDetail = uidDetailProvider.getUidDetail(mAppItem.key, true); mIcon = uidDetail.icon; mLabel = uidDetail.label; @@ -328,6 +333,9 @@ public class AppDataUsage extends DataUsageBaseFragment implements OnPreferenceC } private void updatePrefs(boolean restrictBackground, boolean unrestrictData) { + if (!isSimHardwareVisible(mContext)) { + return; + } setBackPreferenceListAnimatorIfLoaded(); final EnforcedAdmin admin = RestrictedLockUtilsInternal.checkIfMeteredDataRestricted( mContext, mPackageName, UserHandle.getUserId(mAppItem.key)); diff --git a/src/com/android/settings/datausage/BillingCycleSettings.java b/src/com/android/settings/datausage/BillingCycleSettings.java index 57931c1b36b..baf8e7ef499 100644 --- a/src/com/android/settings/datausage/BillingCycleSettings.java +++ b/src/com/android/settings/datausage/BillingCycleSettings.java @@ -42,6 +42,7 @@ import androidx.preference.SwitchPreference; import com.android.settings.R; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; +import com.android.settings.network.SubscriptionUtil; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.NetworkPolicyEditor; import com.android.settingslib.net.DataUsageController; @@ -102,6 +103,10 @@ public class BillingCycleSettings extends DataUsageBaseFragment implements super.onCreate(icicle); final Context context = getContext(); + if (!SubscriptionUtil.isSimHardwareVisible(context)) { + finish(); + return; + } mDataUsageController = new DataUsageController(context); Bundle args = getArguments(); @@ -498,7 +503,8 @@ public class BillingCycleSettings extends DataUsageBaseFragment implements @Override protected boolean isPageSearchEnabled(Context context) { - return DataUsageUtils.hasMobileData(context); + return SubscriptionUtil.isSimHardwareVisible(context) + && DataUsageUtils.hasMobileData(context); } }; diff --git a/src/com/android/settings/datausage/DataSaverSummary.java b/src/com/android/settings/datausage/DataSaverSummary.java index 744f692bcb0..4712e6f9780 100644 --- a/src/com/android/settings/datausage/DataSaverSummary.java +++ b/src/com/android/settings/datausage/DataSaverSummary.java @@ -59,6 +59,11 @@ public class DataSaverSummary extends SettingsPreferenceFragment public void onCreate(Bundle icicle) { super.onCreate(icicle); + if (!isDataSaverVisible(getContext())) { + finishFragment(); + return; + } + addPreferencesFromResource(R.xml.data_saver); mUnrestrictedAccess = findPreference(KEY_UNRESTRICTED_ACCESS); mApplicationsState = ApplicationsState.getInstance( @@ -192,12 +197,18 @@ public class DataSaverSummary extends SettingsPreferenceFragment } + public static boolean isDataSaverVisible(Context context) { + return context.getResources() + .getBoolean(R.bool.config_show_data_saver); + } + public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = new BaseSearchIndexProvider(R.xml.data_saver) { @Override protected boolean isPageSearchEnabled(Context context) { - return DataUsageUtils.hasMobileData(context) + return isDataSaverVisible(context) + && DataUsageUtils.hasMobileData(context) && DataUsageUtils.getDefaultSubscriptionId(context) != SubscriptionManager.INVALID_SUBSCRIPTION_ID; } diff --git a/src/com/android/settings/datausage/DataUsageSummary.java b/src/com/android/settings/datausage/DataUsageSummary.java index abcc45fdfec..fabf0596b77 100644 --- a/src/com/android/settings/datausage/DataUsageSummary.java +++ b/src/com/android/settings/datausage/DataUsageSummary.java @@ -75,11 +75,19 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage return R.string.help_url_data_usage; } + public boolean isSimHardwareVisible(Context context) { + return SubscriptionUtil.isSimHardwareVisible(context); + } + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); Context context = getContext(); + if (!isSimHardwareVisible(context)) { + finish(); + return; + } enableProxySubscriptionManager(context); boolean hasMobileData = DataUsageUtils.hasMobileData(context); @@ -137,6 +145,9 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage protected List createPreferenceControllers(Context context) { final Activity activity = getActivity(); final ArrayList controllers = new ArrayList<>(); + if (!isSimHardwareVisible(context)) { + return controllers; + } mSummaryController = new DataUsageSummaryPreferenceController(activity, getSettingsLifecycle(), this, DataUsageUtils.getDefaultSubscriptionId(activity)); diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java index f6ed2a1a320..3705dfce3b4 100644 --- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java +++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java @@ -227,7 +227,8 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements * Start packageName's battery detail page. */ public static void startBatteryDetailPage( - Activity caller, Instrumentable instrumentable, String packageName) { + Activity caller, Instrumentable instrumentable, String packageName, + UserHandle userHandle) { final Bundle args = new Bundle(3); final PackageManager packageManager = caller.getPackageManager(); args.putString(EXTRA_PACKAGE_NAME, packageName); @@ -243,6 +244,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements .setTitleRes(R.string.battery_details_title) .setArguments(args) .setSourceMetricsCategory(instrumentable.getMetricsCategory()) + .setUserHandle(userHandle) .launch(); } @@ -531,7 +533,6 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements private CharSequence getAppActiveTime(Bundle bundle) { final long foregroundTimeMs = bundle.getLong(EXTRA_FOREGROUND_TIME); final long backgroundTimeMs = bundle.getLong(EXTRA_BACKGROUND_TIME); - final int consumedPower = bundle.getInt(EXTRA_POWER_USAGE_AMOUNT); final int uid = bundle.getInt(EXTRA_UID, 0); final String slotTime = bundle.getString(EXTRA_SLOT_TIME, null); final long totalTimeMs = foregroundTimeMs + backgroundTimeMs; @@ -543,9 +544,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements return null; } if (totalTimeMs == 0) { - usageTimeSummary = getText( - isChartGraphEnabled && consumedPower > 0 ? R.string.battery_usage_without_time - : R.string.battery_not_usage); + usageTimeSummary = getText(R.string.battery_usage_without_time); } else if (slotTime == null) { // Shows summary text with last full charge if slot time is null. usageTimeSummary = getAppFullChargeActiveSummary( diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/DataSaverControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/DataSaverControllerTest.java index 39d51fa6f50..ed0491085ec 100644 --- a/tests/robotests/src/com/android/settings/applications/specialaccess/DataSaverControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/specialaccess/DataSaverControllerTest.java @@ -18,9 +18,13 @@ package com.android.settings.applications.specialaccess; import static com.google.common.truth.Truth.assertThat; +import static org.mockito.Mockito.when; import static org.mockito.Mockito.spy; import android.content.Context; +import android.content.res.Resources; + +import com.android.settings.R; import org.junit.Before; import org.junit.Test; @@ -34,23 +38,35 @@ import org.robolectric.annotation.Config; public class DataSaverControllerTest { private Context mContext; + private Resources mResources; private DataSaverController mController; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application.getApplicationContext()); + + mResources = spy(mContext.getResources()); + when(mContext.getResources()).thenReturn(mResources); + mController = new DataSaverController(mContext, "key"); } @Test public void testDataSaver_byDefault_shouldBeShown() { + when(mResources.getBoolean(R.bool.config_show_data_saver)).thenReturn(true); assertThat(mController.isAvailable()).isTrue(); } @Test @Config(qualifiers = "mcc999") + public void testDataSaver_ifDisabledByCarrier_shouldNotBeShown() { + assertThat(mController.isAvailable()).isFalse(); + } + + @Test public void testDataSaver_ifDisabled_shouldNotBeShown() { + when(mResources.getBoolean(R.bool.config_show_data_saver)).thenReturn(false); assertThat(mController.isAvailable()).isFalse(); } } diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsControllerTest.java index 4c4acc719ad..ed4cbd1f042 100644 --- a/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsControllerTest.java @@ -21,8 +21,12 @@ import static com.android.settings.core.BasePreferenceController.AVAILABLE; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.when; import android.content.Context; +import android.content.res.Resources; + +import com.android.settings.R; import org.junit.Before; import org.junit.Test; @@ -36,23 +40,35 @@ import org.robolectric.annotation.Config; public class PremiumSmsControllerTest { private Context mContext; + private Resources mResources; private PremiumSmsController mController; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application.getApplicationContext()); + + mResources = spy(mContext.getResources()); + when(mContext.getResources()).thenReturn(mResources); + mController = new PremiumSmsController(mContext, "key"); } @Test public void getAvailability_byDefault_shouldBeShown() { + when(mResources.getBoolean(R.bool.config_show_premium_sms)).thenReturn(true); assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE); } @Test @Config(qualifiers = "mcc999") + public void getAvailability_disabledByCarrier_returnUnavailable() { + assertThat(mController.isAvailable()).isFalse(); + } + + @Test public void getAvailability_disabled_returnUnavailable() { + when(mResources.getBoolean(R.bool.config_show_premium_sms)).thenReturn(false); assertThat(mController.isAvailable()).isFalse(); } } diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsScreenPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsScreenPreferenceControllerTest.java index 53d46cab03a..5982413ac31 100644 --- a/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsScreenPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsScreenPreferenceControllerTest.java @@ -21,8 +21,12 @@ import static com.android.settings.core.BasePreferenceController.AVAILABLE; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.when; import android.content.Context; +import android.content.res.Resources; + +import com.android.settings.R; import org.junit.Before; import org.junit.Test; @@ -36,23 +40,35 @@ import org.robolectric.annotation.Config; public class PremiumSmsScreenPreferenceControllerTest { private Context mContext; + private Resources mResources; private PremiumSmsScreenPreferenceController mController; @Before public void setUp() { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application.getApplicationContext()); + + mResources = spy(mContext.getResources()); + when(mContext.getResources()).thenReturn(mResources); + mController = new PremiumSmsScreenPreferenceController(mContext, "key"); } @Test public void getAvailability_byDefault_shouldBeShown() { + when(mResources.getBoolean(R.bool.config_show_premium_sms)).thenReturn(true); assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE); } @Test @Config(qualifiers = "mcc999") + public void getAvailability_disabledByCarrier_returnUnavailable() { + assertThat(mController.isAvailable()).isFalse(); + } + + @Test public void getAvailability_disabled_returnUnavailable() { + when(mResources.getBoolean(R.bool.config_show_premium_sms)).thenReturn(false); assertThat(mController.isAvailable()).isFalse(); } } diff --git a/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java b/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java index 483d74638a7..bccec3ed8b0 100644 --- a/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java +++ b/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java @@ -110,7 +110,10 @@ public class AppDataUsageTest { @Test @Config(shadows = ShadowFragment.class) public void onCreate_appUid_shouldGetAppLabelFromAppInfo() throws NameNotFoundException { - mFragment = spy(new AppDataUsage()); + mFragment = spy(new AppDataUsage() { + @Override + public boolean isSimHardwareVisible(Context context) { return true; } + }); final FragmentActivity activity = spy(Robolectric.setupActivity(FragmentActivity.class)); doReturn(mPackageManager).when(activity).getPackageManager(); doReturn(activity).when(mFragment).getActivity(); @@ -140,7 +143,10 @@ public class AppDataUsageTest { @Test @Config(shadows = ShadowFragment.class) public void onCreate_notAppUid_shouldGetAppLabelFromUidDetailProvider() { - mFragment = spy(new AppDataUsage()); + mFragment = spy(new AppDataUsage() { + @Override + public boolean isSimHardwareVisible(Context context) { return true; } + }); ReflectionHelpers.setField(mFragment, "mDashboardFeatureProvider", FakeFeatureFactory.setupForTest().dashboardFeatureProvider); doReturn(Robolectric.setupActivity(FragmentActivity.class)).when(mFragment).getActivity(); @@ -167,7 +173,10 @@ public class AppDataUsageTest { @Test public void bindAppHeader_allWorkApps_shouldNotShowAppInfoLink() { - mFragment = spy(new AppDataUsage()); + mFragment = spy(new AppDataUsage() { + @Override + public boolean isSimHardwareVisible(Context context) { return true; } + }); when(mFragment.getPreferenceManager()) .thenReturn(mock(PreferenceManager.class, RETURNS_DEEP_STUBS)); @@ -184,7 +193,10 @@ public class AppDataUsageTest { throws PackageManager.NameNotFoundException { final int fakeUserId = 100; - mFragment = spy(new AppDataUsage()); + mFragment = spy(new AppDataUsage() { + @Override + public boolean isSimHardwareVisible(Context context) { return true; } + }); final ArraySet packages = new ArraySet<>(); packages.add("pkg"); final AppItem appItem = new AppItem(123456789); @@ -210,7 +222,10 @@ public class AppDataUsageTest { @Test public void changePreference_backgroundData_shouldUpdateUI() { - mFragment = spy(new AppDataUsage()); + mFragment = spy(new AppDataUsage() { + @Override + public boolean isSimHardwareVisible(Context context) { return true; } + }); final AppItem appItem = new AppItem(123456789); final RestrictedSwitchPreference pref = mock(RestrictedSwitchPreference.class); final DataSaverBackend dataSaverBackend = mock(DataSaverBackend.class); @@ -227,7 +242,10 @@ public class AppDataUsageTest { @Test public void updatePrefs_restrictedByAdmin_shouldDisablePreference() { - mFragment = spy(new AppDataUsage()); + mFragment = spy(new AppDataUsage() { + @Override + public boolean isSimHardwareVisible(Context context) { return true; } + }); final int testUid = 123123; final AppItem appItem = new AppItem(testUid); final RestrictedSwitchPreference restrictBackgroundPref @@ -255,7 +273,10 @@ public class AppDataUsageTest { @Test public void bindData_noAppUsageData_shouldHideCycleSpinner() { - mFragment = spy(new AppDataUsage()); + mFragment = spy(new AppDataUsage() { + @Override + public boolean isSimHardwareVisible(Context context) { return true; } + }); final SpinnerPreference cycle = mock(SpinnerPreference.class); ReflectionHelpers.setField(mFragment, "mCycle", cycle); final Preference preference = mock(Preference.class); @@ -271,7 +292,10 @@ public class AppDataUsageTest { @Test public void bindData_hasAppUsageData_shouldShowCycleSpinnerAndUpdateUsageSummary() { - mFragment = spy(new AppDataUsage()); + mFragment = spy(new AppDataUsage() { + @Override + public boolean isSimHardwareVisible(Context context) { return true; } + }); final Context context = RuntimeEnvironment.application; ReflectionHelpers.setField(mFragment, "mContext", context); final long backgroundBytes = 1234L; @@ -300,7 +324,10 @@ public class AppDataUsageTest { @Test public void onCreateLoader_categoryApp_shouldQueryDataUsageUsingAppKey() { - mFragment = new AppDataUsage(); + mFragment = new AppDataUsage() { + @Override + public boolean isSimHardwareVisible(Context context) { return true; } + }; final Context context = RuntimeEnvironment.application; final int testUid = 123123; final AppItem appItem = new AppItem(testUid); @@ -323,7 +350,10 @@ public class AppDataUsageTest { @Test public void onCreateLoader_categoryUser_shouldQueryDataUsageUsingAssociatedUids() { - mFragment = new AppDataUsage(); + mFragment = new AppDataUsage() { + @Override + public boolean isSimHardwareVisible(Context context) { return true; } + }; final Context context = RuntimeEnvironment.application; final int testUserId = 11; final AppItem appItem = new AppItem(testUserId); @@ -360,7 +390,10 @@ public class AppDataUsageTest { appItem.category = AppItem.CATEGORY_APP; appItem.addUid(uid); - mFragment = new AppDataUsage(); + mFragment = new AppDataUsage() { + @Override + public boolean isSimHardwareVisible(Context context) { return true; } + }; ReflectionHelpers.setField(mFragment, "mContext", RuntimeEnvironment.application); ReflectionHelpers.setField(mFragment, "mCycles", testCycles); ReflectionHelpers.setField(mFragment, "mAppItem", appItem); @@ -393,7 +426,10 @@ public class AppDataUsageTest { builder.setStartTime(tenDaysAgo).setEndTime(now).setTotalUsage(1234L); data.add(builder.build()); - mFragment = new AppDataUsage(); + mFragment = new AppDataUsage() { + @Override + public boolean isSimHardwareVisible(Context context) { return true; } + }; ReflectionHelpers.setField(mFragment, "mContext", RuntimeEnvironment.application); ReflectionHelpers.setField(mFragment, "mCycleAdapter", mock(CycleAdapter.class)); ReflectionHelpers.setField(mFragment, "mSelectedCycle", tenDaysAgo); @@ -420,7 +456,10 @@ public class AppDataUsageTest { ShadowDataUsageUtils.HAS_SIM = false; ShadowSubscriptionManager.setDefaultDataSubscriptionId( SubscriptionManager.INVALID_SUBSCRIPTION_ID); - mFragment = spy(new AppDataUsage()); + mFragment = spy(new AppDataUsage() { + @Override + public boolean isSimHardwareVisible(Context context) { return true; } + }); doReturn(Robolectric.setupActivity(FragmentActivity.class)).when(mFragment).getActivity(); doReturn(RuntimeEnvironment.application).when(mFragment).getContext(); final UidDetailProvider uidDetailProvider = mock(UidDetailProvider.class); diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java index 6d1081416dd..68d49fc6352 100644 --- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java +++ b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java @@ -29,12 +29,15 @@ import static org.mockito.Mockito.verify; import android.app.usage.NetworkStatsManager; import android.content.Context; +import android.content.res.Resources; import android.net.NetworkPolicyManager; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import androidx.fragment.app.FragmentActivity; +import com.android.settings.R; + import com.android.settings.testutils.shadow.ShadowDashboardFragment; import com.android.settings.testutils.shadow.ShadowDataUsageUtils; import com.android.settings.testutils.shadow.ShadowUserManager; @@ -70,6 +73,7 @@ public class DataUsageSummaryTest { private NetworkStatsManager mNetworkStatsManager; private TelephonyManager mTelephonyManager; private Context mContext; + private Resources mResources; private FragmentActivity mActivity; /** @@ -84,13 +88,18 @@ public class DataUsageSummaryTest { ShadowUserManager.getShadow().setIsAdminUser(true); shadowContext.setSystemService(Context.NETWORK_POLICY_SERVICE, mNetworkPolicyManager); - mContext = RuntimeEnvironment.application; + mContext = spy(RuntimeEnvironment.application); mTelephonyManager = mContext.getSystemService(TelephonyManager.class); final ShadowTelephonyManager shadowTelephonyManager = Shadows.shadowOf(mTelephonyManager); shadowTelephonyManager.setTelephonyManagerForSubscriptionId( SubscriptionManager.INVALID_SUBSCRIPTION_ID, mTelephonyManager); shadowTelephonyManager.setTelephonyManagerForSubscriptionId(1, mTelephonyManager); mActivity = spy(Robolectric.buildActivity(FragmentActivity.class).get()); + + mResources = spy(mContext.getResources()); + doReturn(mResources).when(mContext).getResources(); + doReturn(true).when(mResources).getBoolean(R.bool.config_show_sim_info); + doReturn(mNetworkStatsManager).when(mActivity).getSystemService(NetworkStatsManager.class); } diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java index 6a1280f69e4..90e8caf85a2 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java @@ -434,8 +434,7 @@ public class AdvancedPowerUsageDetailTest { ArgumentCaptor captor = ArgumentCaptor.forClass(CharSequence.class); verify(mEntityHeaderController).setSummary(captor.capture()); - assertThat(captor.getValue().toString()) - .isEqualTo("No usage from last full charge"); + assertThat(captor.getValue().toString()).isEmpty(); } @Test @@ -742,7 +741,8 @@ public class AdvancedPowerUsageDetailTest { public void startBatteryDetailPage_noBatteryUsage_hasBasicData() { final ArgumentCaptor captor = ArgumentCaptor.forClass(Intent.class); - AdvancedPowerUsageDetail.startBatteryDetailPage(mActivity, mFragment, PACKAGE_NAME[0]); + AdvancedPowerUsageDetail.startBatteryDetailPage( + mActivity, mFragment, PACKAGE_NAME[0], UserHandle.OWNER); verify(mActivity).startActivity(captor.capture()); @@ -760,7 +760,8 @@ public class AdvancedPowerUsageDetailTest { PackageManager.NameNotFoundException { doReturn(UID).when(mPackageManager).getPackageUid(PACKAGE_NAME[0], 0 /* no flag */); - AdvancedPowerUsageDetail.startBatteryDetailPage(mActivity, mFragment, PACKAGE_NAME[0]); + AdvancedPowerUsageDetail.startBatteryDetailPage( + mActivity, mFragment, PACKAGE_NAME[0], UserHandle.OWNER); assertThat(mBundle.getInt(AdvancedPowerUsageDetail.EXTRA_UID)).isEqualTo(UID); }