Only show Sign In button for connected network
The Sign In button may appeared in details page for disconnected network if current network is Captive Portal network. Should hide the button for disconnected network. Bug: 129514576 Test: make RunSettingsRoboTests -j32 ROBOTEST_FILTER=com.android.settings.wifi.details.WifiDetailPreferenceControllerTest Test: manual test Change-Id: I8b4f79e7ba731ce83c49576fffd3e78a27598be3
This commit is contained in:
@@ -838,7 +838,7 @@ public class WifiDetailPreferenceController extends AbstractPreferenceController
|
||||
* Returns whether the user can sign into the network represented by this preference.
|
||||
*/
|
||||
private boolean canSignIntoNetwork() {
|
||||
return WifiUtils.canSignIntoNetwork(mNetworkCapabilities);
|
||||
return mAccessPoint.isActive() && WifiUtils.canSignIntoNetwork(mNetworkCapabilities);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -1404,6 +1404,27 @@ public class WifiDetailPreferenceControllerTest {
|
||||
.action(mockActivity, MetricsProto.MetricsEvent.ACTION_WIFI_SIGNIN);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSignInButton_shouldHideSignInButtonForDisconnectedNetwork() {
|
||||
setUpForDisconnectedNetwork();
|
||||
NetworkCapabilities nc = makeNetworkCapabilities();
|
||||
nc.addCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL);
|
||||
when(mockConnectivityManager.getNetworkCapabilities(mockNetwork))
|
||||
.thenReturn(new NetworkCapabilities(nc));
|
||||
|
||||
// verify onResume
|
||||
displayAndResume();
|
||||
|
||||
verify(mockButtonsPref, never()).setButton2Visible(true);
|
||||
verify(mockButtonsPref).setButton2Visible(false);
|
||||
|
||||
// verify onCapabilitiesChanged
|
||||
updateNetworkCapabilities(nc);
|
||||
|
||||
verify(mockButtonsPref, never()).setButton2Visible(true);
|
||||
verify(mockButtonsPref).setButton2Visible(false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRefreshRssiViews_shouldNotUpdateIfLevelIsSame() {
|
||||
displayAndResume();
|
||||
@@ -1437,7 +1458,6 @@ public class WifiDetailPreferenceControllerTest {
|
||||
verify(mockSignalStrengthPref, times(2)).setVisible(false);
|
||||
}
|
||||
|
||||
|
||||
private ActionButtonsPreference createMock() {
|
||||
final ActionButtonsPreference pref = mock(ActionButtonsPreference.class);
|
||||
when(pref.setButton1Text(anyInt())).thenReturn(pref);
|
||||
|
Reference in New Issue
Block a user