Merge "Import translations. DO NOT MERGE ANYWHERE"
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();
-    }
 }
diff --git a/tests/unit/README b/tests/unit/README
index 881602a..f5fdea0 100644
--- a/tests/unit/README
+++ b/tests/unit/README
@@ -1,8 +1,12 @@
 To build the tests you can use the following command at the root of your android source tree
 $ make SettingsUnitTests
 
-The test apk then needs to be installed onto your test device via for example
-$ adb install -r out/target/product/shamu/data/app/SettingsUnitTests/SettingsUnitTests.apk
+The test apk then needs to be installed onto your test device. The apk's location will vary
+depending on your device model and architecture. At the end of the make command's output, there
+should be a line similar to the following:
+"Copy: out/target/product/shamu/testcases/SettingsUnitTests/arm64/SettingsUnitTests.apk"
+Install via the following command:
+$ adb install -r out/target/product/shamu/testcases/SettingsUnitTests/arm64/SettingsUnitTests.apk
 
 To run all tests:
 $ adb shell am instrument -w com.android.settings.tests.unit/androidx.test.runner.AndroidJUnitRunner