Loading src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java +89 −61 Original line number Diff line number Diff line Loading @@ -26,12 +26,12 @@ import android.os.Looper; import android.os.PersistableBundle; import android.provider.Settings; import android.telephony.CarrierConfigManager; import android.telephony.RadioAccessFamily; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.Log; import androidx.annotation.VisibleForTesting; import androidx.lifecycle.Lifecycle; import androidx.lifecycle.LifecycleObserver; Loading @@ -42,6 +42,7 @@ import androidx.preference.PreferenceScreen; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneConstants; import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants; import com.android.settings.R; import java.util.ArrayList; Loading Loading @@ -194,18 +195,18 @@ public class EnabledNetworkModePreferenceController extends R.array.enabled_networks_cdma_values); } else { switch (settingsNetworkMode) { case TelephonyManager.NETWORK_MODE_CDMA_EVDO: case TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO: case TelephonyManager.NETWORK_MODE_EVDO_NO_CDMA: case TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO: case TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO: case TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA: preference.setEntries( R.array.enabled_networks_cdma_no_lte_choices); preference.setEntryValues( R.array.enabled_networks_cdma_no_lte_values); break; case TelephonyManager.NETWORK_MODE_GLOBAL: case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO: case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_ONLY: case TelephonyManagerConstants.NETWORK_MODE_GLOBAL: case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO: case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY: preference.setEntries( R.array.enabled_networks_cdma_only_lte_choices); preference.setEntryValues( Loading Loading @@ -279,7 +280,7 @@ public class EnabledNetworkModePreferenceController extends } /*** * Preferred network list add 5G item. * Generate preferred network choices list for 5G * * @string/enabled_networks_cdma_choices * Before | After Loading Loading @@ -364,9 +365,9 @@ public class EnabledNetworkModePreferenceController extends new5gEntryValue = transformLteEntryValueTo5gEntryValue(oldEntryValue); } else if (mContext.getString(R.string.network_global).equals(oldEntry)) { //oldEntry: network_global //oldEntryValue: TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA //oldEntryValue: TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA oldEntryValue = Integer.toString( TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA); TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA); } if (!TextUtils.isEmpty(new5gEntry)) { Loading @@ -382,124 +383,151 @@ public class EnabledNetworkModePreferenceController extends } /** * LTE network mode transform to 5G network mode. * transform LTE network mode to 5G network mode. * * @param networkMode this is LTE network mode. * @return 5G network mode. * @param networkMode an LTE network mode without 5G. * @return the corresponding network mode with 5G. */ private CharSequence transformLteEntryValueTo5gEntryValue(CharSequence networkMode) { int networkModeInt = Integer.valueOf(networkMode.toString()); return Integer.toString(addNrToNetworkType(networkModeInt)); return Integer.toString(addNrToLteNetworkType(networkModeInt)); } private int addNrToLteNetworkType(int networkType) { switch(networkType) { case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY: return TelephonyManagerConstants.NETWORK_MODE_NR_LTE; case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO: return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO; case TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA: return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA: return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA: return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA: return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM: return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA: return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA: return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA; default: return networkType; // not LTE } private int addNrToNetworkType(int networkType) { long networkTypeBitmasks = RadioAccessFamily.getRafFromNetworkType(networkType); networkTypeBitmasks |= mTelephonyManager.NETWORK_TYPE_BITMASK_NR; return RadioAccessFamily.getNetworkTypeFromRaf((int) networkTypeBitmasks); } /** * Sets the display string for the network mode choice and selects the corresponding item * * @param preference ListPreference for selecting the preferred network mode. * @param networkMode the current network mode. The current mode might not be an option in the * choice list. The nearest choice is selected instead */ private void updatePreferenceValueAndSummary(ListPreference preference, int networkMode) { preference.setValue(Integer.toString(networkMode)); switch (networkMode) { case TelephonyManager.NETWORK_MODE_TDSCDMA_WCDMA: case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM: case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM: preference.setValue( Integer.toString(TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA)); Integer.toString(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA)); preference.setSummary(R.string.network_3G); break; case TelephonyManager.NETWORK_MODE_WCDMA_ONLY: case TelephonyManager.NETWORK_MODE_GSM_UMTS: case TelephonyManager.NETWORK_MODE_WCDMA_PREF: case TelephonyManagerConstants.NETWORK_MODE_WCDMA_ONLY: case TelephonyManagerConstants.NETWORK_MODE_GSM_UMTS: case TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF: if (!mIsGlobalCdma) { preference.setValue(Integer.toString(TelephonyManager.NETWORK_MODE_WCDMA_PREF)); preference.setValue(Integer.toString(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF)); preference.setSummary(R.string.network_3G); } else { preference.setValue(Integer.toString(TelephonyManager preference.setValue(Integer.toString(TelephonyManagerConstants .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA)); preference.setSummary(R.string.network_global); } break; case TelephonyManager.NETWORK_MODE_GSM_ONLY: case TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY: if (!mIsGlobalCdma) { preference.setValue( Integer.toString(TelephonyManager.NETWORK_MODE_GSM_ONLY)); Integer.toString(TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY)); preference.setSummary(R.string.network_2G); } else { preference.setValue( Integer.toString(TelephonyManager Integer.toString(TelephonyManagerConstants .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA)); preference.setSummary(R.string.network_global); } break; case TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA: if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) { preference.setSummary( R.string.preferred_network_mode_lte_gsm_umts_summary); break; } case TelephonyManager.NETWORK_MODE_LTE_ONLY: case TelephonyManager.NETWORK_MODE_LTE_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY: case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA: if (!mIsGlobalCdma) { preference.setValue( Integer.toString(TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA)); Integer.toString(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA)); preference.setSummary( mShow4GForLTE ? R.string.network_4G : R.string.network_lte); } else { preference.setValue( Integer.toString(TelephonyManager Integer.toString(TelephonyManagerConstants .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA)); preference.setSummary(R.string.network_global); } break; case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO: case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO: if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) { preference.setSummary( R.string.preferred_network_mode_lte_cdma_summary); } else { preference.setValue( Integer.toString(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO)); Integer.toString(TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO)); preference.setSummary( mDisplay5gList ? R.string.network_lte_pure : R.string.network_lte); } break; case TelephonyManager.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: preference.setValue(Integer.toString(TelephonyManager case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: preference.setValue(Integer.toString(TelephonyManagerConstants .NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA)); preference.setSummary(R.string.network_3G); break; case TelephonyManager.NETWORK_MODE_CDMA_EVDO: case TelephonyManager.NETWORK_MODE_EVDO_NO_CDMA: case TelephonyManager.NETWORK_MODE_GLOBAL: case TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO: case TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA: case TelephonyManagerConstants.NETWORK_MODE_GLOBAL: preference.setValue( Integer.toString(TelephonyManager.NETWORK_MODE_CDMA_EVDO)); Integer.toString(TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO)); preference.setSummary(R.string.network_3G); break; case TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO: case TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO: preference.setValue( Integer.toString(TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO)); Integer.toString(TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO)); preference.setSummary(R.string.network_1x); break; case TelephonyManager.NETWORK_MODE_TDSCDMA_ONLY: case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY: preference.setValue( Integer.toString(TelephonyManager.NETWORK_MODE_TDSCDMA_ONLY)); Integer.toString(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY)); preference.setSummary(R.string.network_3G); break; case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM: case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA: case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM: case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA: case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA: if (MobileNetworkUtils.isTdscdmaSupported(mContext, mSubId)) { preference.setValue( Integer.toString(TelephonyManager Integer.toString(TelephonyManagerConstants .NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA)); preference.setSummary( mDisplay5gList ? R.string.network_lte_pure : R.string.network_lte); } else { preference.setValue( Integer.toString(TelephonyManager Integer.toString(TelephonyManagerConstants .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA)); if (mTelephonyManager.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA || mIsGlobalCdma Loading @@ -516,15 +544,15 @@ public class EnabledNetworkModePreferenceController extends } } break; case TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO: case TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO: case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: preference.setValue(Integer.toString(networkMode)); preference.setSummary(mContext.getString(R.string.network_5G) + mContext.getString(R.string.network_recommended)); break; case TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA: preference.setValue( Integer.toString(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA)); Integer.toString(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA)); if (mTelephonyManager.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA || mIsGlobalCdma || MobileNetworkUtils.isWorldMode(mContext, mSubId)) { Loading src/com/android/settings/network/telephony/MobileNetworkUtils.java +13 −12 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ import com.android.internal.util.ArrayUtils; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.core.BasePreferenceController; import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants; import com.android.settingslib.development.DevelopmentSettingsEnabler; import com.android.settingslib.graph.SignalDrawable; Loading Loading @@ -305,8 +306,8 @@ public class MobileNetworkUtils { context.getContentResolver(), android.provider.Settings.Global.PREFERRED_NETWORK_MODE + subId, Phone.PREFERRED_NT_MODE); if (settingsNetworkMode == TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA || settingsNetworkMode == TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO) { if (settingsNetworkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA || settingsNetworkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO) { return true; } Loading @@ -333,8 +334,8 @@ public class MobileNetworkUtils { android.provider.Settings.Global.PREFERRED_NETWORK_MODE + subId, Phone.PREFERRED_NT_MODE); if (isWorldMode(context, subId)) { if (networkMode == TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO || networkMode == TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA) { if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO || networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA) { return true; } else if (shouldSpeciallyUpdateGsmCdma(context, subId)) { return true; Loading Loading @@ -397,7 +398,7 @@ public class MobileNetworkUtils { context.getContentResolver(), android.provider.Settings.Global.PREFERRED_NETWORK_MODE + subId, Phone.PREFERRED_NT_MODE); if (networkMode == TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO && isWorldMode(context, subId)) { return false; } Loading @@ -410,7 +411,7 @@ public class MobileNetworkUtils { } if (isWorldMode(context, subId)) { if (networkMode == TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA) { if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA) { return true; } } Loading Loading @@ -515,12 +516,12 @@ public class MobileNetworkUtils { context.getContentResolver(), android.provider.Settings.Global.PREFERRED_NETWORK_MODE + subId, Phone.PREFERRED_NT_MODE); if (networkMode == TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM || networkMode == TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA || networkMode == TelephonyManager.NETWORK_MODE_LTE_TDSCDMA || networkMode == TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_WCDMA || networkMode == TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA || networkMode == TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA) { if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM || networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA || networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA || networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA || networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA || networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA) { if (!isTdscdmaSupported(context, subId) && isWorldMode(context, subId)) { return true; } Loading src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java +24 −23 File changed.Preview size limit exceeded, changes collapsed. Show changes src/com/android/settings/network/telephony/TelephonyConstants.java 0 → 100644 +139 −0 Original line number Diff line number Diff line /* * Copyright (C) 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.network.telephony; /** * Contains hidden constants copied from the platform. */ public class TelephonyConstants { /** * Copied from {@link android.telephony.TelephonyManager} */ public static class TelephonyManagerConstants { // Network modes are in turn copied from RILConstants // with one difference: NETWORK_MODE_CDMA is named NETWORK_MODE_CDMA_EVDO /** GSM, WCDMA (WCDMA preferred) */ public static final int NETWORK_MODE_WCDMA_PREF = 0; /** GSM only */ public static final int NETWORK_MODE_GSM_ONLY = 1; /** WCDMA only */ public static final int NETWORK_MODE_WCDMA_ONLY = 2; /** GSM, WCDMA (auto mode, according to PRL) */ public static final int NETWORK_MODE_GSM_UMTS = 3; /** CDMA and EvDo (auto mode, according to PRL) * this is NETWORK_MODE_CDMA in RILConstants.java */ public static final int NETWORK_MODE_CDMA_EVDO = 4; /** CDMA only */ public static final int NETWORK_MODE_CDMA_NO_EVDO = 5; /** EvDo only */ public static final int NETWORK_MODE_EVDO_NO_CDMA = 6; /** GSM, WCDMA, CDMA, and EvDo (auto mode, according to PRL) */ public static final int NETWORK_MODE_GLOBAL = 7; /** LTE, CDMA and EvDo */ public static final int NETWORK_MODE_LTE_CDMA_EVDO = 8; /** LTE, GSM and WCDMA */ public static final int NETWORK_MODE_LTE_GSM_WCDMA = 9; /** LTE, CDMA, EvDo, GSM, and WCDMA */ public static final int NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA = 10; /** LTE only mode. */ public static final int NETWORK_MODE_LTE_ONLY = 11; /** LTE and WCDMA */ public static final int NETWORK_MODE_LTE_WCDMA = 12; /** TD-SCDMA only */ public static final int NETWORK_MODE_TDSCDMA_ONLY = 13; /** TD-SCDMA and WCDMA */ public static final int NETWORK_MODE_TDSCDMA_WCDMA = 14; /** LTE and TD-SCDMA*/ public static final int NETWORK_MODE_LTE_TDSCDMA = 15; /** TD-SCDMA and GSM */ public static final int NETWORK_MODE_TDSCDMA_GSM = 16; /** TD-SCDMA, GSM and LTE */ public static final int NETWORK_MODE_LTE_TDSCDMA_GSM = 17; /** TD-SCDMA, GSM and WCDMA */ public static final int NETWORK_MODE_TDSCDMA_GSM_WCDMA = 18; /** LTE, TD-SCDMA and WCDMA */ public static final int NETWORK_MODE_LTE_TDSCDMA_WCDMA = 19; /** LTE, TD-SCDMA, GSM, and WCDMA */ public static final int NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA = 20; /** TD-SCDMA, CDMA, EVDO, GSM and WCDMA */ public static final int NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 21; /** LTE, TDCSDMA, CDMA, EVDO, GSM and WCDMA */ public static final int NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 22; /** NR 5G only mode */ public static final int NETWORK_MODE_NR_ONLY = 23; /** NR 5G, LTE */ public static final int NETWORK_MODE_NR_LTE = 24; /** NR 5G, LTE, CDMA and EvDo */ public static final int NETWORK_MODE_NR_LTE_CDMA_EVDO = 25; /** NR 5G, LTE, GSM and WCDMA */ public static final int NETWORK_MODE_NR_LTE_GSM_WCDMA = 26; /** NR 5G, LTE, CDMA, EvDo, GSM and WCDMA */ public static final int NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA = 27; /** NR 5G, LTE and WCDMA */ public static final int NETWORK_MODE_NR_LTE_WCDMA = 28; /** NR 5G, LTE and TDSCDMA */ public static final int NETWORK_MODE_NR_LTE_TDSCDMA = 29; /** NR 5G, LTE, TD-SCDMA and GSM */ public static final int NETWORK_MODE_NR_LTE_TDSCDMA_GSM = 30; /** NR 5G, LTE, TD-SCDMA, WCDMA */ public static final int NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA = 31; /** NR 5G, LTE, TD-SCDMA, GSM and WCDMA */ public static final int NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA = 32; /** NR 5G, LTE, TD-SCDMA, CDMA, EVDO, GSM and WCDMA */ public static final int NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 33; } } src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java +2 −1 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import androidx.preference.ListPreference; import androidx.preference.Preference; import com.android.internal.telephony.Phone; import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants; /** * Preference controller for "System Select" Loading Loading @@ -54,7 +55,7 @@ public class CdmaSystemSelectPreferenceController extends CdmaBasePreferenceCont Settings.Global.PREFERRED_NETWORK_MODE + mSubId, Phone.PREFERRED_NT_MODE); listPreference.setEnabled( settingsNetworkMode != TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA); settingsNetworkMode != TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA); } @Override Loading Loading
src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java +89 −61 Original line number Diff line number Diff line Loading @@ -26,12 +26,12 @@ import android.os.Looper; import android.os.PersistableBundle; import android.provider.Settings; import android.telephony.CarrierConfigManager; import android.telephony.RadioAccessFamily; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.Log; import androidx.annotation.VisibleForTesting; import androidx.lifecycle.Lifecycle; import androidx.lifecycle.LifecycleObserver; Loading @@ -42,6 +42,7 @@ import androidx.preference.PreferenceScreen; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneConstants; import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants; import com.android.settings.R; import java.util.ArrayList; Loading Loading @@ -194,18 +195,18 @@ public class EnabledNetworkModePreferenceController extends R.array.enabled_networks_cdma_values); } else { switch (settingsNetworkMode) { case TelephonyManager.NETWORK_MODE_CDMA_EVDO: case TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO: case TelephonyManager.NETWORK_MODE_EVDO_NO_CDMA: case TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO: case TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO: case TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA: preference.setEntries( R.array.enabled_networks_cdma_no_lte_choices); preference.setEntryValues( R.array.enabled_networks_cdma_no_lte_values); break; case TelephonyManager.NETWORK_MODE_GLOBAL: case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO: case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_ONLY: case TelephonyManagerConstants.NETWORK_MODE_GLOBAL: case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO: case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY: preference.setEntries( R.array.enabled_networks_cdma_only_lte_choices); preference.setEntryValues( Loading Loading @@ -279,7 +280,7 @@ public class EnabledNetworkModePreferenceController extends } /*** * Preferred network list add 5G item. * Generate preferred network choices list for 5G * * @string/enabled_networks_cdma_choices * Before | After Loading Loading @@ -364,9 +365,9 @@ public class EnabledNetworkModePreferenceController extends new5gEntryValue = transformLteEntryValueTo5gEntryValue(oldEntryValue); } else if (mContext.getString(R.string.network_global).equals(oldEntry)) { //oldEntry: network_global //oldEntryValue: TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA //oldEntryValue: TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA oldEntryValue = Integer.toString( TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA); TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA); } if (!TextUtils.isEmpty(new5gEntry)) { Loading @@ -382,124 +383,151 @@ public class EnabledNetworkModePreferenceController extends } /** * LTE network mode transform to 5G network mode. * transform LTE network mode to 5G network mode. * * @param networkMode this is LTE network mode. * @return 5G network mode. * @param networkMode an LTE network mode without 5G. * @return the corresponding network mode with 5G. */ private CharSequence transformLteEntryValueTo5gEntryValue(CharSequence networkMode) { int networkModeInt = Integer.valueOf(networkMode.toString()); return Integer.toString(addNrToNetworkType(networkModeInt)); return Integer.toString(addNrToLteNetworkType(networkModeInt)); } private int addNrToLteNetworkType(int networkType) { switch(networkType) { case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY: return TelephonyManagerConstants.NETWORK_MODE_NR_LTE; case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO: return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO; case TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA: return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA: return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA: return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA: return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM: return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA: return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA: return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA; default: return networkType; // not LTE } private int addNrToNetworkType(int networkType) { long networkTypeBitmasks = RadioAccessFamily.getRafFromNetworkType(networkType); networkTypeBitmasks |= mTelephonyManager.NETWORK_TYPE_BITMASK_NR; return RadioAccessFamily.getNetworkTypeFromRaf((int) networkTypeBitmasks); } /** * Sets the display string for the network mode choice and selects the corresponding item * * @param preference ListPreference for selecting the preferred network mode. * @param networkMode the current network mode. The current mode might not be an option in the * choice list. The nearest choice is selected instead */ private void updatePreferenceValueAndSummary(ListPreference preference, int networkMode) { preference.setValue(Integer.toString(networkMode)); switch (networkMode) { case TelephonyManager.NETWORK_MODE_TDSCDMA_WCDMA: case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM: case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM: preference.setValue( Integer.toString(TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA)); Integer.toString(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA)); preference.setSummary(R.string.network_3G); break; case TelephonyManager.NETWORK_MODE_WCDMA_ONLY: case TelephonyManager.NETWORK_MODE_GSM_UMTS: case TelephonyManager.NETWORK_MODE_WCDMA_PREF: case TelephonyManagerConstants.NETWORK_MODE_WCDMA_ONLY: case TelephonyManagerConstants.NETWORK_MODE_GSM_UMTS: case TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF: if (!mIsGlobalCdma) { preference.setValue(Integer.toString(TelephonyManager.NETWORK_MODE_WCDMA_PREF)); preference.setValue(Integer.toString(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF)); preference.setSummary(R.string.network_3G); } else { preference.setValue(Integer.toString(TelephonyManager preference.setValue(Integer.toString(TelephonyManagerConstants .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA)); preference.setSummary(R.string.network_global); } break; case TelephonyManager.NETWORK_MODE_GSM_ONLY: case TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY: if (!mIsGlobalCdma) { preference.setValue( Integer.toString(TelephonyManager.NETWORK_MODE_GSM_ONLY)); Integer.toString(TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY)); preference.setSummary(R.string.network_2G); } else { preference.setValue( Integer.toString(TelephonyManager Integer.toString(TelephonyManagerConstants .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA)); preference.setSummary(R.string.network_global); } break; case TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA: if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) { preference.setSummary( R.string.preferred_network_mode_lte_gsm_umts_summary); break; } case TelephonyManager.NETWORK_MODE_LTE_ONLY: case TelephonyManager.NETWORK_MODE_LTE_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY: case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA: if (!mIsGlobalCdma) { preference.setValue( Integer.toString(TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA)); Integer.toString(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA)); preference.setSummary( mShow4GForLTE ? R.string.network_4G : R.string.network_lte); } else { preference.setValue( Integer.toString(TelephonyManager Integer.toString(TelephonyManagerConstants .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA)); preference.setSummary(R.string.network_global); } break; case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO: case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO: if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) { preference.setSummary( R.string.preferred_network_mode_lte_cdma_summary); } else { preference.setValue( Integer.toString(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO)); Integer.toString(TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO)); preference.setSummary( mDisplay5gList ? R.string.network_lte_pure : R.string.network_lte); } break; case TelephonyManager.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: preference.setValue(Integer.toString(TelephonyManager case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: preference.setValue(Integer.toString(TelephonyManagerConstants .NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA)); preference.setSummary(R.string.network_3G); break; case TelephonyManager.NETWORK_MODE_CDMA_EVDO: case TelephonyManager.NETWORK_MODE_EVDO_NO_CDMA: case TelephonyManager.NETWORK_MODE_GLOBAL: case TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO: case TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA: case TelephonyManagerConstants.NETWORK_MODE_GLOBAL: preference.setValue( Integer.toString(TelephonyManager.NETWORK_MODE_CDMA_EVDO)); Integer.toString(TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO)); preference.setSummary(R.string.network_3G); break; case TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO: case TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO: preference.setValue( Integer.toString(TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO)); Integer.toString(TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO)); preference.setSummary(R.string.network_1x); break; case TelephonyManager.NETWORK_MODE_TDSCDMA_ONLY: case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY: preference.setValue( Integer.toString(TelephonyManager.NETWORK_MODE_TDSCDMA_ONLY)); Integer.toString(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY)); preference.setSummary(R.string.network_3G); break; case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM: case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA: case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM: case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA: case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA: if (MobileNetworkUtils.isTdscdmaSupported(mContext, mSubId)) { preference.setValue( Integer.toString(TelephonyManager Integer.toString(TelephonyManagerConstants .NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA)); preference.setSummary( mDisplay5gList ? R.string.network_lte_pure : R.string.network_lte); } else { preference.setValue( Integer.toString(TelephonyManager Integer.toString(TelephonyManagerConstants .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA)); if (mTelephonyManager.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA || mIsGlobalCdma Loading @@ -516,15 +544,15 @@ public class EnabledNetworkModePreferenceController extends } } break; case TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO: case TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO: case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: preference.setValue(Integer.toString(networkMode)); preference.setSummary(mContext.getString(R.string.network_5G) + mContext.getString(R.string.network_recommended)); break; case TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA: case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA: preference.setValue( Integer.toString(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA)); Integer.toString(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA)); if (mTelephonyManager.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA || mIsGlobalCdma || MobileNetworkUtils.isWorldMode(mContext, mSubId)) { Loading
src/com/android/settings/network/telephony/MobileNetworkUtils.java +13 −12 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ import com.android.internal.util.ArrayUtils; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.core.BasePreferenceController; import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants; import com.android.settingslib.development.DevelopmentSettingsEnabler; import com.android.settingslib.graph.SignalDrawable; Loading Loading @@ -305,8 +306,8 @@ public class MobileNetworkUtils { context.getContentResolver(), android.provider.Settings.Global.PREFERRED_NETWORK_MODE + subId, Phone.PREFERRED_NT_MODE); if (settingsNetworkMode == TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA || settingsNetworkMode == TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO) { if (settingsNetworkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA || settingsNetworkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO) { return true; } Loading @@ -333,8 +334,8 @@ public class MobileNetworkUtils { android.provider.Settings.Global.PREFERRED_NETWORK_MODE + subId, Phone.PREFERRED_NT_MODE); if (isWorldMode(context, subId)) { if (networkMode == TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO || networkMode == TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA) { if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO || networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA) { return true; } else if (shouldSpeciallyUpdateGsmCdma(context, subId)) { return true; Loading Loading @@ -397,7 +398,7 @@ public class MobileNetworkUtils { context.getContentResolver(), android.provider.Settings.Global.PREFERRED_NETWORK_MODE + subId, Phone.PREFERRED_NT_MODE); if (networkMode == TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO && isWorldMode(context, subId)) { return false; } Loading @@ -410,7 +411,7 @@ public class MobileNetworkUtils { } if (isWorldMode(context, subId)) { if (networkMode == TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA) { if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA) { return true; } } Loading Loading @@ -515,12 +516,12 @@ public class MobileNetworkUtils { context.getContentResolver(), android.provider.Settings.Global.PREFERRED_NETWORK_MODE + subId, Phone.PREFERRED_NT_MODE); if (networkMode == TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM || networkMode == TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA || networkMode == TelephonyManager.NETWORK_MODE_LTE_TDSCDMA || networkMode == TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_WCDMA || networkMode == TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA || networkMode == TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA) { if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM || networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA || networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA || networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA || networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA || networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA) { if (!isTdscdmaSupported(context, subId) && isWorldMode(context, subId)) { return true; } Loading
src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java +24 −23 File changed.Preview size limit exceeded, changes collapsed. Show changes
src/com/android/settings/network/telephony/TelephonyConstants.java 0 → 100644 +139 −0 Original line number Diff line number Diff line /* * Copyright (C) 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.network.telephony; /** * Contains hidden constants copied from the platform. */ public class TelephonyConstants { /** * Copied from {@link android.telephony.TelephonyManager} */ public static class TelephonyManagerConstants { // Network modes are in turn copied from RILConstants // with one difference: NETWORK_MODE_CDMA is named NETWORK_MODE_CDMA_EVDO /** GSM, WCDMA (WCDMA preferred) */ public static final int NETWORK_MODE_WCDMA_PREF = 0; /** GSM only */ public static final int NETWORK_MODE_GSM_ONLY = 1; /** WCDMA only */ public static final int NETWORK_MODE_WCDMA_ONLY = 2; /** GSM, WCDMA (auto mode, according to PRL) */ public static final int NETWORK_MODE_GSM_UMTS = 3; /** CDMA and EvDo (auto mode, according to PRL) * this is NETWORK_MODE_CDMA in RILConstants.java */ public static final int NETWORK_MODE_CDMA_EVDO = 4; /** CDMA only */ public static final int NETWORK_MODE_CDMA_NO_EVDO = 5; /** EvDo only */ public static final int NETWORK_MODE_EVDO_NO_CDMA = 6; /** GSM, WCDMA, CDMA, and EvDo (auto mode, according to PRL) */ public static final int NETWORK_MODE_GLOBAL = 7; /** LTE, CDMA and EvDo */ public static final int NETWORK_MODE_LTE_CDMA_EVDO = 8; /** LTE, GSM and WCDMA */ public static final int NETWORK_MODE_LTE_GSM_WCDMA = 9; /** LTE, CDMA, EvDo, GSM, and WCDMA */ public static final int NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA = 10; /** LTE only mode. */ public static final int NETWORK_MODE_LTE_ONLY = 11; /** LTE and WCDMA */ public static final int NETWORK_MODE_LTE_WCDMA = 12; /** TD-SCDMA only */ public static final int NETWORK_MODE_TDSCDMA_ONLY = 13; /** TD-SCDMA and WCDMA */ public static final int NETWORK_MODE_TDSCDMA_WCDMA = 14; /** LTE and TD-SCDMA*/ public static final int NETWORK_MODE_LTE_TDSCDMA = 15; /** TD-SCDMA and GSM */ public static final int NETWORK_MODE_TDSCDMA_GSM = 16; /** TD-SCDMA, GSM and LTE */ public static final int NETWORK_MODE_LTE_TDSCDMA_GSM = 17; /** TD-SCDMA, GSM and WCDMA */ public static final int NETWORK_MODE_TDSCDMA_GSM_WCDMA = 18; /** LTE, TD-SCDMA and WCDMA */ public static final int NETWORK_MODE_LTE_TDSCDMA_WCDMA = 19; /** LTE, TD-SCDMA, GSM, and WCDMA */ public static final int NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA = 20; /** TD-SCDMA, CDMA, EVDO, GSM and WCDMA */ public static final int NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 21; /** LTE, TDCSDMA, CDMA, EVDO, GSM and WCDMA */ public static final int NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 22; /** NR 5G only mode */ public static final int NETWORK_MODE_NR_ONLY = 23; /** NR 5G, LTE */ public static final int NETWORK_MODE_NR_LTE = 24; /** NR 5G, LTE, CDMA and EvDo */ public static final int NETWORK_MODE_NR_LTE_CDMA_EVDO = 25; /** NR 5G, LTE, GSM and WCDMA */ public static final int NETWORK_MODE_NR_LTE_GSM_WCDMA = 26; /** NR 5G, LTE, CDMA, EvDo, GSM and WCDMA */ public static final int NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA = 27; /** NR 5G, LTE and WCDMA */ public static final int NETWORK_MODE_NR_LTE_WCDMA = 28; /** NR 5G, LTE and TDSCDMA */ public static final int NETWORK_MODE_NR_LTE_TDSCDMA = 29; /** NR 5G, LTE, TD-SCDMA and GSM */ public static final int NETWORK_MODE_NR_LTE_TDSCDMA_GSM = 30; /** NR 5G, LTE, TD-SCDMA, WCDMA */ public static final int NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA = 31; /** NR 5G, LTE, TD-SCDMA, GSM and WCDMA */ public static final int NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA = 32; /** NR 5G, LTE, TD-SCDMA, CDMA, EVDO, GSM and WCDMA */ public static final int NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 33; } }
src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java +2 −1 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import androidx.preference.ListPreference; import androidx.preference.Preference; import com.android.internal.telephony.Phone; import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants; /** * Preference controller for "System Select" Loading Loading @@ -54,7 +55,7 @@ public class CdmaSystemSelectPreferenceController extends CdmaBasePreferenceCont Settings.Global.PREFERRED_NETWORK_MODE + mSubId, Phone.PREFERRED_NT_MODE); listPreference.setEnabled( settingsNetworkMode != TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA); settingsNetworkMode != TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA); } @Override Loading