Merge "Remove Wi-Fi hotspot from settings search for non-admin users" into udc-d1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
c548cdc4a9
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user