Make use of WifiTracker's WorkerThread support

Let the AccessPoint callbacks come in on a BG thread and do more
of the handling there.

Bug: 21486080
Change-Id: I529152d9f5c429b790a669b75b6d955ce4336caf
This commit is contained in:
Jason Monk
2015-05-28 11:42:28 -04:00
parent ecf4339bc7
commit 7a0b412ed2
2 changed files with 78 additions and 44 deletions

View File

@@ -41,6 +41,8 @@ import android.net.wifi.WifiManager;
import android.net.wifi.WpsInfo;
import android.nfc.NfcAdapter;
import android.os.Bundle;
import android.os.HandlerThread;
import android.os.Process;
import android.os.RemoteException;
import android.os.UserHandle;
import android.os.UserManager;
@@ -150,6 +152,8 @@ public class WifiSettings extends RestrictedSettingsFragment
private WifiTracker mWifiTracker;
private String mOpenSsid;
private HandlerThread mBgThread;
/* End of "used in Wifi Setup context" */
public WifiSettings() {
@@ -165,11 +169,25 @@ public class WifiSettings extends RestrictedSettingsFragment
}
}
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
mBgThread = new HandlerThread(TAG, Process.THREAD_PRIORITY_BACKGROUND);
mBgThread.start();
}
@Override
public void onDestroy() {
mBgThread.quit();
super.onDestroy();
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mWifiTracker = new WifiTracker(getActivity(), this, true, true, false);
mWifiTracker =
new WifiTracker(getActivity(), this, mBgThread.getLooper(), true, true, false);
mWifiManager = mWifiTracker.getManager();
mConnectListener = new WifiManager.ActionListener() {