diff --git a/src/com/android/settings/wifi/WifiConfigController2.java b/src/com/android/settings/wifi/WifiConfigController2.java index a885330f0ea..6a6244b6f09 100644 --- a/src/com/android/settings/wifi/WifiConfigController2.java +++ b/src/com/android/settings/wifi/WifiConfigController2.java @@ -1390,7 +1390,11 @@ public class WifiConfigController2 implements TextWatcher, @VisibleForTesting void setAnonymousIdVisible() { - mView.findViewById(R.id.l_anonymous).setVisibility(View.VISIBLE); + View view = mView.findViewById(R.id.l_anonymous); + if (view.getVisibility() == View.VISIBLE) { + return; + } + view.setVisibility(View.VISIBLE); mEapAnonymousView.setText(DEFAULT_ANONYMOUS_ID); } diff --git a/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java b/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java index d17414d429e..4fcc93daba3 100644 --- a/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java +++ b/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java @@ -21,9 +21,11 @@ import static com.android.settings.wifi.WifiConfigController2.WIFI_EAP_METHOD_SI import static com.google.common.truth.Truth.assertThat; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.Mockito.eq; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -997,6 +999,18 @@ public class WifiConfigController2Test { assertThat(anonymousId.getText().toString()).isEqualTo(DEFAULT_ANONYMOUS_ID); } + @Test + public void setAnonymousIdVisible_viewIsVisible_doNotSetText() { + createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false); + View anonymousLayout = mView.findViewById(R.id.l_anonymous); + mController.mEapAnonymousView = mock(TextView.class); + anonymousLayout.setVisibility(View.VISIBLE); + + mController.setAnonymousIdVisible(); + + verify(mController.mEapAnonymousView, never()).setText(any(String.class)); + } + private void setUpModifyingSavedCertificateConfigController(String savedCaCertificate, String savedUserCertificate) { final WifiConfiguration mockWifiConfig = spy(new WifiConfiguration());