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 26c89ff830767..ed52ea720a92d 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 6f63a08c6c0f5..da95bf9a3f6b1 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 @@ -826,7 +826,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 7bf710c053a75..c9ce12a6859ea 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} *