Enable launching captive portal directly
Whenever a user has connected to a captive portal network, split the ConnectedAccessPointPreference to allow directly signing into the captive portal or modifying the network's settings. When in any other network state, use the old behavior of a single tappable preference that takes the user to settings. Bug: 63929546 Bug: 68031656 Test: make RunSettingsRoboTests Test: manual by connecting to Captive Portal and normal WiFi networks. Change-Id: I444202a12138d90c94bda94945c121c8c0810536
This commit is contained in:
@@ -32,6 +32,7 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.Mockito;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
|
||||
@@ -44,6 +45,8 @@ public class ConnectedAccessPointPreferenceTest {
|
||||
private View mView;
|
||||
@Mock
|
||||
private ConnectedAccessPointPreference.OnGearClickListener mOnGearClickListener;
|
||||
@Mock
|
||||
private ConnectedAccessPointPreference.CaptivePortalStatus mCaptivePortalStatus;
|
||||
private Context mContext;
|
||||
private ConnectedAccessPointPreference mConnectedAccessPointPreference;
|
||||
|
||||
@@ -53,7 +56,7 @@ public class ConnectedAccessPointPreferenceTest {
|
||||
|
||||
mContext = RuntimeEnvironment.application;
|
||||
mConnectedAccessPointPreference = new ConnectedAccessPointPreference(mAccessPoint, mContext,
|
||||
null, 0 /* iconResId */, false /* forSavedNetworks */);
|
||||
null, 0 /* iconResId */, false /* forSavedNetworks */, mCaptivePortalStatus);
|
||||
mConnectedAccessPointPreference.setOnGearClickListener(mOnGearClickListener);
|
||||
}
|
||||
|
||||
@@ -73,9 +76,23 @@ public class ConnectedAccessPointPreferenceTest {
|
||||
verify(mOnGearClickListener, never()).onGearClick(mConnectedAccessPointPreference);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCaptivePortalStatus_isCaptivePortal_dividerDrawn() {
|
||||
Mockito.when(mCaptivePortalStatus.isCaptivePortalNetwork()).thenReturn(true);
|
||||
mConnectedAccessPointPreference.refresh();
|
||||
assertThat(mConnectedAccessPointPreference.shouldShowDivider()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCaptivePortalStatus_isNotCaptivePortal_dividerNotDrawn() {
|
||||
Mockito.when(mCaptivePortalStatus.isCaptivePortalNetwork()).thenReturn(false);
|
||||
mConnectedAccessPointPreference.refresh();
|
||||
assertThat(mConnectedAccessPointPreference.shouldShowDivider()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testWidgetLayoutPreference() {
|
||||
assertThat(mConnectedAccessPointPreference.getWidgetLayoutResource())
|
||||
.isEqualTo(R.layout.preference_widget_gear_no_bg);
|
||||
.isEqualTo(R.layout.preference_widget_gear_optional_background);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user