Merge "Fix Wifi screen updating"

This commit is contained in:
Tony Mantler
2016-08-17 15:59:55 +00:00
committed by Android (Google) Code Review

View File

@@ -40,8 +40,10 @@ import android.os.HandlerThread;
import android.os.Process; import android.os.Process;
import android.provider.Settings; import android.provider.Settings;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceManager;
import android.support.v7.preference.PreferenceViewHolder; import android.support.v7.preference.PreferenceViewHolder;
import android.text.Spannable; import android.text.Spannable;
import android.text.TextUtils;
import android.text.style.TextAppearanceSpan; import android.text.style.TextAppearanceSpan;
import android.util.Log; import android.util.Log;
import android.view.ContextMenu; import android.view.ContextMenu;
@@ -169,6 +171,8 @@ public class WifiSettings extends RestrictedSettingsFragment
@Override @Override
public void onCreate(Bundle icicle) { public void onCreate(Bundle icicle) {
super.onCreate(icicle); super.onCreate(icicle);
getPreferenceManager().setPreferenceComparisonCallback(
new PreferenceManager.SimplePreferenceComparisonCallback());
addPreferencesFromResource(R.xml.wifi_settings); addPreferencesFromResource(R.xml.wifi_settings);
mAddPreference = new Preference(getContext()); mAddPreference = new Preference(getContext());
mAddPreference.setIcon(R.drawable.ic_menu_add_inset); mAddPreference.setIcon(R.drawable.ic_menu_add_inset);
@@ -611,7 +615,6 @@ public class WifiSettings extends RestrictedSettingsFragment
// AccessPoints are automatically sorted with TreeSet. // AccessPoints are automatically sorted with TreeSet.
final Collection<AccessPoint> accessPoints = final Collection<AccessPoint> accessPoints =
mWifiTracker.getAccessPoints(); mWifiTracker.getAccessPoints();
getPreferenceScreen().removeAll();
boolean hasAvailableAccessPoints = false; boolean hasAvailableAccessPoints = false;
int index = 0; int index = 0;
@@ -620,6 +623,9 @@ public class WifiSettings extends RestrictedSettingsFragment
// Ignore access points that are out of range. // Ignore access points that are out of range.
if (accessPoint.getLevel() != -1) { if (accessPoint.getLevel() != -1) {
String key = accessPoint.getBssid(); String key = accessPoint.getBssid();
if (TextUtils.isEmpty(key)) {
key = accessPoint.getSsidStr();
}
hasAvailableAccessPoints = true; hasAvailableAccessPoints = true;
LongPressAccessPointPreference pref = (LongPressAccessPointPreference) LongPressAccessPointPreference pref = (LongPressAccessPointPreference)
getCachedPreference(key); getCachedPreference(key);