diff --git a/res/values/arrays.xml b/res/values/arrays.xml index 54dea11b08d..71e16f0a183 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -1418,4 +1418,9 @@ @color/screen_flash_preset_opacity_color_11 @color/screen_flash_preset_opacity_color_12 + + + + + diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java index 7f94f73a068..9fb80a5d412 100644 --- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java +++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java @@ -22,6 +22,7 @@ import static androidx.lifecycle.Lifecycle.Event.ON_STOP; import android.content.Context; import android.os.PersistableBundle; import android.telephony.CarrierConfigManager; +import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyCallback; import android.telephony.TelephonyManager; @@ -244,6 +245,24 @@ public class EnabledNetworkModePreferenceController extends // TODO: Using the carrier config. mDisplay3gOptions = getResourcesForSubId().getBoolean( R.bool.config_display_network_mode_3g_option); + + int[] carriersWithout3gMenu = getResourcesForSubId().getIntArray( + R.array.network_mode_3g_deprecated_carrier_id); + if ((carriersWithout3gMenu != null) && (carriersWithout3gMenu.length > 0)) { + SubscriptionManager sm = mContext.getSystemService(SubscriptionManager.class); + SubscriptionInfo subInfo = sm.getActiveSubscriptionInfo(mSubId); + if (subInfo != null) { + int carrierId = subInfo.getCarrierId(); + + for (int idx = 0; idx < carriersWithout3gMenu.length; idx++) { + if (carrierId == carriersWithout3gMenu[idx]) { + mDisplay3gOptions = false; + break; + } + } + } + } + mLteEnabled = carrierConfig.getBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL); } Log.d(LOG_TAG, "PreferenceEntriesBuilder: subId" + mSubId