Merge "Revert "Modify the privacy controller to be selectable in the next updateState()""
diff --git a/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java b/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java
index db8bd67..76a8c5f 100644
--- a/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java
+++ b/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java
@@ -255,11 +255,6 @@
* API call for refreshing the preferences in this fragment.
*/
public void refreshPreferences() {
- updatePreferenceStates();
- displayPreferenceControllers();
- }
-
- protected void displayPreferenceControllers() {
final PreferenceScreen screen = getPreferenceScreen();
for (AbstractPreferenceController controller : mControllers) {
// WifiDetailPreferenceController2 gets the callback WifiEntryCallback#onUpdated,
diff --git a/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
index 60c1d99..a0d4b16 100644
--- a/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
@@ -69,12 +69,12 @@
public void updateState(Preference preference) {
final DropDownPreference dropDownPreference = (DropDownPreference) preference;
final int randomizationLevel = getRandomizationValue();
- final boolean isSelectable = mWifiEntry.canSetPrivacy();
- preference.setSelectable(isSelectable);
dropDownPreference.setValue(Integer.toString(randomizationLevel));
- if (isSelectable) {
- updateSummary(dropDownPreference, randomizationLevel);
- } else {
+ updateSummary(dropDownPreference, randomizationLevel);
+
+ // Makes preference not selectable, when this is a ephemeral network.
+ if (!mWifiEntry.canSetPrivacy()) {
+ preference.setSelectable(false);
dropDownPreference.setSummary(R.string.wifi_privacy_settings_ephemeral_summary);
}
}
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2Test.java
index 7f03623..4b1a8ca 100644
--- a/tests/robotests/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2Test.java
@@ -73,46 +73,4 @@
verify(menuItem).setIcon(com.android.internal.R.drawable.ic_mode_edit);
}
-
- @Test
- public void refreshPreferences_shouldUpdatePreferenceStates() {
- final FakeWifiNetworkDetailsFragment2 fakeFragment = new FakeWifiNetworkDetailsFragment2();
-
- fakeFragment.refreshPreferences();
-
- assertThat(fakeFragment.isUpdatePreferenceStatesCalled()).isTrue();
- }
-
- @Test
- public void refreshPreferences_shouldDisplayPreferenceControllers() {
- final FakeWifiNetworkDetailsFragment2 fakeFragment = new FakeWifiNetworkDetailsFragment2();
-
- fakeFragment.refreshPreferences();
-
- assertThat(fakeFragment.isDisplayPreferenceControllersCalled()).isTrue();
- }
-
- // Fake WifiNetworkDetailsFragment2 to verify the protected functions
- public class FakeWifiNetworkDetailsFragment2 extends WifiNetworkDetailsFragment2 {
-
- private boolean mUpdatePreferenceStatesCalled;
- private boolean mDisplayPreferenceControllersCalled;
-
- @Override
- protected void updatePreferenceStates() {
- mUpdatePreferenceStatesCalled = true;
- }
-
- @Override
- protected void displayPreferenceControllers() {
- mDisplayPreferenceControllersCalled = true;
- }
-
- public boolean isUpdatePreferenceStatesCalled() {
- return mUpdatePreferenceStatesCalled;
- }
- public boolean isDisplayPreferenceControllersCalled() {
- return mDisplayPreferenceControllersCalled;
- }
- }
}
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.java
index adf3a07..0414b1c 100644
--- a/tests/robotests/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.java
@@ -105,38 +105,4 @@
assertThat(mDropDownPreference.isSelectable()).isFalse();
}
-
- @Test
- public void testUpdateState_canSetPrivacyInNextUpdate_shouldBeSelectable() {
- // Return false in WifiEntry#canSetPrivacy to make preference un-selectable first.
- when(mMockWifiEntry.canSetPrivacy()).thenReturn(false);
-
- mPreferenceController.updateState(mDropDownPreference);
-
- assertThat(mDropDownPreference.isSelectable()).isFalse();
-
- // Return true in WifiEntry#canSetPrivacy to verify preference back to selectable.
- when(mMockWifiEntry.canSetPrivacy()).thenReturn(true);
-
- mPreferenceController.updateState(mDropDownPreference);
-
- assertThat(mDropDownPreference.isSelectable()).isTrue();
- }
-
- @Test
- public void testUpdateState_canNotSetPrivacyInNextUpdate_shouldNotSelectable() {
- // Return true in WifiEntry#canSetPrivacy to make preference selectable first.
- when(mMockWifiEntry.canSetPrivacy()).thenReturn(true);
-
- mPreferenceController.updateState(mDropDownPreference);
-
- assertThat(mDropDownPreference.isSelectable()).isTrue();
-
- // Return false in WifiEntry#canSetPrivacy to verify preference back to un-selectable.
- when(mMockWifiEntry.canSetPrivacy()).thenReturn(false);
-
- mPreferenceController.updateState(mDropDownPreference);
-
- assertThat(mDropDownPreference.isSelectable()).isFalse();
- }
}