Loading src/com/android/settings/wifi/tether/WifiTetherSettings.java +15 −2 Original line number Diff line number Diff line Loading @@ -91,7 +91,8 @@ public class WifiTetherSettings extends RestrictedDashboardFragment @VisibleForTesting WifiTetherAutoOffPreferenceController mWifiTetherAutoOffPreferenceController; private boolean mUnavailable; @VisibleForTesting boolean mUnavailable; private WifiRestriction mWifiRestriction; @VisibleForTesting TetherChangeReceiver mTetherChangeReceiver; Loading Loading @@ -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); Loading Loading @@ -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); } Loading tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java +27 −1 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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(); Loading Loading @@ -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); Loading Loading @@ -419,5 +440,10 @@ public class WifiTetherSettingsTest { public void onCreate(Bundle icicle) { // do nothing } @Implementation public boolean isUiRestricted() { return false; } } } Loading
src/com/android/settings/wifi/tether/WifiTetherSettings.java +15 −2 Original line number Diff line number Diff line Loading @@ -91,7 +91,8 @@ public class WifiTetherSettings extends RestrictedDashboardFragment @VisibleForTesting WifiTetherAutoOffPreferenceController mWifiTetherAutoOffPreferenceController; private boolean mUnavailable; @VisibleForTesting boolean mUnavailable; private WifiRestriction mWifiRestriction; @VisibleForTesting TetherChangeReceiver mTetherChangeReceiver; Loading Loading @@ -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); Loading Loading @@ -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); } Loading
tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java +27 −1 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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(); Loading Loading @@ -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); Loading Loading @@ -419,5 +440,10 @@ public class WifiTetherSettingsTest { public void onCreate(Bundle icicle) { // do nothing } @Implementation public boolean isUiRestricted() { return false; } } }