Add Enterprise restriction check for Wi-Fi QR code sharing
- In the Internet Picker, if a user tries to long press on the SSIDs that cannot be shared, the “Share” option should disappear. Bug: 203169712 Test: make RunSettingsRoboTests ROBOTEST_FILTER=NetworkProviderSettingsTest Change-Id: Iea5a25ba80f29be59c39988bba0dcc4689585461
This commit is contained in:
@@ -566,7 +566,9 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
|
||||
}
|
||||
|
||||
if (mSelectedWifiEntry.canDisconnect()) {
|
||||
menu.add(Menu.NONE, MENU_ID_SHARE, 0 /* order */, R.string.share);
|
||||
if (mSelectedWifiEntry.canShare()) {
|
||||
menu.add(Menu.NONE, MENU_ID_SHARE, 0 /* order */, R.string.share);
|
||||
}
|
||||
menu.add(Menu.NONE, MENU_ID_DISCONNECT, 1 /* order */,
|
||||
R.string.wifi_disconnect_button_text);
|
||||
}
|
||||
|
@@ -328,6 +328,55 @@ public class NetworkProviderSettingsTest {
|
||||
anyInt());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onCreateContextMenu_canShare_shouldHaveShareMenuForConnectedWifiEntry() {
|
||||
final FragmentActivity activity = mock(FragmentActivity.class);
|
||||
when(activity.getApplicationContext()).thenReturn(mContext);
|
||||
when(mNetworkProviderSettings.getActivity()).thenReturn(activity);
|
||||
|
||||
final WifiEntry wifiEntry = mock(WifiEntry.class);
|
||||
when(wifiEntry.canDisconnect()).thenReturn(true);
|
||||
when(wifiEntry.canShare()).thenReturn(true);
|
||||
when(wifiEntry.canForget()).thenReturn(true);
|
||||
when(wifiEntry.isSaved()).thenReturn(true);
|
||||
when(wifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTED);
|
||||
|
||||
final LongPressWifiEntryPreference connectedWifiEntryPreference =
|
||||
mNetworkProviderSettings.createLongPressWifiEntryPreference(wifiEntry);
|
||||
final View view = mock(View.class);
|
||||
when(view.getTag()).thenReturn(connectedWifiEntryPreference);
|
||||
|
||||
final ContextMenu menu = mock(ContextMenu.class);
|
||||
mNetworkProviderSettings.onCreateContextMenu(menu, view, null /* info */);
|
||||
|
||||
verify(menu).add(anyInt(), eq(NetworkProviderSettings.MENU_ID_SHARE), anyInt(), anyInt());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onCreateContextMenu_canNotShare_shouldDisappearShareMenuForConnectedWifiEntry() {
|
||||
final FragmentActivity activity = mock(FragmentActivity.class);
|
||||
when(activity.getApplicationContext()).thenReturn(mContext);
|
||||
when(mNetworkProviderSettings.getActivity()).thenReturn(activity);
|
||||
|
||||
final WifiEntry wifiEntry = mock(WifiEntry.class);
|
||||
when(wifiEntry.canDisconnect()).thenReturn(true);
|
||||
when(wifiEntry.canShare()).thenReturn(false);
|
||||
when(wifiEntry.canForget()).thenReturn(true);
|
||||
when(wifiEntry.isSaved()).thenReturn(true);
|
||||
when(wifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTED);
|
||||
|
||||
final LongPressWifiEntryPreference connectedWifiEntryPreference =
|
||||
mNetworkProviderSettings.createLongPressWifiEntryPreference(wifiEntry);
|
||||
final View view = mock(View.class);
|
||||
when(view.getTag()).thenReturn(connectedWifiEntryPreference);
|
||||
|
||||
final ContextMenu menu = mock(ContextMenu.class);
|
||||
mNetworkProviderSettings.onCreateContextMenu(menu, view, null /* info */);
|
||||
|
||||
verify(menu, never())
|
||||
.add(anyInt(), eq(NetworkProviderSettings.MENU_ID_SHARE), anyInt(), anyInt());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onWifiEntriesChanged_shouldChangeNextButtonState() {
|
||||
mNetworkProviderSettings.onWifiEntriesChanged();
|
||||
|
Reference in New Issue
Block a user