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
(cherry picked from commit 7577624db7
)
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