Don't remove wifi preferences when updating AP to avoid GC.

am: 9d031f2fbc

Change-Id: I0a4c7204dcb79880aee5db620b9642b8a1314757
This commit is contained in:
Fan Zhang
2016-08-25 00:44:53 +00:00
committed by android-build-merger

View File

@@ -42,6 +42,7 @@ import android.provider.Settings;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
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;
@@ -54,6 +55,7 @@ import android.widget.ProgressBar;
import android.widget.TextView; import android.widget.TextView;
import android.widget.TextView.BufferType; import android.widget.TextView.BufferType;
import android.widget.Toast; import android.widget.Toast;
import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.MetricsProto.MetricsEvent; import com.android.internal.logging.MetricsProto.MetricsEvent;
import com.android.settings.LinkifyUtils; import com.android.settings.LinkifyUtils;
@@ -612,7 +614,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 +622,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);