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

This commit is contained in:
TreeHugger Robot
2023-06-21 04:25:57 +00:00
committed by Android (Google) Code Review
2 changed files with 42 additions and 3 deletions

View File

@@ -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);
}

View File

@@ -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;
}
}
}