From c2d8110a86bffc9b9f3bdd1bb60074abcd82c890 Mon Sep 17 00:00:00 2001 From: Tony Mantler Date: Fri, 12 Aug 2016 13:33:54 -0700 Subject: [PATCH] Fix Wifi screen updating Fixes keyboard focus being cleared, and allows animation b/30759327 Change-Id: If820708a292ef8dfa173d9edc04bbab322ee78d9 --- src/com/android/settings/wifi/WifiSettings.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java index 8eb1759ff49..6acc6fcb45e 100644 --- a/src/com/android/settings/wifi/WifiSettings.java +++ b/src/com/android/settings/wifi/WifiSettings.java @@ -40,8 +40,10 @@ import android.os.HandlerThread; import android.os.Process; import android.provider.Settings; import android.support.v7.preference.Preference; +import android.support.v7.preference.PreferenceManager; import android.support.v7.preference.PreferenceViewHolder; import android.text.Spannable; +import android.text.TextUtils; import android.text.style.TextAppearanceSpan; import android.util.Log; import android.view.ContextMenu; @@ -170,6 +172,8 @@ public class WifiSettings extends RestrictedSettingsFragment @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); + getPreferenceManager().setPreferenceComparisonCallback( + new PreferenceManager.SimplePreferenceComparisonCallback()); addPreferencesFromResource(R.xml.wifi_settings); mAddPreference = new Preference(getContext()); mAddPreference.setIcon(R.drawable.ic_menu_add_inset); @@ -612,7 +616,6 @@ public class WifiSettings extends RestrictedSettingsFragment // AccessPoints are automatically sorted with TreeSet. final Collection accessPoints = mWifiTracker.getAccessPoints(); - getPreferenceScreen().removeAll(); boolean hasAvailableAccessPoints = false; int index = 0; @@ -621,6 +624,9 @@ public class WifiSettings extends RestrictedSettingsFragment // Ignore access points that are out of range. if (accessPoint.getLevel() != -1) { String key = accessPoint.getBssid(); + if (TextUtils.isEmpty(key)) { + key = accessPoint.getSsidStr(); + } hasAvailableAccessPoints = true; LongPressAccessPointPreference pref = (LongPressAccessPointPreference) getCachedPreference(key);