diff --git a/src/com/android/settings/network/ProviderModelSlice.java b/src/com/android/settings/network/ProviderModelSlice.java index 7e71fefc156..48c3dc00093 100644 --- a/src/com/android/settings/network/ProviderModelSlice.java +++ b/src/com/android/settings/network/ProviderModelSlice.java @@ -131,8 +131,9 @@ public class ProviderModelSlice extends WifiSlice { } // Third section: Add the Wi-Fi items which are not connected. - if (wifiList != null) { - log("get Wi-Fi items which are not connected"); + if (wifiList != null && wifiList.size() > 0) { + log("get Wi-Fi items which are not connected. Wi-Fi items : " + wifiList.size()); + final List disconnectedWifiList = wifiList.stream() .filter(wifiSliceItem -> wifiSliceItem.getConnectedState() != WifiEntry.CONNECTED_STATE_CONNECTED) @@ -149,8 +150,8 @@ public class ProviderModelSlice extends WifiSlice { // 2) show all_network_unavailable: // - while no wifi item + no carrier // - while no wifi item + no data capability - if (worker == null || wifiList == null) { - log("wifiList is null"); + if (worker == null || wifiList == null || wifiList.size() == 0) { + log("no wifi item"); int resId = R.string.non_carrier_network_unavailable; if (!hasCarrier || !mHelper.isDataSimActive()) { log("No carrier item or no carrier data."); diff --git a/src/com/android/settings/network/ProviderModelSliceHelper.java b/src/com/android/settings/network/ProviderModelSliceHelper.java index 6c678ec9e39..c7a7ad488e4 100644 --- a/src/com/android/settings/network/ProviderModelSliceHelper.java +++ b/src/com/android/settings/network/ProviderModelSliceHelper.java @@ -175,7 +175,7 @@ public class ProviderModelSliceHelper { } protected boolean isDataSimActive() { - return MobileNetworkUtils.activeNetworkIsCellular(mContext); + return isNoCarrierData() ? false : MobileNetworkUtils.activeNetworkIsCellular(mContext); } protected boolean isNoCarrierData() {