Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 155d6829 authored by Fan Zhang's avatar Fan Zhang
Browse files

Move restriction check for dev settings into controller

Change-Id: I99dae6e82aca40b92e1965ba7db2c54f3c59d33f
Fixes: 72815875
Test: robotests
parent 3d38ab00
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -813,7 +813,6 @@ public class SettingsActivity extends SettingsDrawerActivity
                || somethingChanged;

        final boolean showDev = DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(this)
                && !um.hasUserRestriction(UserManager.DISALLOW_DEBUGGING_FEATURES)
                && !Utils.isMonkeyRunning();

        somethingChanged = setTileEnabled(new ComponentName(packageName,
+11 −1
Original line number Diff line number Diff line
@@ -37,7 +37,9 @@ import com.android.settings.TestConfig;
import com.android.settings.applications.ProcStatsData;
import com.android.settings.applications.ProcessStatsDetail;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.ShadowUserManager;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -48,7 +50,9 @@ import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;

@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION, shadows = {
        ShadowUserManager.class
})
public class AppMemoryPreferenceControllerTest {

    @Mock
@@ -67,6 +71,7 @@ public class AppMemoryPreferenceControllerTest {
    public void setUp() {
        MockitoAnnotations.initMocks(this);
        mContext = RuntimeEnvironment.application;
        ShadowUserManager.getShadow().setIsAdminUser(true);
        mController =
                spy(new AppMemoryPreferenceController(mContext, mFragment, null /* lifecycle */));
        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
@@ -75,6 +80,11 @@ public class AppMemoryPreferenceControllerTest {
        when(mFragment.getActivity()).thenReturn(mActivity);
    }

    @After
    public void tearDown() {
        ShadowUserManager.getShadow().reset();
    }

    @Test
    public void getAvailabilityStatus_developmentSettingsEnabled_shouldReturnAvailable() {
        Settings.Global.putInt(mContext.getContentResolver(),
+25 −4
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@
package com.android.settings.development;

import static com.google.common.truth.Truth.assertThat;

import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
@@ -33,6 +32,7 @@ import com.android.settings.R;
import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResources;
import com.android.settings.testutils.shadow.ShadowUserManager;
import com.android.settings.widget.SwitchBar;
import com.android.settings.widget.ToggleSwitch;
import com.android.settingslib.development.AbstractEnableAdbPreferenceController;
@@ -52,7 +52,9 @@ import org.robolectric.util.ReflectionHelpers;
import java.util.List;

@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION, shadows = {
        ShadowUserManager.class
})
public class DevelopmentSettingsDashboardFragmentTest {

    private SwitchBar mSwitchBar;
@@ -68,11 +70,13 @@ public class DevelopmentSettingsDashboardFragmentTest {
        mSwitch = mSwitchBar.getSwitch();
        mDashboard = spy(new DevelopmentSettingsDashboardFragment());
        ReflectionHelpers.setField(mDashboard, "mSwitchBar", mSwitchBar);
        ShadowUserManager.getShadow().setIsAdminUser(true);
    }

    @After
    public void tearDown() {
        ShadowEnableDevelopmentSettingWarningDialog.reset();
        ShadowUserManager.getShadow().reset();
    }

    @Test
@@ -101,7 +105,7 @@ public class DevelopmentSettingsDashboardFragmentTest {
            SettingsShadowResources.class,
            SettingsShadowResources.SettingsShadowTheme.class
    })
    public void searchIndex_pageDisabled_shouldAddAllKeysToNonIndexable() {
    public void searchIndex_pageDisabledBySetting_shouldAddAllKeysToNonIndexable() {
        final Context appContext = RuntimeEnvironment.application;
        DevelopmentSettingsEnabler.setDevelopmentSettingsEnabled(appContext, false);

@@ -109,7 +113,24 @@ public class DevelopmentSettingsDashboardFragmentTest {
                DevelopmentSettingsDashboardFragment.SEARCH_INDEX_DATA_PROVIDER
                        .getNonIndexableKeys(appContext);

        assertThat(nonIndexableKeys).contains("development_prefs_screen");
        assertThat(nonIndexableKeys).contains("enable_adb");
    }

    @Test
    @Config(shadows = {
            SettingsShadowResources.class,
            SettingsShadowResources.SettingsShadowTheme.class
    })
    public void searchIndex_pageDisabledForNonAdmin_shouldAddAllKeysToNonIndexable() {
        final Context appContext = RuntimeEnvironment.application;
        DevelopmentSettingsEnabler.setDevelopmentSettingsEnabled(appContext, true);
        ShadowUserManager.getShadow().setIsAdminUser(false);

        final List<String> nonIndexableKeys =
                DevelopmentSettingsDashboardFragment.SEARCH_INDEX_DATA_PROVIDER
                        .getNonIndexableKeys(appContext);

        assertThat(nonIndexableKeys).contains("enable_adb");
    }

    @Test
+5 −1
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import android.content.Context;

import com.android.settings.TestConfig;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.ShadowUserManager;
import com.android.settings.testutils.shadow.ShadowUtils;
import com.android.settings.widget.SwitchBar;
import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -47,7 +48,8 @@ import java.util.ArrayList;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION,
        shadows = {
                ShadowUtils.class
                ShadowUtils.class,
                ShadowUserManager.class
        })
public class DevelopmentSwitchBarControllerTest {

@@ -63,6 +65,7 @@ public class DevelopmentSwitchBarControllerTest {
    public void setUp() {
        MockitoAnnotations.initMocks(this);
        mContext = RuntimeEnvironment.application;
        ShadowUserManager.getShadow().setIsAdminUser(true);
        mLifecycleOwner = () -> mLifecycle;
        mLifecycle = new Lifecycle(mLifecycleOwner);
        mSwitchBar = new SwitchBar(mContext);
@@ -72,6 +75,7 @@ public class DevelopmentSwitchBarControllerTest {
    @After
    public void tearDown() {
        ShadowUtils.reset();
        ShadowUserManager.getShadow().reset();
    }

    @Test
+5 −1
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ import com.android.settings.search.DatabaseIndexingManager;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.ShadowUtils;
import com.android.settings.testutils.shadow.ShadowUserManager;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.development.DevelopmentSettingsEnabler;

@@ -60,7 +61,8 @@ import org.robolectric.util.ReflectionHelpers;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION,
        shadows = {
                ShadowUtils.class
                ShadowUtils.class,
                ShadowUserManager.class,
        })
public class BuildNumberPreferenceControllerTest {

@@ -84,6 +86,7 @@ public class BuildNumberPreferenceControllerTest {
    @Before
    public void setUp() {
        MockitoAnnotations.initMocks(this);
        ShadowUserManager.getShadow().setIsAdminUser(true);
        mFactory = FakeFeatureFactory.setupForTest();
        mLifecycleOwner = () -> mLifecycle;
        mLifecycle = new Lifecycle(mLifecycleOwner);
@@ -98,6 +101,7 @@ public class BuildNumberPreferenceControllerTest {
    @After
    public void tearDown() {
        ShadowUtils.reset();
        ShadowUserManager.getShadow().reset();
    }

    @Test