Loading src/com/android/settings/wifi/p2p/WifiP2pPeer.java +6 −3 Original line number Original line Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.net.wifi.p2p.WifiP2pDevice; import android.text.TextUtils; import android.text.TextUtils; import android.widget.ImageView; import android.widget.ImageView; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.Preference; import androidx.preference.PreferenceViewHolder; import androidx.preference.PreferenceViewHolder; Loading @@ -29,19 +30,21 @@ import com.android.settings.R; public class WifiP2pPeer extends Preference { public class WifiP2pPeer extends Preference { private static final int FIXED_RSSI = 60; private static final int[] STATE_SECURED = {R.attr.state_encrypted}; private static final int[] STATE_SECURED = {R.attr.state_encrypted}; public WifiP2pDevice device; public WifiP2pDevice device; private final int mRssi; @VisibleForTesting final int mRssi; private ImageView mSignal; private ImageView mSignal; private static final int SIGNAL_LEVELS = 4; @VisibleForTesting static final int SIGNAL_LEVELS = 4; public WifiP2pPeer(Context context, WifiP2pDevice dev) { public WifiP2pPeer(Context context, WifiP2pDevice dev) { super(context); super(context); device = dev; device = dev; setWidgetLayoutResource(R.layout.preference_widget_wifi_signal); setWidgetLayoutResource(R.layout.preference_widget_wifi_signal); mRssi = 60; //TODO: fix mRssi = FIXED_RSSI; //TODO: fix if (TextUtils.isEmpty(device.deviceName)) { if (TextUtils.isEmpty(device.deviceName)) { setTitle(device.deviceAddress); setTitle(device.deviceAddress); } else { } else { Loading src/com/android/settings/wifi/p2p/WifiP2pPreferenceController.java +2 −1 Original line number Original line Diff line number Diff line Loading @@ -52,7 +52,8 @@ public class WifiP2pPreferenceController extends AbstractPreferenceController }; }; private final IntentFilter mFilter = new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION); private final IntentFilter mFilter = new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION); private final LocationManager mLocationManager; private final LocationManager mLocationManager; private final BroadcastReceiver mLocationReceiver = new BroadcastReceiver() { @VisibleForTesting final BroadcastReceiver mLocationReceiver = new BroadcastReceiver() { @Override @Override public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) { if (mWifiDirectPref != null) { if (mWifiDirectPref != null) { Loading src/com/android/settings/wifi/p2p/WifiP2pSettings.java +4 −4 Original line number Original line Diff line number Diff line Loading @@ -91,16 +91,16 @@ public class WifiP2pSettings extends DashboardFragment @VisibleForTesting boolean mLastGroupFormed = false; @VisibleForTesting boolean mLastGroupFormed = false; private boolean mIsIgnoreInitConnectionInfoCallback = false; private boolean mIsIgnoreInitConnectionInfoCallback = false; private P2pPeerCategoryPreferenceController mPeerCategoryController; @VisibleForTesting P2pPeerCategoryPreferenceController mPeerCategoryController; private P2pPersistentCategoryPreferenceController mPersistentCategoryController; @VisibleForTesting P2pPersistentCategoryPreferenceController mPersistentCategoryController; private P2pThisDevicePreferenceController mThisDevicePreferenceController; @VisibleForTesting P2pThisDevicePreferenceController mThisDevicePreferenceController; @VisibleForTesting static final int DIALOG_DISCONNECT = 1; @VisibleForTesting static final int DIALOG_DISCONNECT = 1; @VisibleForTesting static final int DIALOG_CANCEL_CONNECT = 2; @VisibleForTesting static final int DIALOG_CANCEL_CONNECT = 2; @VisibleForTesting static final int DIALOG_RENAME = 3; @VisibleForTesting static final int DIALOG_RENAME = 3; @VisibleForTesting static final int DIALOG_DELETE_GROUP = 4; @VisibleForTesting static final int DIALOG_DELETE_GROUP = 4; private static final String SAVE_DIALOG_PEER = "PEER_STATE"; @VisibleForTesting static final String SAVE_DIALOG_PEER = "PEER_STATE"; @VisibleForTesting static final String SAVE_DEVICE_NAME = "DEV_NAME"; @VisibleForTesting static final String SAVE_DEVICE_NAME = "DEV_NAME"; @VisibleForTesting static final String SAVE_SELECTED_GROUP = "GROUP_NAME"; @VisibleForTesting static final String SAVE_SELECTED_GROUP = "GROUP_NAME"; Loading tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java +202 −10 Original line number Original line Diff line number Diff line Loading @@ -83,6 +83,12 @@ public class WifiConfigController2Test { // Valid PSK pass phrase // Valid PSK pass phrase private static final String GOOD_PSK = "abcdefghijklmnopqrstuvwxyz"; private static final String GOOD_PSK = "abcdefghijklmnopqrstuvwxyz"; private static final String GOOD_SSID = "abc"; private static final String GOOD_SSID = "abc"; private static final String VALID_HEX_PSK = "123456789012345678901234567890123456789012345678901234567890abcd"; private static final String INVALID_HEX_PSK = "123456789012345678901234567890123456789012345678901234567890ghij"; private static final String NUMBER_AND_CHARACTER_KEY = "123456abcd"; private static final String PARTIAL_NUMBER_AND_CHARACTER_KEY = "123456abc?"; private static final int DHCP = 0; private static final int DHCP = 0; @Before @Before Loading Loading @@ -518,16 +524,7 @@ public class WifiConfigController2Test { @Test @Test public void selectEapMethod_savedWifiEntry_shouldGetCorrectPosition() { public void selectEapMethod_savedWifiEntry_shouldGetCorrectPosition() { when(mWifiEntry.isSaved()).thenReturn(true); setUpModifyingSavedPeapConfigController(); when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP); final WifiConfiguration mockWifiConfig = mock(WifiConfiguration.class); when(mockWifiConfig.getIpConfiguration()).thenReturn(mock(IpConfiguration.class)); final WifiEnterpriseConfig mockWifiEnterpriseConfig = mock(WifiEnterpriseConfig.class); when(mockWifiEnterpriseConfig.getEapMethod()).thenReturn(Eap.PEAP); mockWifiConfig.enterpriseConfig = mockWifiEnterpriseConfig; when(mWifiEntry.getWifiConfiguration()).thenReturn(mockWifiConfig); mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry, WifiConfigUiBase2.MODE_MODIFY); final Spinner eapMethodSpinner = mView.findViewById(R.id.method); final Spinner eapMethodSpinner = mView.findViewById(R.id.method); final Spinner phase2Spinner = mView.findViewById(R.id.phase2); final Spinner phase2Spinner = mView.findViewById(R.id.phase2); WifiConfiguration wifiConfiguration; WifiConfiguration wifiConfiguration; Loading Loading @@ -568,4 +565,199 @@ public class WifiConfigController2Test { assertThat(advButton.getContentDescription()).isEqualTo( assertThat(advButton.getContentDescription()).isEqualTo( mContext.getString(R.string.wifi_advanced_toggle_description)); mContext.getString(R.string.wifi_advanced_toggle_description)); } } @Test public void getWepConfig_withNumberAndCharacterKey_shouldContainTheSameKey() { final TextView password = mView.findViewById(R.id.password); password.setText(NUMBER_AND_CHARACTER_KEY); mController.mWifiEntrySecurity = WifiEntry.SECURITY_WEP; WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.wepKeys[0]).isEqualTo(NUMBER_AND_CHARACTER_KEY); } @Test public void getWepConfig_withPartialNumberAndCharacterKey_shouldContainDifferentKey() { final TextView password = mView.findViewById(R.id.password); password.setText(PARTIAL_NUMBER_AND_CHARACTER_KEY); mController.mWifiEntrySecurity = WifiEntry.SECURITY_WEP; WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.wepKeys[0]).isNotEqualTo(PARTIAL_NUMBER_AND_CHARACTER_KEY); } @Test public void getPskConfig_withValidHexKey_shouldContainTheSameKey() { final TextView password = mView.findViewById(R.id.password); password.setText(VALID_HEX_PSK); mController.mWifiEntrySecurity = WifiEntry.SECURITY_PSK; WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.preSharedKey).isEqualTo(VALID_HEX_PSK); } @Test public void getPskConfig_withInvalidHexKey_shouldContainDifferentKey() { final TextView password = mView.findViewById(R.id.password); password.setText(INVALID_HEX_PSK); mController.mWifiEntrySecurity = WifiEntry.SECURITY_PSK; WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.preSharedKey).isNotEqualTo(INVALID_HEX_PSK); } @Test public void getEapConfig_withPhase2Gtc_shouldContainGtcMethod() { setUpModifyingSavedPeapConfigController(); // Test EAP method PEAP final Spinner eapMethodSpinner = mView.findViewById(R.id.method); eapMethodSpinner.setSelection(Eap.PEAP); // Test phase2 GTC final Spinner phase2Spinner = mView.findViewById(R.id.phase2); phase2Spinner.setSelection(WifiConfigController2.WIFI_PEAP_PHASE2_GTC); WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.enterpriseConfig.getPhase2Method()).isEqualTo(Phase2.GTC); } @Test public void getEapConfig_withPhase2Sim_shouldContainSimMethod() { setUpModifyingSavedPeapConfigController(); // Test EAP method PEAP final Spinner eapMethodSpinner = mView.findViewById(R.id.method); eapMethodSpinner.setSelection(Eap.PEAP); // Test phase2 SIM final Spinner phase2Spinner = mView.findViewById(R.id.phase2); phase2Spinner.setSelection(WifiConfigController2.WIFI_PEAP_PHASE2_SIM); WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.enterpriseConfig.getPhase2Method()).isEqualTo(Phase2.SIM); } @Test public void getEapConfig_withPhase2Aka_shouldContainAkaMethod() { setUpModifyingSavedPeapConfigController(); // Test EAP method PEAP final Spinner eapMethodSpinner = mView.findViewById(R.id.method); eapMethodSpinner.setSelection(Eap.PEAP); // Test phase2 AKA final Spinner phase2Spinner = mView.findViewById(R.id.phase2); phase2Spinner.setSelection(WifiConfigController2.WIFI_PEAP_PHASE2_AKA); WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.enterpriseConfig.getPhase2Method()).isEqualTo(Phase2.AKA); } @Test public void getEapConfig_withPhase2AkaPrime_shouldContainAkaPrimeMethod() { setUpModifyingSavedPeapConfigController(); // Test EAP method PEAP final Spinner eapMethodSpinner = mView.findViewById(R.id.method); eapMethodSpinner.setSelection(Eap.PEAP); // Test phase2 AKA PRIME final Spinner phase2Spinner = mView.findViewById(R.id.phase2); phase2Spinner.setSelection(WifiConfigController2.WIFI_PEAP_PHASE2_AKA_PRIME); WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.enterpriseConfig.getPhase2Method()).isEqualTo( Phase2.AKA_PRIME); } @Test public void getEapConfig_withPeapPhase2Unknown_shouldContainNoneMethod() { setUpModifyingSavedPeapConfigController(); // Test EAP method PEAP final Spinner eapMethodSpinner = mView.findViewById(R.id.method); eapMethodSpinner.setSelection(Eap.PEAP); // Test phase2 Unknown final Spinner phase2Spinner = mView.findViewById(R.id.phase2); phase2Spinner.setSelection(-1); WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.enterpriseConfig.getPhase2Method()).isEqualTo(Phase2.NONE); } @Test public void getEapConfig_withTTLSPhase2Pap_shouldContainPapMethod() { setUpModifyingSavedPeapConfigController(); // Test EAP method TTLS final Spinner eapMethodSpinner = mView.findViewById(R.id.method); eapMethodSpinner.setSelection(Eap.TTLS); // Test phase2 PAP final Spinner phase2Spinner = mView.findViewById(R.id.phase2); phase2Spinner.setSelection(WifiConfigController2.WIFI_TTLS_PHASE2_PAP); WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.enterpriseConfig.getPhase2Method()).isEqualTo(Phase2.PAP); } @Test public void getEapConfig_withTTLSPhase2Mschap_shouldContainMschapMethod() { setUpModifyingSavedPeapConfigController(); // Test EAP method TTLS final Spinner eapMethodSpinner = mView.findViewById(R.id.method); eapMethodSpinner.setSelection(Eap.TTLS); // Test phase2 MSCHAP final Spinner phase2Spinner = mView.findViewById(R.id.phase2); phase2Spinner.setSelection(WifiConfigController2.WIFI_TTLS_PHASE2_MSCHAP); WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.enterpriseConfig.getPhase2Method()).isEqualTo(Phase2.MSCHAP); } @Test public void getEapConfig_withTTLSPhase2Gtc_shouldContainGtcMethod() { setUpModifyingSavedPeapConfigController(); // Test EAP method TTLS final Spinner eapMethodSpinner = mView.findViewById(R.id.method); eapMethodSpinner.setSelection(Eap.TTLS); // Test phase2 GTC final Spinner phase2Spinner = mView.findViewById(R.id.phase2); phase2Spinner.setSelection(WifiConfigController2.WIFI_TTLS_PHASE2_GTC); WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.enterpriseConfig.getPhase2Method()).isEqualTo(Phase2.GTC); } private void setUpModifyingSavedPeapConfigController() { when(mWifiEntry.isSaved()).thenReturn(true); when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP); final WifiConfiguration mockWifiConfig = mock(WifiConfiguration.class); when(mockWifiConfig.getIpConfiguration()).thenReturn(mock(IpConfiguration.class)); final WifiEnterpriseConfig mockWifiEnterpriseConfig = mock(WifiEnterpriseConfig.class); when(mockWifiEnterpriseConfig.getEapMethod()).thenReturn(Eap.PEAP); mockWifiConfig.enterpriseConfig = mockWifiEnterpriseConfig; when(mWifiEntry.getWifiConfiguration()).thenReturn(mockWifiConfig); mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry, WifiConfigUiBase2.MODE_MODIFY); } } } tests/robotests/src/com/android/settings/wifi/p2p/WifiP2PPreferenceControllerTest.java +13 −1 Original line number Original line Diff line number Diff line Loading @@ -39,7 +39,6 @@ import androidx.lifecycle.LifecycleOwner; import androidx.preference.Preference; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen; import com.android.settings.dashboard.DashboardFragment; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.Lifecycle; import org.junit.Before; import org.junit.Before; Loading Loading @@ -132,4 +131,17 @@ public class WifiP2PPreferenceControllerTest { mController.displayPreference(mScreen); mController.displayPreference(mScreen); verify(mWifiDirectPreference, times(2)).setEnabled(false); verify(mWifiDirectPreference, times(2)).setEnabled(false); } } @Test public void updateState_withLocationDisabled_preferenceShouldBeDisable() { when(mWifiManager.isWifiEnabled()).thenReturn(true); when(mLocationManager.isLocationEnabled()).thenReturn(true); Intent dummyIntent = new Intent(); mController.displayPreference(mScreen); verify(mWifiDirectPreference).setEnabled(true); when(mLocationManager.isLocationEnabled()).thenReturn(false); mController.mLocationReceiver.onReceive(mContext, dummyIntent); verify(mWifiDirectPreference).setEnabled(false); } } } Loading
src/com/android/settings/wifi/p2p/WifiP2pPeer.java +6 −3 Original line number Original line Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.net.wifi.p2p.WifiP2pDevice; import android.text.TextUtils; import android.text.TextUtils; import android.widget.ImageView; import android.widget.ImageView; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.Preference; import androidx.preference.PreferenceViewHolder; import androidx.preference.PreferenceViewHolder; Loading @@ -29,19 +30,21 @@ import com.android.settings.R; public class WifiP2pPeer extends Preference { public class WifiP2pPeer extends Preference { private static final int FIXED_RSSI = 60; private static final int[] STATE_SECURED = {R.attr.state_encrypted}; private static final int[] STATE_SECURED = {R.attr.state_encrypted}; public WifiP2pDevice device; public WifiP2pDevice device; private final int mRssi; @VisibleForTesting final int mRssi; private ImageView mSignal; private ImageView mSignal; private static final int SIGNAL_LEVELS = 4; @VisibleForTesting static final int SIGNAL_LEVELS = 4; public WifiP2pPeer(Context context, WifiP2pDevice dev) { public WifiP2pPeer(Context context, WifiP2pDevice dev) { super(context); super(context); device = dev; device = dev; setWidgetLayoutResource(R.layout.preference_widget_wifi_signal); setWidgetLayoutResource(R.layout.preference_widget_wifi_signal); mRssi = 60; //TODO: fix mRssi = FIXED_RSSI; //TODO: fix if (TextUtils.isEmpty(device.deviceName)) { if (TextUtils.isEmpty(device.deviceName)) { setTitle(device.deviceAddress); setTitle(device.deviceAddress); } else { } else { Loading
src/com/android/settings/wifi/p2p/WifiP2pPreferenceController.java +2 −1 Original line number Original line Diff line number Diff line Loading @@ -52,7 +52,8 @@ public class WifiP2pPreferenceController extends AbstractPreferenceController }; }; private final IntentFilter mFilter = new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION); private final IntentFilter mFilter = new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION); private final LocationManager mLocationManager; private final LocationManager mLocationManager; private final BroadcastReceiver mLocationReceiver = new BroadcastReceiver() { @VisibleForTesting final BroadcastReceiver mLocationReceiver = new BroadcastReceiver() { @Override @Override public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) { if (mWifiDirectPref != null) { if (mWifiDirectPref != null) { Loading
src/com/android/settings/wifi/p2p/WifiP2pSettings.java +4 −4 Original line number Original line Diff line number Diff line Loading @@ -91,16 +91,16 @@ public class WifiP2pSettings extends DashboardFragment @VisibleForTesting boolean mLastGroupFormed = false; @VisibleForTesting boolean mLastGroupFormed = false; private boolean mIsIgnoreInitConnectionInfoCallback = false; private boolean mIsIgnoreInitConnectionInfoCallback = false; private P2pPeerCategoryPreferenceController mPeerCategoryController; @VisibleForTesting P2pPeerCategoryPreferenceController mPeerCategoryController; private P2pPersistentCategoryPreferenceController mPersistentCategoryController; @VisibleForTesting P2pPersistentCategoryPreferenceController mPersistentCategoryController; private P2pThisDevicePreferenceController mThisDevicePreferenceController; @VisibleForTesting P2pThisDevicePreferenceController mThisDevicePreferenceController; @VisibleForTesting static final int DIALOG_DISCONNECT = 1; @VisibleForTesting static final int DIALOG_DISCONNECT = 1; @VisibleForTesting static final int DIALOG_CANCEL_CONNECT = 2; @VisibleForTesting static final int DIALOG_CANCEL_CONNECT = 2; @VisibleForTesting static final int DIALOG_RENAME = 3; @VisibleForTesting static final int DIALOG_RENAME = 3; @VisibleForTesting static final int DIALOG_DELETE_GROUP = 4; @VisibleForTesting static final int DIALOG_DELETE_GROUP = 4; private static final String SAVE_DIALOG_PEER = "PEER_STATE"; @VisibleForTesting static final String SAVE_DIALOG_PEER = "PEER_STATE"; @VisibleForTesting static final String SAVE_DEVICE_NAME = "DEV_NAME"; @VisibleForTesting static final String SAVE_DEVICE_NAME = "DEV_NAME"; @VisibleForTesting static final String SAVE_SELECTED_GROUP = "GROUP_NAME"; @VisibleForTesting static final String SAVE_SELECTED_GROUP = "GROUP_NAME"; Loading
tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java +202 −10 Original line number Original line Diff line number Diff line Loading @@ -83,6 +83,12 @@ public class WifiConfigController2Test { // Valid PSK pass phrase // Valid PSK pass phrase private static final String GOOD_PSK = "abcdefghijklmnopqrstuvwxyz"; private static final String GOOD_PSK = "abcdefghijklmnopqrstuvwxyz"; private static final String GOOD_SSID = "abc"; private static final String GOOD_SSID = "abc"; private static final String VALID_HEX_PSK = "123456789012345678901234567890123456789012345678901234567890abcd"; private static final String INVALID_HEX_PSK = "123456789012345678901234567890123456789012345678901234567890ghij"; private static final String NUMBER_AND_CHARACTER_KEY = "123456abcd"; private static final String PARTIAL_NUMBER_AND_CHARACTER_KEY = "123456abc?"; private static final int DHCP = 0; private static final int DHCP = 0; @Before @Before Loading Loading @@ -518,16 +524,7 @@ public class WifiConfigController2Test { @Test @Test public void selectEapMethod_savedWifiEntry_shouldGetCorrectPosition() { public void selectEapMethod_savedWifiEntry_shouldGetCorrectPosition() { when(mWifiEntry.isSaved()).thenReturn(true); setUpModifyingSavedPeapConfigController(); when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP); final WifiConfiguration mockWifiConfig = mock(WifiConfiguration.class); when(mockWifiConfig.getIpConfiguration()).thenReturn(mock(IpConfiguration.class)); final WifiEnterpriseConfig mockWifiEnterpriseConfig = mock(WifiEnterpriseConfig.class); when(mockWifiEnterpriseConfig.getEapMethod()).thenReturn(Eap.PEAP); mockWifiConfig.enterpriseConfig = mockWifiEnterpriseConfig; when(mWifiEntry.getWifiConfiguration()).thenReturn(mockWifiConfig); mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry, WifiConfigUiBase2.MODE_MODIFY); final Spinner eapMethodSpinner = mView.findViewById(R.id.method); final Spinner eapMethodSpinner = mView.findViewById(R.id.method); final Spinner phase2Spinner = mView.findViewById(R.id.phase2); final Spinner phase2Spinner = mView.findViewById(R.id.phase2); WifiConfiguration wifiConfiguration; WifiConfiguration wifiConfiguration; Loading Loading @@ -568,4 +565,199 @@ public class WifiConfigController2Test { assertThat(advButton.getContentDescription()).isEqualTo( assertThat(advButton.getContentDescription()).isEqualTo( mContext.getString(R.string.wifi_advanced_toggle_description)); mContext.getString(R.string.wifi_advanced_toggle_description)); } } @Test public void getWepConfig_withNumberAndCharacterKey_shouldContainTheSameKey() { final TextView password = mView.findViewById(R.id.password); password.setText(NUMBER_AND_CHARACTER_KEY); mController.mWifiEntrySecurity = WifiEntry.SECURITY_WEP; WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.wepKeys[0]).isEqualTo(NUMBER_AND_CHARACTER_KEY); } @Test public void getWepConfig_withPartialNumberAndCharacterKey_shouldContainDifferentKey() { final TextView password = mView.findViewById(R.id.password); password.setText(PARTIAL_NUMBER_AND_CHARACTER_KEY); mController.mWifiEntrySecurity = WifiEntry.SECURITY_WEP; WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.wepKeys[0]).isNotEqualTo(PARTIAL_NUMBER_AND_CHARACTER_KEY); } @Test public void getPskConfig_withValidHexKey_shouldContainTheSameKey() { final TextView password = mView.findViewById(R.id.password); password.setText(VALID_HEX_PSK); mController.mWifiEntrySecurity = WifiEntry.SECURITY_PSK; WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.preSharedKey).isEqualTo(VALID_HEX_PSK); } @Test public void getPskConfig_withInvalidHexKey_shouldContainDifferentKey() { final TextView password = mView.findViewById(R.id.password); password.setText(INVALID_HEX_PSK); mController.mWifiEntrySecurity = WifiEntry.SECURITY_PSK; WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.preSharedKey).isNotEqualTo(INVALID_HEX_PSK); } @Test public void getEapConfig_withPhase2Gtc_shouldContainGtcMethod() { setUpModifyingSavedPeapConfigController(); // Test EAP method PEAP final Spinner eapMethodSpinner = mView.findViewById(R.id.method); eapMethodSpinner.setSelection(Eap.PEAP); // Test phase2 GTC final Spinner phase2Spinner = mView.findViewById(R.id.phase2); phase2Spinner.setSelection(WifiConfigController2.WIFI_PEAP_PHASE2_GTC); WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.enterpriseConfig.getPhase2Method()).isEqualTo(Phase2.GTC); } @Test public void getEapConfig_withPhase2Sim_shouldContainSimMethod() { setUpModifyingSavedPeapConfigController(); // Test EAP method PEAP final Spinner eapMethodSpinner = mView.findViewById(R.id.method); eapMethodSpinner.setSelection(Eap.PEAP); // Test phase2 SIM final Spinner phase2Spinner = mView.findViewById(R.id.phase2); phase2Spinner.setSelection(WifiConfigController2.WIFI_PEAP_PHASE2_SIM); WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.enterpriseConfig.getPhase2Method()).isEqualTo(Phase2.SIM); } @Test public void getEapConfig_withPhase2Aka_shouldContainAkaMethod() { setUpModifyingSavedPeapConfigController(); // Test EAP method PEAP final Spinner eapMethodSpinner = mView.findViewById(R.id.method); eapMethodSpinner.setSelection(Eap.PEAP); // Test phase2 AKA final Spinner phase2Spinner = mView.findViewById(R.id.phase2); phase2Spinner.setSelection(WifiConfigController2.WIFI_PEAP_PHASE2_AKA); WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.enterpriseConfig.getPhase2Method()).isEqualTo(Phase2.AKA); } @Test public void getEapConfig_withPhase2AkaPrime_shouldContainAkaPrimeMethod() { setUpModifyingSavedPeapConfigController(); // Test EAP method PEAP final Spinner eapMethodSpinner = mView.findViewById(R.id.method); eapMethodSpinner.setSelection(Eap.PEAP); // Test phase2 AKA PRIME final Spinner phase2Spinner = mView.findViewById(R.id.phase2); phase2Spinner.setSelection(WifiConfigController2.WIFI_PEAP_PHASE2_AKA_PRIME); WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.enterpriseConfig.getPhase2Method()).isEqualTo( Phase2.AKA_PRIME); } @Test public void getEapConfig_withPeapPhase2Unknown_shouldContainNoneMethod() { setUpModifyingSavedPeapConfigController(); // Test EAP method PEAP final Spinner eapMethodSpinner = mView.findViewById(R.id.method); eapMethodSpinner.setSelection(Eap.PEAP); // Test phase2 Unknown final Spinner phase2Spinner = mView.findViewById(R.id.phase2); phase2Spinner.setSelection(-1); WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.enterpriseConfig.getPhase2Method()).isEqualTo(Phase2.NONE); } @Test public void getEapConfig_withTTLSPhase2Pap_shouldContainPapMethod() { setUpModifyingSavedPeapConfigController(); // Test EAP method TTLS final Spinner eapMethodSpinner = mView.findViewById(R.id.method); eapMethodSpinner.setSelection(Eap.TTLS); // Test phase2 PAP final Spinner phase2Spinner = mView.findViewById(R.id.phase2); phase2Spinner.setSelection(WifiConfigController2.WIFI_TTLS_PHASE2_PAP); WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.enterpriseConfig.getPhase2Method()).isEqualTo(Phase2.PAP); } @Test public void getEapConfig_withTTLSPhase2Mschap_shouldContainMschapMethod() { setUpModifyingSavedPeapConfigController(); // Test EAP method TTLS final Spinner eapMethodSpinner = mView.findViewById(R.id.method); eapMethodSpinner.setSelection(Eap.TTLS); // Test phase2 MSCHAP final Spinner phase2Spinner = mView.findViewById(R.id.phase2); phase2Spinner.setSelection(WifiConfigController2.WIFI_TTLS_PHASE2_MSCHAP); WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.enterpriseConfig.getPhase2Method()).isEqualTo(Phase2.MSCHAP); } @Test public void getEapConfig_withTTLSPhase2Gtc_shouldContainGtcMethod() { setUpModifyingSavedPeapConfigController(); // Test EAP method TTLS final Spinner eapMethodSpinner = mView.findViewById(R.id.method); eapMethodSpinner.setSelection(Eap.TTLS); // Test phase2 GTC final Spinner phase2Spinner = mView.findViewById(R.id.phase2); phase2Spinner.setSelection(WifiConfigController2.WIFI_TTLS_PHASE2_GTC); WifiConfiguration wifiConfiguration = mController.getConfig(); assertThat(wifiConfiguration.enterpriseConfig.getPhase2Method()).isEqualTo(Phase2.GTC); } private void setUpModifyingSavedPeapConfigController() { when(mWifiEntry.isSaved()).thenReturn(true); when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP); final WifiConfiguration mockWifiConfig = mock(WifiConfiguration.class); when(mockWifiConfig.getIpConfiguration()).thenReturn(mock(IpConfiguration.class)); final WifiEnterpriseConfig mockWifiEnterpriseConfig = mock(WifiEnterpriseConfig.class); when(mockWifiEnterpriseConfig.getEapMethod()).thenReturn(Eap.PEAP); mockWifiConfig.enterpriseConfig = mockWifiEnterpriseConfig; when(mWifiEntry.getWifiConfiguration()).thenReturn(mockWifiConfig); mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry, WifiConfigUiBase2.MODE_MODIFY); } } }
tests/robotests/src/com/android/settings/wifi/p2p/WifiP2PPreferenceControllerTest.java +13 −1 Original line number Original line Diff line number Diff line Loading @@ -39,7 +39,6 @@ import androidx.lifecycle.LifecycleOwner; import androidx.preference.Preference; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen; import com.android.settings.dashboard.DashboardFragment; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.Lifecycle; import org.junit.Before; import org.junit.Before; Loading Loading @@ -132,4 +131,17 @@ public class WifiP2PPreferenceControllerTest { mController.displayPreference(mScreen); mController.displayPreference(mScreen); verify(mWifiDirectPreference, times(2)).setEnabled(false); verify(mWifiDirectPreference, times(2)).setEnabled(false); } } @Test public void updateState_withLocationDisabled_preferenceShouldBeDisable() { when(mWifiManager.isWifiEnabled()).thenReturn(true); when(mLocationManager.isLocationEnabled()).thenReturn(true); Intent dummyIntent = new Intent(); mController.displayPreference(mScreen); verify(mWifiDirectPreference).setEnabled(true); when(mLocationManager.isLocationEnabled()).thenReturn(false); mController.mLocationReceiver.onReceive(mContext, dummyIntent); verify(mWifiDirectPreference).setEnabled(false); } } }