diff options
| author | 2021-12-14 23:12:33 +0000 | |
|---|---|---|
| committer | 2021-12-14 23:12:33 +0000 | |
| commit | 2f973f5fd37b6334c9ab6d21280c42e9a86202b1 (patch) | |
| tree | d4147aea6312a027ab5c244a5777bd38c164d423 | |
| parent | 49764b13db421f92f4f5449002a17c97cbbf159d (diff) | |
| parent | 959e7cd704313136f99512d521b13c236fdf6b9c (diff) | |
Merge "Don't crash quick settings if Wi-Fi is not supported."
3 files changed, 10 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java index 2a398496af77..54abce39dc1e 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialog.java @@ -320,7 +320,7 @@ public class InternetDialog extends SystemUIDialog implements showProgressBar(); final boolean isDeviceLocked = mInternetDialogController.isDeviceLocked(); - final boolean isWifiEnabled = mWifiManager.isWifiEnabled(); + final boolean isWifiEnabled = mWifiManager != null && mWifiManager.isWifiEnabled(); final boolean isWifiScanEnabled = mInternetDialogController.isWifiScanEnabled(); updateWifiToggle(isWifiEnabled, isDeviceLocked); updateConnectedWifi(isWifiEnabled, isDeviceLocked); @@ -350,6 +350,7 @@ public class InternetDialog extends SystemUIDialog implements mSeeAllLayout.setOnClickListener(v -> onClickSeeMoreButton()); mWiFiToggle.setOnCheckedChangeListener( (buttonView, isChecked) -> { + if (mWifiManager == null) return; buttonView.setChecked(isChecked); mWifiManager.setWifiEnabled(isChecked); }); @@ -375,8 +376,9 @@ public class InternetDialog extends SystemUIDialog implements Log.d(TAG, "setMobileDataLayout, isCarrierNetworkActive = " + isCarrierNetworkActive); } + boolean isWifiEnabled = mWifiManager != null && mWifiManager.isWifiEnabled(); if (!mInternetDialogController.hasActiveSubId() - && (!mWifiManager.isWifiEnabled() || !isCarrierNetworkActive)) { + && (!isWifiEnabled || !isCarrierNetworkActive)) { mMobileNetworkLayout.setVisibility(View.GONE); } else { mMobileNetworkLayout.setVisibility(View.VISIBLE); diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java index dd742b86a483..9dcf0ffdc4bc 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/dialog/InternetDialogController.java @@ -827,7 +827,7 @@ public class InternetDialogController implements AccessPointController.AccessPoi if (!mLocationController.isLocationEnabled()) { return false; } - return mWifiManager.isScanAlwaysAvailable(); + return mWifiManager != null && mWifiManager.isScanAlwaysAvailable(); } static class WifiEntryConnectCallback implements WifiEntry.ConnectCallback { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/AccessPointControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/AccessPointControllerImpl.java index 7bf710c053a7..c9ce12a6859e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/AccessPointControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/connectivity/AccessPointControllerImpl.java @@ -117,6 +117,7 @@ public class AccessPointControllerImpl implements AccessPointController, } public boolean canConfigWifi() { + if (!mWifiPickerTrackerFactory.isSupported()) return false; return !mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_WIFI, new UserHandle(mCurrentUser)); } @@ -312,6 +313,10 @@ public class AccessPointControllerImpl implements AccessPointController, mWorkerHandler = workerHandler; } + private boolean isSupported() { + return mWifiManager != null; + } + /** * Create a {@link WifiPickerTracker} * |