Fix Wifi screen updating

Fixes keyboard focus being cleared, and allows animation

b/30759327

Change-Id: If820708a292ef8dfa173d9edc04bbab322ee78d9
This commit is contained in:
Tony Mantler
2016-08-12 13:33:54 -07:00
parent d599f43a1c
commit c2d8110a86

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;
@@ -170,6 +172,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);
@@ -612,7 +616,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;
@@ -621,6 +624,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);