diff options
4 files changed, 13 insertions, 5 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java index 089f773ec1e9..871e2485a742 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java @@ -101,6 +101,9 @@ public class WifiStatusTracker extends ConnectivityManager.NetworkCallback { } public void handleBroadcast(Intent intent) { + if (mWifiManager == null) { + return; + } String action = intent.getAction(); if (action.equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) { updateWifiState(); diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java index 2f082b959e68..e47ca3226cfb 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java @@ -212,7 +212,7 @@ public class WifiTracker implements LifecycleObserver, OnStart, OnStop, OnDestro mConnectivityManager = connectivityManager; // check if verbose logging developer option has been turned on or off - sVerboseLogging = (mWifiManager.getVerboseLoggingLevel() > 0); + sVerboseLogging = mWifiManager != null && (mWifiManager.getVerboseLoggingLevel() > 0); mFilter = filter; @@ -283,7 +283,7 @@ public class WifiTracker implements LifecycleObserver, OnStart, OnStop, OnDestro mScanner = new Scanner(); } - if (mWifiManager.isWifiEnabled()) { + if (isWifiEnabled()) { mScanner.resume(); } } @@ -413,7 +413,7 @@ public class WifiTracker implements LifecycleObserver, OnStart, OnStop, OnDestro } public boolean isWifiEnabled() { - return mWifiManager.isWifiEnabled(); + return mWifiManager != null && mWifiManager.isWifiEnabled(); } /** @@ -638,7 +638,7 @@ public class WifiTracker implements LifecycleObserver, OnStart, OnStop, OnDestro private void updateNetworkInfo(NetworkInfo networkInfo) { /* Sticky broadcasts can call this when wifi is disabled */ - if (!mWifiManager.isWifiEnabled()) { + if (!isWifiEnabled()) { clearAccessPointsAndConditionallyUpdate(); return; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java index 420abe88f455..460070ba7fdc 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java @@ -118,6 +118,9 @@ public class HotspotControllerImpl implements HotspotController, WifiManager.Sof * @param shouldListen whether we should start listening to various wifi statuses */ private void updateWifiStateListeners(boolean shouldListen) { + if (mWifiManager == null) { + return; + } if (shouldListen) { mWifiManager.registerSoftApCallback( this, diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java index 693df884690a..6f63544d3cfa 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/WifiSignalController.java @@ -53,7 +53,9 @@ public class WifiSignalController extends connectivityManager, this::handleStatusUpdated); mWifiTracker.setListening(true); mHasMobileData = hasMobileData; - wifiManager.registerTrafficStateCallback(new WifiTrafficStateCallback(), null); + if (wifiManager != null) { + wifiManager.registerTrafficStateCallback(new WifiTrafficStateCallback(), null); + } // WiFi only has one state. mCurrentState.iconGroup = mLastState.iconGroup = new IconGroup( "Wi-Fi Icons", |