From 82588849acbc36681ca59cfd957bf5e1ed014dce Mon Sep 17 00:00:00 2001 From: cosmohsieh Date: Wed, 16 Jan 2019 09:08:34 +0800 Subject: [PATCH] [Mac Randomization] Fix perference changing not work and wrong default value 1. Mac randomization setting would not effect, until reconnecting the network. Disconnect it and WiFi will soonly connect back. 2. Mac randomization setting of adding network page is default to "device MAC", correcting to "Randomization" Bug: 123123123 Test: make RunSettingsRoboTests -j32 ROBOTEST_FILTER=com.android.settings.wifi Change-Id: I91f8670ddf81aea89354c4cc9c9a7901b8f3409c --- src/com/android/settings/wifi/WifiConfigController.java | 2 ++ .../settings/wifi/details/WifiPrivacyPreferenceController.java | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java index ad483b5bfa8..b0d09e4c12a 100644 --- a/src/com/android/settings/wifi/WifiConfigController.java +++ b/src/com/android/settings/wifi/WifiConfigController.java @@ -251,6 +251,8 @@ public class WifiConfigController implements TextWatcher, com.android.settings.core.FeatureFlags.WIFI_MAC_RANDOMIZATION)) { View privacySettingsLayout = mView.findViewById(R.id.privacy_settings_fields); privacySettingsLayout.setVisibility(View.VISIBLE); + // Set default value + mPrivacySettingsSpinner.setSelection(WifiConfiguration.RANDOMIZATION_PERSISTENT); } mHiddenSettingsSpinner.setOnItemSelectedListener(this); mHiddenWarningView = mView.findViewById(R.id.hidden_settings_warning); diff --git a/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java b/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java index 9f81431829c..18be5425bf1 100644 --- a/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java +++ b/src/com/android/settings/wifi/details/WifiPrivacyPreferenceController.java @@ -69,6 +69,9 @@ public class WifiPrivacyPreferenceController extends BasePreferenceController im if (mWifiConfiguration != null) { mWifiConfiguration.macRandomizationSetting = Integer.parseInt((String) newValue); mWifiManager.updateNetwork(mWifiConfiguration); + // To activate changing, we need reconnect network. WiFi will auto connect to current + // network after disconnect(). + mWifiManager.disconnect(); } updateSummary((DropDownPreference) preference, Integer.parseInt((String) newValue)); return true;