From 5c0063af7edae995fdfaa45441a3f1dc2666b252 Mon Sep 17 00:00:00 2001 From: Salvador Martinez Date: Fri, 12 Aug 2016 10:31:43 -0700 Subject: [PATCH] Prevent wifi icon from disappearing Made changes to WifiSettings that customizes the preference icon so that the icon is never null. This greatly reduces jittering. Bug: 29979747 Change-Id: I3d2767310513389c09a37e34674a304278f4d0de (cherry picked from commit 47568de0037401f1f5c1d17231f9198b16c8872e) --- res/drawable/ic_wifi_signal_0.xml | 26 +++++++++++++++++++ .../wifi/LongPressAccessPointPreference.java | 19 +++++--------- .../android/settings/wifi/WifiSettings.java | 6 ++--- 3 files changed, 35 insertions(+), 16 deletions(-) create mode 100644 res/drawable/ic_wifi_signal_0.xml diff --git a/res/drawable/ic_wifi_signal_0.xml b/res/drawable/ic_wifi_signal_0.xml new file mode 100644 index 00000000000..55faf64f675 --- /dev/null +++ b/res/drawable/ic_wifi_signal_0.xml @@ -0,0 +1,26 @@ + + + + + \ No newline at end of file diff --git a/src/com/android/settings/wifi/LongPressAccessPointPreference.java b/src/com/android/settings/wifi/LongPressAccessPointPreference.java index 46746cba65e..79f29ef6b10 100644 --- a/src/com/android/settings/wifi/LongPressAccessPointPreference.java +++ b/src/com/android/settings/wifi/LongPressAccessPointPreference.java @@ -17,21 +17,8 @@ package com.android.settings.wifi; import android.app.Fragment; import android.content.Context; -import android.content.pm.PackageManager; -import android.graphics.drawable.Drawable; -import android.graphics.drawable.StateListDrawable; -import android.net.wifi.WifiConfiguration; -import android.os.Looper; -import android.os.UserHandle; -import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceViewHolder; -import android.text.TextUtils; import android.util.AttributeSet; -import android.util.SparseArray; -import android.view.View; -import android.widget.TextView; - -import com.android.settings.R; import com.android.settingslib.wifi.AccessPoint; import com.android.settingslib.wifi.AccessPointPreference; @@ -51,6 +38,12 @@ public class LongPressAccessPointPreference extends AccessPointPreference { mFragment = fragment; } + public LongPressAccessPointPreference(AccessPoint accessPoint, Context context, + UserBadgeCache cache, boolean forSavedNetworks, int iconResId, Fragment fragment) { + super(accessPoint, context, cache, iconResId, forSavedNetworks); + mFragment = fragment; + } + @Override public void onBindViewHolder(final PreferenceViewHolder view) { super.onBindViewHolder(view); diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java index 8eb1759ff49..1ce214b4b15 100644 --- a/src/com/android/settings/wifi/WifiSettings.java +++ b/src/com/android/settings/wifi/WifiSettings.java @@ -71,7 +71,6 @@ import com.android.settingslib.wifi.AccessPoint.AccessPointListener; import com.android.settingslib.wifi.AccessPointPreference; import com.android.settingslib.wifi.WifiStatusTracker; import com.android.settingslib.wifi.WifiTracker; - import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -630,10 +629,10 @@ public class WifiSettings extends RestrictedSettingsFragment } LongPressAccessPointPreference preference = new LongPressAccessPointPreference(accessPoint, - getPrefContext(), mUserBadgeCache, false, this); + getPrefContext(), mUserBadgeCache, false, + R.drawable.ic_wifi_signal_0, this); preference.setKey(key); preference.setOrder(index++); - if (mOpenSsid != null && mOpenSsid.equals(accessPoint.getSsidStr()) && !accessPoint.isSaved() && accessPoint.getSecurity() != AccessPoint.SECURITY_NONE) { @@ -642,6 +641,7 @@ public class WifiSettings extends RestrictedSettingsFragment } getPreferenceScreen().addPreference(preference); accessPoint.setListener(this); + preference.refresh(); } } removeCachedPrefs(getPreferenceScreen());