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

Commit d6ae6f86 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Remove Wi-Fi hotspot from settings search for non-admin users" into...

Merge "Remove Wi-Fi hotspot from settings search for non-admin users" into udc-d1-dev am: c548cdc4

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23753764



Change-Id: I8eb18e0f788a9a26da01222abd17149c350fc4ee
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents de5c8613 c548cdc4
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -91,7 +91,8 @@ public class WifiTetherSettings extends RestrictedDashboardFragment
    @VisibleForTesting
    WifiTetherAutoOffPreferenceController mWifiTetherAutoOffPreferenceController;

    private boolean mUnavailable;
    @VisibleForTesting
    boolean mUnavailable;
    private WifiRestriction mWifiRestriction;
    @VisibleForTesting
    TetherChangeReceiver mTetherChangeReceiver;
@@ -139,6 +140,9 @@ public class WifiTetherSettings extends RestrictedDashboardFragment

        setIfOnlyAvailableForAdmins(true);
        mUnavailable = isUiRestricted() || !mWifiRestriction.isHotspotAvailable(getContext());
        if (mUnavailable) {
            return;
        }

        mWifiTetherViewModel = FeatureFactory.getFactory(getContext()).getWifiFeatureProvider()
                .getWifiTetherViewModel(this);
@@ -342,7 +346,16 @@ public class WifiTetherSettings extends RestrictedDashboardFragment

        @Override
        protected boolean isPageSearchEnabled(Context context) {
            if (context == null || !WifiUtils.canShowWifiHotspot(context)) return false;
            if (context == null) {
                return false;
            }
            UserManager userManager = context.getSystemService(UserManager.class);
            if (userManager == null || !userManager.isAdminUser()) {
                return false;
            }
            if (!WifiUtils.canShowWifiHotspot(context)) {
                return false;
            }
            return !FeatureFlagUtils.isEnabled(context, FeatureFlags.TETHER_ALL_IN_ONE);
        }

+27 −1
Original line number Diff line number Diff line
@@ -146,6 +146,7 @@ public class WifiTetherSettingsTest {
        doReturn(mTetheringManager).when(mContext).getSystemService(Context.TETHERING_SERVICE);
        doReturn(WIFI_REGEXS).when(mTetheringManager).getTetherableWifiRegexs();
        doReturn(mUserManager).when(mContext).getSystemService(Context.USER_SERVICE);
        doReturn(true).when(mUserManager).isAdminUser();
        when(mWifiRestriction.isTetherAvailable(mContext)).thenReturn(true);
        when(mWifiRestriction.isHotspotAvailable(mContext)).thenReturn(true);

@@ -184,10 +185,22 @@ public class WifiTetherSettingsTest {
        verify(mSettings).finish();
    }

    @Test
    @Config(shadows = ShadowRestrictedDashboardFragment.class)
    public void onCreate_uiIsRestricted_shouldNotGetViewModel() {
        mSettings.mWifiTetherViewModel = null;
        when(mWifiRestriction.isHotspotAvailable(mContext)).thenReturn(false);

        mSettings.onCreate(null);

        assertThat(mSettings.mWifiTetherViewModel).isNull();
    }

    @Test
    @Config(shadows = ShadowFragment.class)
    public void onStart_uiIsRestricted_removeAllPreferences() {
        spyWifiTetherSettings();
        mSettings.mUnavailable = true;

        mSettings.onStart();

@@ -306,13 +319,21 @@ public class WifiTetherSettingsTest {
    }

    @Test
    public void isPageSearchEnabled_canShowWifiHotspot_returnTrue() {
    public void isPageSearchEnabled_allReady_returnTrue() {
        setCanShowWifiHotspotCached(true);

        assertThat(WifiTetherSettings.SEARCH_INDEX_DATA_PROVIDER.isPageSearchEnabled(mContext))
                .isTrue();
    }

    @Test
    public void isPageSearchEnabled_isNotAdminUser_returnFalse() {
        doReturn(false).when(mUserManager).isAdminUser();

        assertThat(WifiTetherSettings.SEARCH_INDEX_DATA_PROVIDER.isPageSearchEnabled(mContext))
                .isFalse();
    }

    @Test
    public void isPageSearchEnabled_canNotShowWifiHotspot_returnFalse() {
        setCanShowWifiHotspotCached(false);
@@ -419,5 +440,10 @@ public class WifiTetherSettingsTest {
        public void onCreate(Bundle icicle) {
            // do nothing
        }

        @Implementation
        public boolean isUiRestricted() {
            return false;
        }
    }
}