Remove Fix connectivity menu for guest
- Don't add the Fix connectivity menu if the user is a guest. Bug: 252995826 Test: manual test make RunSettingsRoboTests ROBOTEST_FILTER=NetworkProviderSettingsTest Change-Id: I42fbd4b931dfaaf42b9319d1085848405db9e1be
This commit is contained in:
@@ -212,6 +212,8 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
|||||||
protected boolean mIsRestricted;
|
protected boolean mIsRestricted;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
boolean mIsAdmin = true;
|
boolean mIsAdmin = true;
|
||||||
|
@VisibleForTesting
|
||||||
|
boolean mIsGuest = false;
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
AirplaneModeEnabler mAirplaneModeEnabler;
|
AirplaneModeEnabler mAirplaneModeEnabler;
|
||||||
@@ -302,13 +304,14 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
|||||||
addPreferences();
|
addPreferences();
|
||||||
|
|
||||||
mIsRestricted = isUiRestricted();
|
mIsRestricted = isUiRestricted();
|
||||||
mIsAdmin = isAdminUser();
|
updateUserType();
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isAdminUser() {
|
private void updateUserType() {
|
||||||
final UserManager userManager = getSystemService(UserManager.class);
|
UserManager userManager = getSystemService(UserManager.class);
|
||||||
if (userManager == null) return true;
|
if (userManager == null) return;
|
||||||
return userManager.isAdminUser();
|
mIsAdmin = userManager.isAdminUser();
|
||||||
|
mIsGuest = userManager.isGuestUser();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addPreferences() {
|
private void addPreferences() {
|
||||||
@@ -1400,7 +1403,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
|
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
|
||||||
if (!mAirplaneModeEnabler.isAirplaneModeOn()) {
|
if (!mIsGuest && !mAirplaneModeEnabler.isAirplaneModeOn()) {
|
||||||
MenuItem item = menu.add(0, MENU_FIX_CONNECTIVITY, 0, R.string.fix_connectivity);
|
MenuItem item = menu.add(0, MENU_FIX_CONNECTIVITY, 0, R.string.fix_connectivity);
|
||||||
item.setIcon(R.drawable.ic_repair_24dp);
|
item.setIcon(R.drawable.ic_repair_24dp);
|
||||||
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
|
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
|
||||||
@@ -1447,6 +1450,11 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void fixConnectivity() {
|
private void fixConnectivity() {
|
||||||
|
if (mIsGuest) {
|
||||||
|
Log.e(TAG, "Can't reset network because the user is a guest.");
|
||||||
|
EventLog.writeEvent(0x534e4554, "252995826", UserHandle.myUserId(), "User is a guest");
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (mInternetResetHelper == null) {
|
if (mInternetResetHelper == null) {
|
||||||
mInternetResetHelper = new InternetResetHelper(getContext(), getLifecycle());
|
mInternetResetHelper = new InternetResetHelper(getContext(), getLifecycle());
|
||||||
mInternetResetHelper.setResettingPreference(mResetInternetPreference);
|
mInternetResetHelper.setResettingPreference(mResetInternetPreference);
|
||||||
|
@@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
package com.android.settings.network;
|
package com.android.settings.network;
|
||||||
|
|
||||||
|
import static com.android.settings.network.NetworkProviderSettings.MENU_FIX_CONNECTIVITY;
|
||||||
import static com.android.settings.network.NetworkProviderSettings.MENU_ID_DISCONNECT;
|
import static com.android.settings.network.NetworkProviderSettings.MENU_ID_DISCONNECT;
|
||||||
import static com.android.settings.network.NetworkProviderSettings.MENU_ID_FORGET;
|
import static com.android.settings.network.NetworkProviderSettings.MENU_ID_FORGET;
|
||||||
import static com.android.settings.network.NetworkProviderSettings.MENU_ID_MODIFY;
|
import static com.android.settings.network.NetworkProviderSettings.MENU_ID_MODIFY;
|
||||||
@@ -135,6 +136,8 @@ public class NetworkProviderSettingsTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private ContextMenu mContextMenu;
|
private ContextMenu mContextMenu;
|
||||||
@Mock
|
@Mock
|
||||||
|
private Menu mMenu;
|
||||||
|
@Mock
|
||||||
private MenuItem mMenuItem;
|
private MenuItem mMenuItem;
|
||||||
@Mock
|
@Mock
|
||||||
InternetUpdater mInternetUpdater;
|
InternetUpdater mInternetUpdater;
|
||||||
@@ -147,6 +150,8 @@ public class NetworkProviderSettingsTest {
|
|||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
|
when(mMenu.add(anyInt(), anyInt(), anyInt(), anyInt())).thenReturn(mMenuItem);
|
||||||
|
|
||||||
mNetworkProviderSettings = spy(new NetworkProviderSettings() {
|
mNetworkProviderSettings = spy(new NetworkProviderSettings() {
|
||||||
@Override
|
@Override
|
||||||
boolean showAnySubscriptionInfo(Context context) { return true; }
|
boolean showAnySubscriptionInfo(Context context) { return true; }
|
||||||
@@ -483,24 +488,39 @@ public class NetworkProviderSettingsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onCreateOptionsMenu_airplanModeOn_fixConnectivityMenuInvisible() {
|
public void onCreateOptionsMenu_isGuest_neverAddFixConnectivityMenu() {
|
||||||
doReturn(true).when(mAirplaneModeEnabler).isAirplaneModeOn();
|
mNetworkProviderSettings.mIsGuest = true;
|
||||||
final Menu menu = mock(Menu.class);
|
|
||||||
mNetworkProviderSettings.onCreateOptionsMenu(menu, null /* inflater */);
|
|
||||||
|
|
||||||
verify(menu, never()).add(anyInt(), eq(NetworkProviderSettings.MENU_FIX_CONNECTIVITY),
|
mNetworkProviderSettings.onCreateOptionsMenu(mMenu, null /* inflater */);
|
||||||
anyInt(), eq(R.string.fix_connectivity));
|
|
||||||
|
verify(mMenu, never()).add(anyInt(), eq(MENU_FIX_CONNECTIVITY), anyInt(), anyInt());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onCreateOptionsMenu_airplanModeOff_fixConnectivityMenuVisible() {
|
public void onCreateOptionsMenu_isNotGuest_addFixConnectivityMenu() {
|
||||||
doReturn(false).when(mAirplaneModeEnabler).isAirplaneModeOn();
|
mNetworkProviderSettings.mIsGuest = false;
|
||||||
final Menu menu = mock(Menu.class);
|
|
||||||
when(menu.add(anyInt(), anyInt(), anyInt(), anyInt())).thenReturn(mock(MenuItem.class));
|
|
||||||
mNetworkProviderSettings.onCreateOptionsMenu(menu, null /* inflater */);
|
|
||||||
|
|
||||||
verify(menu).add(anyInt(), eq(NetworkProviderSettings.MENU_FIX_CONNECTIVITY),
|
mNetworkProviderSettings.onCreateOptionsMenu(mMenu, null /* inflater */);
|
||||||
anyInt(), eq(R.string.fix_connectivity));
|
|
||||||
|
verify(mMenu).add(anyInt(), eq(MENU_FIX_CONNECTIVITY), anyInt(), anyInt());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onCreateOptionsMenu_isAirplaneModeOn_neverAddFixConnectivityMenu() {
|
||||||
|
doReturn(true).when(mAirplaneModeEnabler).isAirplaneModeOn();
|
||||||
|
|
||||||
|
mNetworkProviderSettings.onCreateOptionsMenu(mMenu, null /* inflater */);
|
||||||
|
|
||||||
|
verify(mMenu, never()).add(anyInt(), eq(MENU_FIX_CONNECTIVITY), anyInt(), anyInt());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onCreateOptionsMenu_isNotAirplaneModeOn_addFixConnectivityMenu() {
|
||||||
|
doReturn(false).when(mAirplaneModeEnabler).isAirplaneModeOn();
|
||||||
|
|
||||||
|
mNetworkProviderSettings.onCreateOptionsMenu(mMenu, null /* inflater */);
|
||||||
|
|
||||||
|
verify(mMenu).add(anyInt(), eq(MENU_FIX_CONNECTIVITY), anyInt(), anyInt());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user