Loading src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java +2 −1 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.content.Context; import android.content.res.Resources; import android.os.PersistableBundle; import android.telephony.CarrierConfigManager; import android.telephony.RadioAccessFamily; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyCallback; Loading Loading @@ -445,7 +446,7 @@ public class EnabledNetworkModePreferenceController extends } private int getPreferredNetworkMode() { int networkMode = MobileNetworkUtils.getNetworkTypeFromRaf( int networkMode = RadioAccessFamily.getNetworkTypeFromRaf( (int) mTelephonyManager.getAllowedNetworkTypesForReason( TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)); if (!showNrList()) { Loading src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerHelper.kt +2 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.settings.network.telephony import android.content.Context import android.telephony.CarrierConfigManager import android.telephony.RadioAccessFamily import android.telephony.SubscriptionManager import android.telephony.TelephonyManager import androidx.lifecycle.LifecycleOwner Loading @@ -35,7 +36,7 @@ fun TelephonyManager.setAllowedNetworkTypes( viewLifecycleOwner.lifecycleScope.launch(Dispatchers.Default) { setAllowedNetworkTypesForReason( TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER, MobileNetworkUtils.getRafFromNetworkType(newPreferredNetworkMode), RadioAccessFamily.getRafFromNetworkType(newPreferredNetworkMode).toLong(), ) } } Loading src/com/android/settings/network/telephony/MobileNetworkUtils.java +5 −206 Original line number Diff line number Diff line Loading @@ -18,14 +18,6 @@ package com.android.settings.network.telephony; import static android.provider.Telephony.Carriers.ENFORCE_MANAGED_URI; import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.CDMA; import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.EVDO; import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.GSM; import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.LTE; import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.NR; import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.RAF_TD_SCDMA; import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.RAF_UNKNOWN; import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.WCDMA; import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO; import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA; import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO; Loading Loading @@ -56,11 +48,11 @@ import android.provider.Settings; import android.telecom.PhoneAccountHandle; import android.telecom.TelecomManager; import android.telephony.CarrierConfigManager; import android.telephony.RadioAccessFamily; import android.telephony.ServiceState; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.telephony.euicc.EuiccManager; import android.telephony.ims.ImsManager; import android.telephony.ims.ImsRcsManager; import android.telephony.ims.ProvisioningManager; Loading Loading @@ -89,9 +81,7 @@ import com.android.settingslib.core.instrumentation.Instrumentable; import com.android.settingslib.graph.SignalDrawable; import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity; import java.util.HashSet; import java.util.List; import java.util.Set; public class MobileNetworkUtils { Loading Loading @@ -334,7 +324,7 @@ public class MobileNetworkUtils { } if (isWorldMode(context, subId)) { final int settingsNetworkMode = getNetworkTypeFromRaf( final int settingsNetworkMode = RadioAccessFamily.getNetworkTypeFromRaf( (int) telephonyManager.getAllowedNetworkTypesForReason( TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)); Loading Loading @@ -365,7 +355,7 @@ public class MobileNetworkUtils { } final TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class) .createForSubscriptionId(subId); final int networkMode = getNetworkTypeFromRaf( final int networkMode = RadioAccessFamily.getNetworkTypeFromRaf( (int) telephonyManager.getAllowedNetworkTypesForReason( TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)); if (isWorldMode(context, subId)) { Loading Loading @@ -433,7 +423,7 @@ public class MobileNetworkUtils { } if (isWorldMode(context, subId)) { final int networkMode = getNetworkTypeFromRaf( final int networkMode = RadioAccessFamily.getNetworkTypeFromRaf( (int) telephonyManager.getAllowedNetworkTypesForReason( TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)); if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO) { Loading Loading @@ -548,7 +538,7 @@ public class MobileNetworkUtils { } final TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class) .createForSubscriptionId(subId); final int networkMode = getNetworkTypeFromRaf( final int networkMode = RadioAccessFamily.getNetworkTypeFromRaf( (int) telephonyManager.getAllowedNetworkTypesForReason( TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)); if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM Loading Loading @@ -647,197 +637,6 @@ public class MobileNetworkUtils { return activeSubIds; } /** * Loop through all the device logical slots to check whether the user's current country * supports eSIM. */ private static boolean isCurrentCountrySupported(Context context) { final EuiccManager em = (EuiccManager) context.getSystemService(EuiccManager.class); final TelephonyManager tm = (TelephonyManager) context.getSystemService(TelephonyManager.class); Set<String> countrySet = new HashSet<>(); for (int i = 0; i < tm.getPhoneCount(); i++) { String countryCode = tm.getNetworkCountryIso(i); if (!TextUtils.isEmpty(countryCode)) { countrySet.add(countryCode); } } boolean isSupported = countrySet.stream().anyMatch(em::isSupportedCountry); Log.i(TAG, "isCurrentCountrySupported countryCodes: " + countrySet + " eSIMSupported: " + isSupported); return isSupported; } /** * Imported from {@link android.telephony.RadioAccessFamily} */ public static long getRafFromNetworkType(int type) { switch (type) { case TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF: return GSM | WCDMA; case TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY: return GSM; case TelephonyManagerConstants.NETWORK_MODE_WCDMA_ONLY: return WCDMA; case TelephonyManagerConstants.NETWORK_MODE_GSM_UMTS: return GSM | WCDMA; case TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO: return CDMA | EVDO; case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO: return LTE | CDMA | EVDO; case TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA: return LTE | GSM | WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA: return LTE | CDMA | EVDO | GSM | WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY: return LTE; case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA: return LTE | WCDMA; case TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO: return CDMA; case TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA: return EVDO; case TelephonyManagerConstants.NETWORK_MODE_GLOBAL: return GSM | WCDMA | CDMA | EVDO; case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY: return RAF_TD_SCDMA; case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_WCDMA: return RAF_TD_SCDMA | WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA: return LTE | RAF_TD_SCDMA; case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM: return RAF_TD_SCDMA | GSM; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM: return LTE | RAF_TD_SCDMA | GSM; case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA: return RAF_TD_SCDMA | GSM | WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA: return LTE | RAF_TD_SCDMA | WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA: return LTE | RAF_TD_SCDMA | GSM | WCDMA; case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: return RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: return LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA; case (TelephonyManagerConstants.NETWORK_MODE_NR_ONLY): return NR; case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE): return NR | LTE; case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO): return NR | LTE | CDMA | EVDO; case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA): return NR | LTE | GSM | WCDMA; case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA): return NR | LTE | CDMA | EVDO | GSM | WCDMA; case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA): return NR | LTE | WCDMA; case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA): return NR | LTE | RAF_TD_SCDMA; case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM): return NR | LTE | RAF_TD_SCDMA | GSM; case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA): return NR | LTE | RAF_TD_SCDMA | WCDMA; case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA): return NR | LTE | RAF_TD_SCDMA | GSM | WCDMA; case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA): return NR | LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA; default: return RAF_UNKNOWN; } } /** * Imported from {@link android.telephony.RadioAccessFamily} */ public static int getNetworkTypeFromRaf(int raf) { raf = getAdjustedRaf(raf); switch (raf) { case (GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF; case GSM: return TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY; case WCDMA: return TelephonyManagerConstants.NETWORK_MODE_WCDMA_ONLY; case (CDMA | EVDO): return TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO; case (LTE | CDMA | EVDO): return TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO; case (LTE | GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA; case (LTE | CDMA | EVDO | GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA; case LTE: return TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY; case (LTE | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA; case CDMA: return TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO; case EVDO: return TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA; case (GSM | WCDMA | CDMA | EVDO): return TelephonyManagerConstants.NETWORK_MODE_GLOBAL; case RAF_TD_SCDMA: return TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY; case (RAF_TD_SCDMA | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_WCDMA; case (LTE | RAF_TD_SCDMA): return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA; case (RAF_TD_SCDMA | GSM): return TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM; case (LTE | RAF_TD_SCDMA | GSM): return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM; case (RAF_TD_SCDMA | GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA; case (LTE | RAF_TD_SCDMA | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA; case (LTE | RAF_TD_SCDMA | GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA; case (RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA; case (LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA; case (NR): return TelephonyManagerConstants.NETWORK_MODE_NR_ONLY; case (NR | LTE): return TelephonyManagerConstants.NETWORK_MODE_NR_LTE; case (NR | LTE | CDMA | EVDO): return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO; case (NR | LTE | GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA; case (NR | LTE | CDMA | EVDO | GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA; case (NR | LTE | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA; case (NR | LTE | RAF_TD_SCDMA): return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA; case (NR | LTE | RAF_TD_SCDMA | GSM): return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM; case (NR | LTE | RAF_TD_SCDMA | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA; case (NR | LTE | RAF_TD_SCDMA | GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA; case (NR | LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA; default: return TelephonyManagerConstants.NETWORK_MODE_UNKNOWN; } } /** * Imported from {@link android.telephony.RadioAccessFamily} */ private static int getAdjustedRaf(int raf) { raf = ((GSM & raf) > 0) ? (GSM | raf) : raf; raf = ((WCDMA & raf) > 0) ? (WCDMA | raf) : raf; raf = ((CDMA & raf) > 0) ? (CDMA | raf) : raf; raf = ((EVDO & raf) > 0) ? (EVDO | raf) : raf; raf = ((LTE & raf) > 0) ? (LTE | raf) : raf; raf = ((NR & raf) > 0) ? (NR | raf) : raf; return raf; } /** * Copied from SubscriptionsPreferenceController#activeNetworkIsCellular() */ Loading src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java +3 −2 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static com.android.settings.network.telephony.EnabledNetworkModePreferenc import android.content.Context; import android.os.PersistableBundle; import android.telephony.CarrierConfigManager; import android.telephony.RadioAccessFamily; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.util.Log; Loading Loading @@ -72,7 +73,7 @@ public class PreferredNetworkModePreferenceController extends BasePreferenceCont mTelephonyManager.setAllowedNetworkTypesForReason( TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER, MobileNetworkUtils.getRafFromNetworkType(newPreferredNetworkMode)); RadioAccessFamily.getRafFromNetworkType(newPreferredNetworkMode)); final ListPreference listPreference = (ListPreference) preference; listPreference.setSummary(getPreferredNetworkModeSummaryResId(newPreferredNetworkMode)); Loading @@ -94,7 +95,7 @@ public class PreferredNetworkModePreferenceController extends BasePreferenceCont Log.w(TAG, "TelephonyManager is null"); return TelephonyManagerConstants.NETWORK_MODE_UNKNOWN; } return MobileNetworkUtils.getNetworkTypeFromRaf( return RadioAccessFamily.getNetworkTypeFromRaf( (int) mTelephonyManager.getAllowedNetworkTypesForReason( TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)); } Loading src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java +2 −3 Original line number Diff line number Diff line Loading @@ -22,14 +22,13 @@ import static com.android.settings.network.telephony.TelephonyConstants.Telephon import android.content.Context; import android.provider.Settings; import android.telephony.RadioAccessFamily; import android.telephony.TelephonyManager; import android.util.Log; import androidx.preference.ListPreference; import androidx.preference.Preference; import com.android.settings.network.telephony.MobileNetworkUtils; /** * Preference controller for "System Select" */ Loading Loading @@ -65,7 +64,7 @@ public class CdmaSystemSelectPreferenceController extends CdmaBasePreferenceCont } final int settingsNetworkMode = hasTelephonyMgr ? MobileNetworkUtils.getNetworkTypeFromRaf( hasTelephonyMgr ? RadioAccessFamily.getNetworkTypeFromRaf( (int) mTelephonyManager.getAllowedNetworkTypesForReason( TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)) : NETWORK_MODE_UNKNOWN; Loading Loading
src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java +2 −1 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.content.Context; import android.content.res.Resources; import android.os.PersistableBundle; import android.telephony.CarrierConfigManager; import android.telephony.RadioAccessFamily; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyCallback; Loading Loading @@ -445,7 +446,7 @@ public class EnabledNetworkModePreferenceController extends } private int getPreferredNetworkMode() { int networkMode = MobileNetworkUtils.getNetworkTypeFromRaf( int networkMode = RadioAccessFamily.getNetworkTypeFromRaf( (int) mTelephonyManager.getAllowedNetworkTypesForReason( TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)); if (!showNrList()) { Loading
src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerHelper.kt +2 −1 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.settings.network.telephony import android.content.Context import android.telephony.CarrierConfigManager import android.telephony.RadioAccessFamily import android.telephony.SubscriptionManager import android.telephony.TelephonyManager import androidx.lifecycle.LifecycleOwner Loading @@ -35,7 +36,7 @@ fun TelephonyManager.setAllowedNetworkTypes( viewLifecycleOwner.lifecycleScope.launch(Dispatchers.Default) { setAllowedNetworkTypesForReason( TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER, MobileNetworkUtils.getRafFromNetworkType(newPreferredNetworkMode), RadioAccessFamily.getRafFromNetworkType(newPreferredNetworkMode).toLong(), ) } } Loading
src/com/android/settings/network/telephony/MobileNetworkUtils.java +5 −206 Original line number Diff line number Diff line Loading @@ -18,14 +18,6 @@ package com.android.settings.network.telephony; import static android.provider.Telephony.Carriers.ENFORCE_MANAGED_URI; import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.CDMA; import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.EVDO; import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.GSM; import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.LTE; import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.NR; import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.RAF_TD_SCDMA; import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.RAF_UNKNOWN; import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.WCDMA; import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO; import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA; import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO; Loading Loading @@ -56,11 +48,11 @@ import android.provider.Settings; import android.telecom.PhoneAccountHandle; import android.telecom.TelecomManager; import android.telephony.CarrierConfigManager; import android.telephony.RadioAccessFamily; import android.telephony.ServiceState; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.telephony.euicc.EuiccManager; import android.telephony.ims.ImsManager; import android.telephony.ims.ImsRcsManager; import android.telephony.ims.ProvisioningManager; Loading Loading @@ -89,9 +81,7 @@ import com.android.settingslib.core.instrumentation.Instrumentable; import com.android.settingslib.graph.SignalDrawable; import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity; import java.util.HashSet; import java.util.List; import java.util.Set; public class MobileNetworkUtils { Loading Loading @@ -334,7 +324,7 @@ public class MobileNetworkUtils { } if (isWorldMode(context, subId)) { final int settingsNetworkMode = getNetworkTypeFromRaf( final int settingsNetworkMode = RadioAccessFamily.getNetworkTypeFromRaf( (int) telephonyManager.getAllowedNetworkTypesForReason( TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)); Loading Loading @@ -365,7 +355,7 @@ public class MobileNetworkUtils { } final TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class) .createForSubscriptionId(subId); final int networkMode = getNetworkTypeFromRaf( final int networkMode = RadioAccessFamily.getNetworkTypeFromRaf( (int) telephonyManager.getAllowedNetworkTypesForReason( TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)); if (isWorldMode(context, subId)) { Loading Loading @@ -433,7 +423,7 @@ public class MobileNetworkUtils { } if (isWorldMode(context, subId)) { final int networkMode = getNetworkTypeFromRaf( final int networkMode = RadioAccessFamily.getNetworkTypeFromRaf( (int) telephonyManager.getAllowedNetworkTypesForReason( TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)); if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO) { Loading Loading @@ -548,7 +538,7 @@ public class MobileNetworkUtils { } final TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class) .createForSubscriptionId(subId); final int networkMode = getNetworkTypeFromRaf( final int networkMode = RadioAccessFamily.getNetworkTypeFromRaf( (int) telephonyManager.getAllowedNetworkTypesForReason( TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)); if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM Loading Loading @@ -647,197 +637,6 @@ public class MobileNetworkUtils { return activeSubIds; } /** * Loop through all the device logical slots to check whether the user's current country * supports eSIM. */ private static boolean isCurrentCountrySupported(Context context) { final EuiccManager em = (EuiccManager) context.getSystemService(EuiccManager.class); final TelephonyManager tm = (TelephonyManager) context.getSystemService(TelephonyManager.class); Set<String> countrySet = new HashSet<>(); for (int i = 0; i < tm.getPhoneCount(); i++) { String countryCode = tm.getNetworkCountryIso(i); if (!TextUtils.isEmpty(countryCode)) { countrySet.add(countryCode); } } boolean isSupported = countrySet.stream().anyMatch(em::isSupportedCountry); Log.i(TAG, "isCurrentCountrySupported countryCodes: " + countrySet + " eSIMSupported: " + isSupported); return isSupported; } /** * Imported from {@link android.telephony.RadioAccessFamily} */ public static long getRafFromNetworkType(int type) { switch (type) { case TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF: return GSM | WCDMA; case TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY: return GSM; case TelephonyManagerConstants.NETWORK_MODE_WCDMA_ONLY: return WCDMA; case TelephonyManagerConstants.NETWORK_MODE_GSM_UMTS: return GSM | WCDMA; case TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO: return CDMA | EVDO; case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO: return LTE | CDMA | EVDO; case TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA: return LTE | GSM | WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA: return LTE | CDMA | EVDO | GSM | WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY: return LTE; case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA: return LTE | WCDMA; case TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO: return CDMA; case TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA: return EVDO; case TelephonyManagerConstants.NETWORK_MODE_GLOBAL: return GSM | WCDMA | CDMA | EVDO; case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY: return RAF_TD_SCDMA; case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_WCDMA: return RAF_TD_SCDMA | WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA: return LTE | RAF_TD_SCDMA; case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM: return RAF_TD_SCDMA | GSM; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM: return LTE | RAF_TD_SCDMA | GSM; case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA: return RAF_TD_SCDMA | GSM | WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA: return LTE | RAF_TD_SCDMA | WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA: return LTE | RAF_TD_SCDMA | GSM | WCDMA; case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: return RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA; case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA: return LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA; case (TelephonyManagerConstants.NETWORK_MODE_NR_ONLY): return NR; case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE): return NR | LTE; case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO): return NR | LTE | CDMA | EVDO; case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA): return NR | LTE | GSM | WCDMA; case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA): return NR | LTE | CDMA | EVDO | GSM | WCDMA; case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA): return NR | LTE | WCDMA; case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA): return NR | LTE | RAF_TD_SCDMA; case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM): return NR | LTE | RAF_TD_SCDMA | GSM; case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA): return NR | LTE | RAF_TD_SCDMA | WCDMA; case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA): return NR | LTE | RAF_TD_SCDMA | GSM | WCDMA; case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA): return NR | LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA; default: return RAF_UNKNOWN; } } /** * Imported from {@link android.telephony.RadioAccessFamily} */ public static int getNetworkTypeFromRaf(int raf) { raf = getAdjustedRaf(raf); switch (raf) { case (GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF; case GSM: return TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY; case WCDMA: return TelephonyManagerConstants.NETWORK_MODE_WCDMA_ONLY; case (CDMA | EVDO): return TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO; case (LTE | CDMA | EVDO): return TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO; case (LTE | GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA; case (LTE | CDMA | EVDO | GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA; case LTE: return TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY; case (LTE | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA; case CDMA: return TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO; case EVDO: return TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA; case (GSM | WCDMA | CDMA | EVDO): return TelephonyManagerConstants.NETWORK_MODE_GLOBAL; case RAF_TD_SCDMA: return TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY; case (RAF_TD_SCDMA | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_WCDMA; case (LTE | RAF_TD_SCDMA): return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA; case (RAF_TD_SCDMA | GSM): return TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM; case (LTE | RAF_TD_SCDMA | GSM): return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM; case (RAF_TD_SCDMA | GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA; case (LTE | RAF_TD_SCDMA | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA; case (LTE | RAF_TD_SCDMA | GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA; case (RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA; case (LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA; case (NR): return TelephonyManagerConstants.NETWORK_MODE_NR_ONLY; case (NR | LTE): return TelephonyManagerConstants.NETWORK_MODE_NR_LTE; case (NR | LTE | CDMA | EVDO): return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO; case (NR | LTE | GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA; case (NR | LTE | CDMA | EVDO | GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA; case (NR | LTE | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA; case (NR | LTE | RAF_TD_SCDMA): return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA; case (NR | LTE | RAF_TD_SCDMA | GSM): return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM; case (NR | LTE | RAF_TD_SCDMA | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA; case (NR | LTE | RAF_TD_SCDMA | GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA; case (NR | LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA): return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA; default: return TelephonyManagerConstants.NETWORK_MODE_UNKNOWN; } } /** * Imported from {@link android.telephony.RadioAccessFamily} */ private static int getAdjustedRaf(int raf) { raf = ((GSM & raf) > 0) ? (GSM | raf) : raf; raf = ((WCDMA & raf) > 0) ? (WCDMA | raf) : raf; raf = ((CDMA & raf) > 0) ? (CDMA | raf) : raf; raf = ((EVDO & raf) > 0) ? (EVDO | raf) : raf; raf = ((LTE & raf) > 0) ? (LTE | raf) : raf; raf = ((NR & raf) > 0) ? (NR | raf) : raf; return raf; } /** * Copied from SubscriptionsPreferenceController#activeNetworkIsCellular() */ Loading
src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java +3 −2 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static com.android.settings.network.telephony.EnabledNetworkModePreferenc import android.content.Context; import android.os.PersistableBundle; import android.telephony.CarrierConfigManager; import android.telephony.RadioAccessFamily; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.util.Log; Loading Loading @@ -72,7 +73,7 @@ public class PreferredNetworkModePreferenceController extends BasePreferenceCont mTelephonyManager.setAllowedNetworkTypesForReason( TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER, MobileNetworkUtils.getRafFromNetworkType(newPreferredNetworkMode)); RadioAccessFamily.getRafFromNetworkType(newPreferredNetworkMode)); final ListPreference listPreference = (ListPreference) preference; listPreference.setSummary(getPreferredNetworkModeSummaryResId(newPreferredNetworkMode)); Loading @@ -94,7 +95,7 @@ public class PreferredNetworkModePreferenceController extends BasePreferenceCont Log.w(TAG, "TelephonyManager is null"); return TelephonyManagerConstants.NETWORK_MODE_UNKNOWN; } return MobileNetworkUtils.getNetworkTypeFromRaf( return RadioAccessFamily.getNetworkTypeFromRaf( (int) mTelephonyManager.getAllowedNetworkTypesForReason( TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)); } Loading
src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java +2 −3 Original line number Diff line number Diff line Loading @@ -22,14 +22,13 @@ import static com.android.settings.network.telephony.TelephonyConstants.Telephon import android.content.Context; import android.provider.Settings; import android.telephony.RadioAccessFamily; import android.telephony.TelephonyManager; import android.util.Log; import androidx.preference.ListPreference; import androidx.preference.Preference; import com.android.settings.network.telephony.MobileNetworkUtils; /** * Preference controller for "System Select" */ Loading Loading @@ -65,7 +64,7 @@ public class CdmaSystemSelectPreferenceController extends CdmaBasePreferenceCont } final int settingsNetworkMode = hasTelephonyMgr ? MobileNetworkUtils.getNetworkTypeFromRaf( hasTelephonyMgr ? RadioAccessFamily.getNetworkTypeFromRaf( (int) mTelephonyManager.getAllowedNetworkTypesForReason( TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)) : NETWORK_MODE_UNKNOWN; Loading