diff options
Diffstat (limited to 'service')
-rw-r--r-- | service/java/com/android/server/wifi/HalDeviceManager.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/service/java/com/android/server/wifi/HalDeviceManager.java b/service/java/com/android/server/wifi/HalDeviceManager.java index 4382c8126..d6009c709 100644 --- a/service/java/com/android/server/wifi/HalDeviceManager.java +++ b/service/java/com/android/server/wifi/HalDeviceManager.java @@ -532,6 +532,9 @@ public class HalDeviceManager { private void initializeInternal() { initIServiceManagerIfNecessary(); + if (isSupportedInternal()) { + initIWifiIfNecessary(); + } } private void teardownInternal() { @@ -561,9 +564,7 @@ public class HalDeviceManager { Log.d(TAG, "IWifi registration notification: fqName=" + fqName + ", name=" + name + ", preexisting=" + preexisting); synchronized (mLock) { - mWifi = null; // get rid of old copy! initIWifiIfNecessary(); - stopWifi(); // just in case } } }; @@ -673,7 +674,8 @@ public class HalDeviceManager { mWifi = null; return; } - managerStatusListenerDispatch(); + // Stopping wifi just in case. This would also trigger the status callback. + stopWifi(); } catch (RemoteException e) { Log.e(TAG, "Exception while operating on IWifi: " + e); } |