Loading src/com/android/settings/network/NetworkProviderSettings.java +16 −4 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import android.net.wifi.WifiManager; import android.os.Bundle; import android.os.Handler; import android.os.PowerManager; import android.os.UserHandle; import android.os.UserManager; import android.provider.Settings; import android.telephony.TelephonyManager; Loading Loading @@ -598,10 +599,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment return; } if (mSelectedWifiEntry.isSaved() && mSelectedWifiEntry.getConnectedState() != WifiEntry.CONNECTED_STATE_CONNECTED) { menu.add(Menu.NONE, MENU_ID_MODIFY, 0 /* order */, R.string.wifi_modify); } addModifyMenuIfSuitable(menu, mSelectedWifiEntry); } @VisibleForTesting Loading @@ -621,6 +619,14 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment } } @VisibleForTesting void addModifyMenuIfSuitable(ContextMenu menu, WifiEntry wifiEntry) { if (mIsAdmin && wifiEntry.isSaved() && wifiEntry.getConnectedState() != WifiEntry.CONNECTED_STATE_CONNECTED) { menu.add(Menu.NONE, MENU_ID_MODIFY, 0 /* order */, R.string.wifi_modify); } } private boolean canForgetNetwork() { return mSelectedWifiEntry.canForget() && !WifiUtils.isNetworkLockedDown(getActivity(), mSelectedWifiEntry.getWifiConfiguration()); Loading @@ -643,6 +649,12 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment () -> launchWifiDppConfiguratorActivity(mSelectedWifiEntry)); return true; case MENU_ID_MODIFY: if (!mIsAdmin) { Log.e(TAG, "Can't modify Wi-Fi because the user isn't admin."); EventLog.writeEvent(0x534e4554, "237672190", UserHandle.myUserId(), "User isn't admin"); return true; } showDialog(mSelectedWifiEntry, WifiConfigUiBase2.MODE_MODIFY); return true; default: Loading tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java +24 −0 Original line number Diff line number Diff line Loading @@ -17,9 +17,11 @@ package com.android.settings.network; 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_MODIFY; import static com.android.settings.network.NetworkProviderSettings.MENU_ID_SHARE; import static com.android.settings.wifi.WifiConfigUiBase2.MODE_CONNECT; import static com.android.settings.wifi.WifiConfigUiBase2.MODE_MODIFY; import static com.android.wifitrackerlib.WifiEntry.CONNECTED_STATE_DISCONNECTED; import static com.google.common.truth.Truth.assertThat; Loading Loading @@ -729,6 +731,28 @@ public class NetworkProviderSettingsTest { verify(mContextMenu, never()).add(anyInt(), eq(MENU_ID_FORGET), anyInt(), anyInt()); } @Test public void addModifyMenuIfSuitable_isAdmin_addMenu() { mNetworkProviderSettings.mIsAdmin = true; when(mWifiEntry.isSaved()).thenReturn(true); when(mWifiEntry.getConnectedState()).thenReturn(CONNECTED_STATE_DISCONNECTED); mNetworkProviderSettings.addModifyMenuIfSuitable(mContextMenu, mWifiEntry); verify(mContextMenu).add(anyInt(), eq(MENU_ID_MODIFY), anyInt(), anyInt()); } @Test public void addModifyMenuIfSuitable_isNotAdmin_notAddMenu() { mNetworkProviderSettings.mIsAdmin = false; when(mWifiEntry.isSaved()).thenReturn(true); when(mWifiEntry.getConnectedState()).thenReturn(CONNECTED_STATE_DISCONNECTED); mNetworkProviderSettings.addModifyMenuIfSuitable(mContextMenu, mWifiEntry); verify(mContextMenu, never()).add(anyInt(), eq(MENU_ID_MODIFY), anyInt(), anyInt()); } @Test public void getNonIndexableKeys_allowedChangeWifiState_keyNotReturned() { when(mWifiRestriction.isChangeWifiStateAllowed(mContext)).thenReturn(true); Loading Loading
src/com/android/settings/network/NetworkProviderSettings.java +16 −4 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import android.net.wifi.WifiManager; import android.os.Bundle; import android.os.Handler; import android.os.PowerManager; import android.os.UserHandle; import android.os.UserManager; import android.provider.Settings; import android.telephony.TelephonyManager; Loading Loading @@ -598,10 +599,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment return; } if (mSelectedWifiEntry.isSaved() && mSelectedWifiEntry.getConnectedState() != WifiEntry.CONNECTED_STATE_CONNECTED) { menu.add(Menu.NONE, MENU_ID_MODIFY, 0 /* order */, R.string.wifi_modify); } addModifyMenuIfSuitable(menu, mSelectedWifiEntry); } @VisibleForTesting Loading @@ -621,6 +619,14 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment } } @VisibleForTesting void addModifyMenuIfSuitable(ContextMenu menu, WifiEntry wifiEntry) { if (mIsAdmin && wifiEntry.isSaved() && wifiEntry.getConnectedState() != WifiEntry.CONNECTED_STATE_CONNECTED) { menu.add(Menu.NONE, MENU_ID_MODIFY, 0 /* order */, R.string.wifi_modify); } } private boolean canForgetNetwork() { return mSelectedWifiEntry.canForget() && !WifiUtils.isNetworkLockedDown(getActivity(), mSelectedWifiEntry.getWifiConfiguration()); Loading @@ -643,6 +649,12 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment () -> launchWifiDppConfiguratorActivity(mSelectedWifiEntry)); return true; case MENU_ID_MODIFY: if (!mIsAdmin) { Log.e(TAG, "Can't modify Wi-Fi because the user isn't admin."); EventLog.writeEvent(0x534e4554, "237672190", UserHandle.myUserId(), "User isn't admin"); return true; } showDialog(mSelectedWifiEntry, WifiConfigUiBase2.MODE_MODIFY); return true; default: Loading
tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java +24 −0 Original line number Diff line number Diff line Loading @@ -17,9 +17,11 @@ package com.android.settings.network; 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_MODIFY; import static com.android.settings.network.NetworkProviderSettings.MENU_ID_SHARE; import static com.android.settings.wifi.WifiConfigUiBase2.MODE_CONNECT; import static com.android.settings.wifi.WifiConfigUiBase2.MODE_MODIFY; import static com.android.wifitrackerlib.WifiEntry.CONNECTED_STATE_DISCONNECTED; import static com.google.common.truth.Truth.assertThat; Loading Loading @@ -729,6 +731,28 @@ public class NetworkProviderSettingsTest { verify(mContextMenu, never()).add(anyInt(), eq(MENU_ID_FORGET), anyInt(), anyInt()); } @Test public void addModifyMenuIfSuitable_isAdmin_addMenu() { mNetworkProviderSettings.mIsAdmin = true; when(mWifiEntry.isSaved()).thenReturn(true); when(mWifiEntry.getConnectedState()).thenReturn(CONNECTED_STATE_DISCONNECTED); mNetworkProviderSettings.addModifyMenuIfSuitable(mContextMenu, mWifiEntry); verify(mContextMenu).add(anyInt(), eq(MENU_ID_MODIFY), anyInt(), anyInt()); } @Test public void addModifyMenuIfSuitable_isNotAdmin_notAddMenu() { mNetworkProviderSettings.mIsAdmin = false; when(mWifiEntry.isSaved()).thenReturn(true); when(mWifiEntry.getConnectedState()).thenReturn(CONNECTED_STATE_DISCONNECTED); mNetworkProviderSettings.addModifyMenuIfSuitable(mContextMenu, mWifiEntry); verify(mContextMenu, never()).add(anyInt(), eq(MENU_ID_MODIFY), anyInt(), anyInt()); } @Test public void getNonIndexableKeys_allowedChangeWifiState_keyNotReturned() { when(mWifiRestriction.isChangeWifiStateAllowed(mContext)).thenReturn(true); Loading