Make WifiTracker lifecycle aware

Bug: 66953027
Test: m -j checkbuild
Change-Id: I004c889b887a67614a5e0b6ae62fdbf8d6070ebd
This commit is contained in:
Tony Mantler
2017-09-28 15:03:35 -07:00
parent d43f656ed5
commit df2567cbad

View File

@@ -37,9 +37,7 @@ import android.net.wifi.WifiManager;
import android.net.wifi.WpsInfo; import android.net.wifi.WpsInfo;
import android.nfc.NfcAdapter; import android.nfc.NfcAdapter;
import android.os.Bundle; import android.os.Bundle;
import android.os.HandlerThread;
import android.os.PowerManager; import android.os.PowerManager;
import android.os.Process;
import android.provider.Settings; import android.provider.Settings;
import android.support.annotation.VisibleForTesting; import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference; import android.support.v7.preference.Preference;
@@ -162,8 +160,6 @@ public class WifiSettings extends RestrictedSettingsFragment
private WifiTracker mWifiTracker; private WifiTracker mWifiTracker;
private String mOpenSsid; private String mOpenSsid;
private HandlerThread mBgThread;
private AccessPointPreference.UserBadgeCache mUserBadgeCache; private AccessPointPreference.UserBadgeCache mUserBadgeCache;
private PreferenceCategory mConnectedAccessPointPreferenceCategory; private PreferenceCategory mConnectedAccessPointPreferenceCategory;
@@ -211,9 +207,6 @@ public class WifiSettings extends RestrictedSettingsFragment
addPreferences(); addPreferences();
mIsRestricted = isUiRestricted(); mIsRestricted = isUiRestricted();
mBgThread = new HandlerThread(TAG, Process.THREAD_PRIORITY_BACKGROUND);
mBgThread.start();
} }
private void addPreferences() { private void addPreferences() {
@@ -237,18 +230,12 @@ public class WifiSettings extends RestrictedSettingsFragment
mUserBadgeCache = new AccessPointPreference.UserBadgeCache(getPackageManager()); mUserBadgeCache = new AccessPointPreference.UserBadgeCache(getPackageManager());
} }
@Override
public void onDestroy() {
mBgThread.quit();
super.onDestroy();
}
@Override @Override
public void onActivityCreated(Bundle savedInstanceState) { public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState); super.onActivityCreated(savedInstanceState);
mWifiTracker = WifiTrackerFactory.create( mWifiTracker = WifiTrackerFactory.create(
getActivity(), this, mBgThread.getLooper(), true, true, false); getActivity(), this, getLifecycle(), true, true);
mWifiManager = mWifiTracker.getManager(); mWifiManager = mWifiTracker.getManager();
mConnectListener = new WifiManager.ActionListener() { mConnectListener = new WifiManager.ActionListener() {
@@ -350,8 +337,6 @@ public class WifiSettings extends RestrictedSettingsFragment
// On/off switch is hidden for Setup Wizard (returns null) // On/off switch is hidden for Setup Wizard (returns null)
mWifiEnabler = createWifiEnabler(); mWifiEnabler = createWifiEnabler();
mWifiTracker.startTracking();
if (mIsRestricted) { if (mIsRestricted) {
restrictUi(); restrictUi();
return; return;
@@ -430,7 +415,6 @@ public class WifiSettings extends RestrictedSettingsFragment
@Override @Override
public void onStop() { public void onStop() {
mWifiTracker.stopTracking();
getView().removeCallbacks(mUpdateAccessPointsRunnable); getView().removeCallbacks(mUpdateAccessPointsRunnable);
getView().removeCallbacks(mHideProgressBarRunnable); getView().removeCallbacks(mHideProgressBarRunnable);
super.onStop(); super.onStop();
@@ -1137,7 +1121,7 @@ public class WifiSettings extends RestrictedSettingsFragment
// Add saved Wi-Fi access points // Add saved Wi-Fi access points
final List<AccessPoint> accessPoints = final List<AccessPoint> accessPoints =
WifiTracker.getCurrentAccessPoints(context, true, false, false); WifiTracker.getCurrentAccessPoints(context, true, false);
for (AccessPoint accessPoint : accessPoints) { for (AccessPoint accessPoint : accessPoints) {
data = new SearchIndexableRaw(context); data = new SearchIndexableRaw(context);
data.title = accessPoint.getSsidStr(); data.title = accessPoint.getSsidStr();