Merge rvc-qpr-dev-plus-aosp-without-vendor@6881855
Bug: 172690556 Merged-In: Iafcefc2aa64cf3c50b1d139ec0204a315be29da7 Change-Id: I5d4e70fe723d890b5694c3490d6ec841b1ac596e
This commit is contained in:
@@ -21,6 +21,7 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
import static org.mockito.Mockito.anyString;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
@@ -32,6 +33,9 @@ import android.net.wifi.WifiEnterpriseConfig.Phase2;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.ServiceSpecificException;
|
||||
import android.security.KeyStore;
|
||||
import android.telephony.SubscriptionInfo;
|
||||
import android.telephony.SubscriptionManager;
|
||||
import android.telephony.TelephonyManager;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
@@ -56,6 +60,9 @@ import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.Shadows;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.shadows.ShadowInputMethodManager;
|
||||
import org.robolectric.shadows.ShadowSubscriptionManager;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Config(shadows = ShadowConnectivityManager.class)
|
||||
@@ -71,6 +78,7 @@ public class WifiConfigController2Test {
|
||||
private KeyStore mKeyStore;
|
||||
private View mView;
|
||||
private Spinner mHiddenSettingsSpinner;
|
||||
private ShadowSubscriptionManager mShadowSubscriptionManager;
|
||||
|
||||
public WifiConfigController2 mController;
|
||||
private static final String HEX_PSK = "01234567012345670123456701234567012345670123456701234567"
|
||||
@@ -101,6 +109,7 @@ public class WifiConfigController2Test {
|
||||
final Spinner ipSettingsSpinner = mView.findViewById(R.id.ip_settings);
|
||||
mHiddenSettingsSpinner = mView.findViewById(R.id.hidden_settings);
|
||||
ipSettingsSpinner.setSelection(DHCP);
|
||||
mShadowSubscriptionManager = shadowOf(mContext.getSystemService(SubscriptionManager.class));
|
||||
|
||||
mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
|
||||
WifiConfigUiBase2.MODE_CONNECT);
|
||||
@@ -224,6 +233,35 @@ public class WifiConfigController2Test {
|
||||
assertThat(mController.isSubmittable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSubmittable_caCertWithoutDomain_shouldReturnFalse() {
|
||||
when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP);
|
||||
mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
|
||||
WifiConfigUiBase2.MODE_CONNECT);
|
||||
mView.findViewById(R.id.l_ca_cert).setVisibility(View.VISIBLE);
|
||||
final Spinner eapCaCertSpinner = mView.findViewById(R.id.ca_cert);
|
||||
eapCaCertSpinner.setAdapter(mController.getSpinnerAdapter(new String[]{"certificate"}));
|
||||
eapCaCertSpinner.setSelection(0);
|
||||
mView.findViewById(R.id.l_domain).setVisibility(View.VISIBLE);
|
||||
|
||||
assertThat(mController.isSubmittable()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSubmittable_caCertWithDomain_shouldReturnTrue() {
|
||||
when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP);
|
||||
mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
|
||||
WifiConfigUiBase2.MODE_CONNECT);
|
||||
mView.findViewById(R.id.l_ca_cert).setVisibility(View.VISIBLE);
|
||||
final Spinner eapCaCertSpinner = mView.findViewById(R.id.ca_cert);
|
||||
eapCaCertSpinner.setAdapter(mController.getSpinnerAdapter(new String[]{"certificate"}));
|
||||
eapCaCertSpinner.setSelection(0);
|
||||
mView.findViewById(R.id.l_domain).setVisibility(View.VISIBLE);
|
||||
((TextView) mView.findViewById(R.id.domain)).setText("fakeDomain");
|
||||
|
||||
assertThat(mController.isSubmittable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSignalString_notReachable_shouldHaveNoSignalString() {
|
||||
when(mWifiEntry.getLevel()).thenReturn(WifiEntry.WIFI_LEVEL_UNREACHABLE);
|
||||
@@ -760,4 +798,41 @@ public class WifiConfigController2Test {
|
||||
mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
|
||||
WifiConfigUiBase2.MODE_MODIFY);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void loadSims_noSim_simSpinnerDefaultNoSim() {
|
||||
when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP);
|
||||
mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
|
||||
WifiConfigUiBase2.MODE_CONNECT);
|
||||
final Spinner eapMethodSpinner = mock(Spinner.class);
|
||||
when(eapMethodSpinner.getSelectedItemPosition()).thenReturn(
|
||||
WifiConfigController2.WIFI_EAP_METHOD_SIM);
|
||||
mController.mEapMethodSpinner = eapMethodSpinner;
|
||||
|
||||
mController.loadSims();
|
||||
|
||||
final WifiConfiguration wifiConfiguration = mController.getConfig();
|
||||
assertThat(wifiConfiguration.carrierId).isEqualTo(TelephonyManager.UNKNOWN_CARRIER_ID);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void loadSims_oneSim_simSpinnerDefaultSubscription() {
|
||||
when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP);
|
||||
final SubscriptionInfo subscriptionInfo = mock(SubscriptionInfo.class);
|
||||
final int carrierId = 6;
|
||||
when(subscriptionInfo.getCarrierId()).thenReturn(carrierId);
|
||||
when(subscriptionInfo.getCarrierName()).thenReturn("FAKE-CARRIER");
|
||||
mShadowSubscriptionManager.setActiveSubscriptionInfoList(Arrays.asList(subscriptionInfo));
|
||||
mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
|
||||
WifiConfigUiBase2.MODE_CONNECT);
|
||||
final Spinner eapMethodSpinner = mock(Spinner.class);
|
||||
when(eapMethodSpinner.getSelectedItemPosition()).thenReturn(
|
||||
WifiConfigController2.WIFI_EAP_METHOD_SIM);
|
||||
mController.mEapMethodSpinner = eapMethodSpinner;
|
||||
|
||||
mController.loadSims();
|
||||
|
||||
final WifiConfiguration wifiConfiguration = mController.getConfig();
|
||||
assertThat(wifiConfiguration.carrierId).isEqualTo(carrierId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
import static org.mockito.Mockito.anyString;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
@@ -32,6 +33,9 @@ import android.net.wifi.WifiEnterpriseConfig.Phase2;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.ServiceSpecificException;
|
||||
import android.security.KeyStore;
|
||||
import android.telephony.SubscriptionInfo;
|
||||
import android.telephony.SubscriptionManager;
|
||||
import android.telephony.TelephonyManager;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
@@ -56,6 +60,9 @@ import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.Shadows;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.shadows.ShadowInputMethodManager;
|
||||
import org.robolectric.shadows.ShadowSubscriptionManager;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Config(shadows = ShadowConnectivityManager.class)
|
||||
@@ -71,6 +78,7 @@ public class WifiConfigControllerTest {
|
||||
private KeyStore mKeyStore;
|
||||
private View mView;
|
||||
private Spinner mHiddenSettingsSpinner;
|
||||
private ShadowSubscriptionManager mShadowSubscriptionManager;
|
||||
|
||||
public WifiConfigController mController;
|
||||
private static final String HEX_PSK = "01234567012345670123456701234567012345670123456701234567"
|
||||
@@ -95,6 +103,7 @@ public class WifiConfigControllerTest {
|
||||
final Spinner ipSettingsSpinner = mView.findViewById(R.id.ip_settings);
|
||||
mHiddenSettingsSpinner = mView.findViewById(R.id.hidden_settings);
|
||||
ipSettingsSpinner.setSelection(DHCP);
|
||||
mShadowSubscriptionManager = shadowOf(mContext.getSystemService(SubscriptionManager.class));
|
||||
|
||||
mController = new TestWifiConfigController(mConfigUiBase, mView, mAccessPoint,
|
||||
WifiConfigUiBase.MODE_CONNECT);
|
||||
@@ -218,6 +227,35 @@ public class WifiConfigControllerTest {
|
||||
assertThat(mController.isSubmittable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSubmittable_caCertWithoutDomain_shouldReturnFalse() {
|
||||
when(mAccessPoint.getSecurity()).thenReturn(AccessPoint.SECURITY_EAP);
|
||||
mController = new TestWifiConfigController(mConfigUiBase, mView, mAccessPoint,
|
||||
WifiConfigUiBase.MODE_CONNECT);
|
||||
mView.findViewById(R.id.l_ca_cert).setVisibility(View.VISIBLE);
|
||||
final Spinner eapCaCertSpinner = mView.findViewById(R.id.ca_cert);
|
||||
eapCaCertSpinner.setAdapter(mController.getSpinnerAdapter(new String[]{"certificate"}));
|
||||
eapCaCertSpinner.setSelection(0);
|
||||
mView.findViewById(R.id.l_domain).setVisibility(View.VISIBLE);
|
||||
|
||||
assertThat(mController.isSubmittable()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isSubmittable_caCertWithDomain_shouldReturnTrue() {
|
||||
when(mAccessPoint.getSecurity()).thenReturn(AccessPoint.SECURITY_EAP);
|
||||
mController = new TestWifiConfigController(mConfigUiBase, mView, mAccessPoint,
|
||||
WifiConfigUiBase.MODE_CONNECT);
|
||||
mView.findViewById(R.id.l_ca_cert).setVisibility(View.VISIBLE);
|
||||
final Spinner eapCaCertSpinner = mView.findViewById(R.id.ca_cert);
|
||||
eapCaCertSpinner.setAdapter(mController.getSpinnerAdapter(new String[]{"certificate"}));
|
||||
eapCaCertSpinner.setSelection(0);
|
||||
mView.findViewById(R.id.l_domain).setVisibility(View.VISIBLE);
|
||||
((TextView) mView.findViewById(R.id.domain)).setText("fakeDomain");
|
||||
|
||||
assertThat(mController.isSubmittable()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSignalString_notReachable_shouldHaveNoSignalString() {
|
||||
when(mAccessPoint.isReachable()).thenReturn(false);
|
||||
@@ -575,4 +613,41 @@ public class WifiConfigControllerTest {
|
||||
|
||||
assertThat(advButton.getVisibility()).isEqualTo(View.GONE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void loadSims_noSim_simSpinnerDefaultNoSim() {
|
||||
when(mAccessPoint.getSecurity()).thenReturn(AccessPoint.SECURITY_EAP);
|
||||
mController = new TestWifiConfigController(mConfigUiBase, mView, mAccessPoint,
|
||||
WifiConfigUiBase.MODE_CONNECT);
|
||||
final Spinner eapMethodSpinner = mock(Spinner.class);
|
||||
when(eapMethodSpinner.getSelectedItemPosition()).thenReturn(
|
||||
WifiConfigController2.WIFI_EAP_METHOD_SIM);
|
||||
mController.mEapMethodSpinner = eapMethodSpinner;
|
||||
|
||||
mController.loadSims();
|
||||
|
||||
final WifiConfiguration wifiConfiguration = mController.getConfig();
|
||||
assertThat(wifiConfiguration.carrierId).isEqualTo(TelephonyManager.UNKNOWN_CARRIER_ID);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void loadSims_oneSim_simSpinnerDefaultSubscription() {
|
||||
when(mAccessPoint.getSecurity()).thenReturn(AccessPoint.SECURITY_EAP);
|
||||
final SubscriptionInfo subscriptionInfo = mock(SubscriptionInfo.class);
|
||||
final int carrierId = 6;
|
||||
when(subscriptionInfo.getCarrierId()).thenReturn(carrierId);
|
||||
when(subscriptionInfo.getCarrierName()).thenReturn("FAKE-CARRIER");
|
||||
mShadowSubscriptionManager.setActiveSubscriptionInfoList(Arrays.asList(subscriptionInfo));
|
||||
mController = new TestWifiConfigController(mConfigUiBase, mView, mAccessPoint,
|
||||
WifiConfigUiBase.MODE_CONNECT);
|
||||
final Spinner eapMethodSpinner = mock(Spinner.class);
|
||||
when(eapMethodSpinner.getSelectedItemPosition()).thenReturn(
|
||||
WifiConfigController2.WIFI_EAP_METHOD_SIM);
|
||||
mController.mEapMethodSpinner = eapMethodSpinner;
|
||||
|
||||
mController.loadSims();
|
||||
|
||||
final WifiConfiguration wifiConfiguration = mController.getConfig();
|
||||
assertThat(wifiConfiguration.carrierId).isEqualTo(carrierId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,10 +18,6 @@ package com.android.settings.wifi;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
|
||||
import static org.mockito.Mockito.spy;
|
||||
|
||||
import android.content.Context;
|
||||
@@ -30,6 +26,9 @@ import android.os.Bundle;
|
||||
|
||||
import com.android.settingslib.wifi.AccessPoint;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@@ -48,11 +47,12 @@ public class WifiUtilsTest {
|
||||
public void testPassword() {
|
||||
final String longPassword = "123456789012345678901234567890"
|
||||
+ "1234567890123456789012345678901234567890";
|
||||
assertThat(WifiUtils.isHotspotPasswordValid("123")).isFalse();
|
||||
assertThat(WifiUtils.isHotspotPasswordValid("12345678")).isTrue();
|
||||
assertThat(WifiUtils.isHotspotPasswordValid("1234567890")).isTrue();
|
||||
assertThat(WifiUtils.isHotspotPasswordValid(longPassword)).isFalse();
|
||||
assertThat(WifiUtils.isHotspotPasswordValid("")).isFalse();
|
||||
assertThat(WifiUtils.isHotspotWpa2PasswordValid("123")).isFalse();
|
||||
assertThat(WifiUtils.isHotspotWpa2PasswordValid("12345678")).isTrue();
|
||||
assertThat(WifiUtils.isHotspotWpa2PasswordValid("1234567890")).isTrue();
|
||||
assertThat(WifiUtils.isHotspotWpa2PasswordValid(longPassword)).isFalse();
|
||||
assertThat(WifiUtils.isHotspotWpa2PasswordValid("")).isFalse();
|
||||
assertThat(WifiUtils.isHotspotWpa2PasswordValid("€¥£")).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -73,4 +73,4 @@ public class WifiUtilsTest {
|
||||
public void getWifiConfigWithNullInput_ThrowIllegalArgumentException() {
|
||||
WifiConfiguration config = WifiUtils.getWifiConfig(null, null, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,10 +53,12 @@ import android.net.NetworkRequest;
|
||||
import android.net.RouteInfo;
|
||||
import android.net.Uri;
|
||||
import android.net.wifi.WifiConfiguration;
|
||||
import android.net.wifi.WifiEnterpriseConfig;
|
||||
import android.net.wifi.WifiInfo;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Handler;
|
||||
import android.provider.Settings;
|
||||
import android.telephony.TelephonyManager;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.widget.ImageView;
|
||||
@@ -175,6 +177,8 @@ public class WifiDetailPreferenceController2Test {
|
||||
@Mock
|
||||
private Preference mMockSsidPref;
|
||||
@Mock
|
||||
private Preference mMockEapSimSubscriptionPref;
|
||||
@Mock
|
||||
private Preference mMockMacAddressPref;
|
||||
@Mock
|
||||
private Preference mMockIpAddressPref;
|
||||
@@ -295,7 +299,7 @@ public class WifiDetailPreferenceController2Test {
|
||||
.thenReturn(mMockHeaderController);
|
||||
when(mMockHeaderController.setSecondSummary(nullable(String.class)))
|
||||
.thenReturn(mMockHeaderController);
|
||||
when(mMockIconInjector.getIcon(anyInt())).thenReturn(new ColorDrawable());
|
||||
when(mMockIconInjector.getIcon(anyBoolean(), anyInt())).thenReturn(new ColorDrawable());
|
||||
|
||||
setupMockedPreferenceScreen();
|
||||
}
|
||||
@@ -374,6 +378,8 @@ public class WifiDetailPreferenceController2Test {
|
||||
.thenReturn(mMockSecurityPref);
|
||||
when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_SSID_PREF))
|
||||
.thenReturn(mMockSsidPref);
|
||||
when(mMockScreen.findPreference(WifiDetailPreferenceController2
|
||||
.KEY_EAP_SIM_SUBSCRIPTION_PREF)).thenReturn(mMockEapSimSubscriptionPref);
|
||||
when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_MAC_ADDRESS_PREF))
|
||||
.thenReturn(mMockMacAddressPref);
|
||||
when(mMockScreen.findPreference(WifiDetailPreferenceController2.KEY_IP_ADDRESS_PREF))
|
||||
@@ -494,7 +500,7 @@ public class WifiDetailPreferenceController2Test {
|
||||
public void entityHeader_shouldHaveIconSetForConnectedNetwork() {
|
||||
setUpForConnectedNetwork();
|
||||
setUpSpyController();
|
||||
Drawable expectedIcon = mMockIconInjector.getIcon(LEVEL);
|
||||
Drawable expectedIcon = mMockIconInjector.getIcon(false /* showX */, LEVEL);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
@@ -504,7 +510,7 @@ public class WifiDetailPreferenceController2Test {
|
||||
@Test
|
||||
public void entityHeader_shouldHaveIconSetForDisconnectedNetwork() {
|
||||
setUpForDisconnectedNetwork();
|
||||
Drawable expectedIcon = mMockIconInjector.getIcon(LEVEL);
|
||||
Drawable expectedIcon = mMockIconInjector.getIcon(false /* showX */, LEVEL);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
@@ -609,6 +615,7 @@ public class WifiDetailPreferenceController2Test {
|
||||
|
||||
displayAndResume();
|
||||
|
||||
assertThat(mController.mShowX).isFalse();
|
||||
verify(mMockSignalStrengthPref).setIcon(any(Drawable.class));
|
||||
}
|
||||
|
||||
@@ -618,6 +625,7 @@ public class WifiDetailPreferenceController2Test {
|
||||
|
||||
displayAndResume();
|
||||
|
||||
assertThat(mController.mShowX).isFalse();
|
||||
verify(mMockSignalStrengthPref).setIcon(any(Drawable.class));
|
||||
}
|
||||
|
||||
@@ -627,6 +635,7 @@ public class WifiDetailPreferenceController2Test {
|
||||
|
||||
displayAndResume();
|
||||
|
||||
assertThat(mController.mShowX).isFalse();
|
||||
verify(mMockSignalStrengthPref, never()).setIcon(any(Drawable.class));
|
||||
}
|
||||
|
||||
@@ -639,6 +648,7 @@ public class WifiDetailPreferenceController2Test {
|
||||
|
||||
displayAndResume();
|
||||
|
||||
assertThat(mController.mShowX).isFalse();
|
||||
verify(mMockSignalStrengthPref).setSummary(expectedStrength);
|
||||
}
|
||||
|
||||
@@ -650,6 +660,7 @@ public class WifiDetailPreferenceController2Test {
|
||||
|
||||
displayAndResume();
|
||||
|
||||
assertThat(mController.mShowX).isFalse();
|
||||
verify(mMockSignalStrengthPref).setSummary(expectedStrength);
|
||||
}
|
||||
|
||||
@@ -659,9 +670,24 @@ public class WifiDetailPreferenceController2Test {
|
||||
|
||||
displayAndResume();
|
||||
|
||||
assertThat(mController.mShowX).isFalse();
|
||||
verify(mMockSignalStrengthPref, never()).setSummary(any(String.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void signalStrengthPref_shouldShowXLevelIcon_showXTrue() {
|
||||
setUpForConnectedNetwork();
|
||||
setUpSpyController();
|
||||
final String expectedStrength =
|
||||
mContext.getResources().getStringArray(R.array.wifi_signal)[LEVEL];
|
||||
when(mMockWifiEntry.shouldShowXLevelIcon()).thenReturn(true);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
assertThat(mController.mShowX).isTrue();
|
||||
verify(mMockSignalStrengthPref).setSummary(expectedStrength);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void linkSpeedPref_shouldNotShowIfNotSet() {
|
||||
setUpForConnectedNetwork();
|
||||
@@ -1523,7 +1549,7 @@ public class WifiDetailPreferenceController2Test {
|
||||
ArgumentCaptor<BitmapDrawable> drawableCaptor =
|
||||
ArgumentCaptor.forClass(BitmapDrawable.class);
|
||||
Drawable original = mContext.getDrawable(Utils.getWifiIconResource(LEVEL)).mutate();
|
||||
when(mMockIconInjector.getIcon(anyInt())).thenReturn(original);
|
||||
when(mMockIconInjector.getIcon(anyBoolean(), anyInt())).thenReturn(original);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
@@ -1542,7 +1568,7 @@ public class WifiDetailPreferenceController2Test {
|
||||
ArgumentCaptor<BitmapDrawable> drawableCaptor =
|
||||
ArgumentCaptor.forClass(BitmapDrawable.class);
|
||||
Drawable original = mContext.getDrawable(Utils.getWifiIconResource(LEVEL)).mutate();
|
||||
when(mMockIconInjector.getIcon(anyInt())).thenReturn(original);
|
||||
when(mMockIconInjector.getIcon(anyBoolean(), anyInt())).thenReturn(original);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
@@ -1582,6 +1608,82 @@ public class WifiDetailPreferenceController2Test {
|
||||
verify(mMockHeaderController).setSummary(expired);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void refreshEapSimSubscription_nonEapSecurity_invisibleEapSimSubscriptionPref() {
|
||||
setUpForDisconnectedNetwork();
|
||||
when(mMockWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_NONE);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mMockEapSimSubscriptionPref, times(1)).setVisible(false);
|
||||
|
||||
when(mMockWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_OWE);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mMockEapSimSubscriptionPref, times(2)).setVisible(false);
|
||||
|
||||
when(mMockWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_PSK);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mMockEapSimSubscriptionPref, times(3)).setVisible(false);
|
||||
|
||||
when(mMockWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_SAE);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mMockEapSimSubscriptionPref, times(4)).setVisible(false);
|
||||
verify(mMockEapSimSubscriptionPref, never()).setVisible(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void refreshEapSimSubscription_nonSimEapMethod_invisibleEapSimSubscriptionPref() {
|
||||
setUpForDisconnectedNetwork();
|
||||
when(mMockWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP);
|
||||
final WifiConfiguration mockWifiConfiguration = mock(WifiConfiguration.class);
|
||||
final WifiEnterpriseConfig mockWifiEnterpriseConfig = mock(WifiEnterpriseConfig.class);
|
||||
when(mockWifiEnterpriseConfig.isAuthenticationSimBased()).thenReturn(false);
|
||||
mockWifiConfiguration.enterpriseConfig = mockWifiEnterpriseConfig;
|
||||
when(mMockWifiEntry.getWifiConfiguration()).thenReturn(mockWifiConfiguration);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mMockEapSimSubscriptionPref, times(1)).setVisible(false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void refreshEapSimSubscription_simEapMethod_visibleEapSimSubscriptionPref() {
|
||||
setUpForDisconnectedNetwork();
|
||||
when(mMockWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP);
|
||||
final WifiConfiguration mockWifiConfiguration = mock(WifiConfiguration.class);
|
||||
final WifiEnterpriseConfig mockWifiEnterpriseConfig = mock(WifiEnterpriseConfig.class);
|
||||
when(mockWifiEnterpriseConfig.isAuthenticationSimBased()).thenReturn(true);
|
||||
mockWifiConfiguration.enterpriseConfig = mockWifiEnterpriseConfig;
|
||||
when(mMockWifiEntry.getWifiConfiguration()).thenReturn(mockWifiConfiguration);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mMockEapSimSubscriptionPref).setVisible(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void refreshEapSimSubscription_unknownCarrierId_noSimEapSimSubscriptionPref() {
|
||||
setUpForDisconnectedNetwork();
|
||||
when(mMockWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP);
|
||||
final WifiConfiguration mockWifiConfiguration = mock(WifiConfiguration.class);
|
||||
mockWifiConfiguration.carrierId = TelephonyManager.UNKNOWN_CARRIER_ID;
|
||||
final WifiEnterpriseConfig mockWifiEnterpriseConfig = mock(WifiEnterpriseConfig.class);
|
||||
when(mockWifiEnterpriseConfig.isAuthenticationSimBased()).thenReturn(true);
|
||||
mockWifiConfiguration.enterpriseConfig = mockWifiEnterpriseConfig;
|
||||
when(mMockWifiEntry.getWifiConfiguration()).thenReturn(mockWifiConfiguration);
|
||||
|
||||
displayAndResume();
|
||||
|
||||
verify(mMockEapSimSubscriptionPref).setVisible(true);
|
||||
verify(mMockEapSimSubscriptionPref).setSummary(R.string.wifi_no_related_sim_card);
|
||||
}
|
||||
|
||||
private ActionButtonsPreference createMock() {
|
||||
final ActionButtonsPreference pref = mock(ActionButtonsPreference.class);
|
||||
when(pref.setButton1Text(anyInt())).thenReturn(pref);
|
||||
|
||||
@@ -30,6 +30,7 @@ import android.content.Context;
|
||||
import android.net.NetworkCapabilities;
|
||||
import android.net.wifi.WifiConfiguration;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.provider.Settings;
|
||||
|
||||
import androidx.core.graphics.drawable.IconCompat;
|
||||
import androidx.slice.Slice;
|
||||
@@ -77,6 +78,9 @@ public class ContextualWifiSliceTest {
|
||||
SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
|
||||
mWifiManager.setWifiEnabled(true);
|
||||
|
||||
// Set WifiSlice expandable
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
ContextualWifiSlice.CONTEXTUAL_WIFI_EXPANDABLE, 1);
|
||||
mWifiSlice = new ContextualWifiSlice(mContext);
|
||||
}
|
||||
|
||||
@@ -126,6 +130,18 @@ public class ContextualWifiSliceTest {
|
||||
assertThat(ContextualWifiSlice.getApRowCount()).isEqualTo(COLLAPSED_ROW_COUNT);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getWifiSlice_notExpandable_shouldCollapseSlice() {
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
ContextualWifiSlice.CONTEXTUAL_WIFI_EXPANDABLE, 0);
|
||||
mWifiSlice.sApRowCollapsed = false;
|
||||
|
||||
final Slice wifiSlice = mWifiSlice.getSlice();
|
||||
|
||||
assertWifiHeader(wifiSlice);
|
||||
assertThat(ContextualWifiSlice.getApRowCount()).isEqualTo(COLLAPSED_ROW_COUNT);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getWifiSlice_contextualWifiSlice_shouldReturnContextualWifiSliceUri() {
|
||||
mWifiSlice.sActiveUiSession = mFeatureFactory.slicesFeatureProvider.getUiSessionToken();
|
||||
|
||||
Reference in New Issue
Block a user