Loading src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java +13 −6 Original line number Diff line number Diff line Loading @@ -204,13 +204,16 @@ public class EnabledNetworkModePreferenceController extends .createForSubscriptionId(mSubId); final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId); final boolean isNrEnabledFromCarrierConfig = carrierConfig != null && carrierConfig.getBoolean(CarrierConfigManager.KEY_NR_ENABLED_BOOL); mAllowed5gNetworkType = checkSupportedRadioBitmask( mTelephonyManager.getAllowedNetworkTypes(), TelephonyManager.NETWORK_TYPE_BITMASK_NR); mSupported5gRadioAccessFamily = checkSupportedRadioBitmask( mTelephonyManager.getSupportedRadioAccessFamily(), mSupported5gRadioAccessFamily = isNrEnabledFromCarrierConfig && checkSupportedRadioBitmask(mTelephonyManager.getSupportedRadioAccessFamily(), TelephonyManager.NETWORK_TYPE_BITMASK_NR); mIsGlobalCdma = mTelephonyManager.isLteCdmaEvdoGsmWcdmaEnabled() && carrierConfig != null && carrierConfig.getBoolean(CarrierConfigManager.KEY_SHOW_CDMA_CHOICES_BOOL); mShow4gForLTE = carrierConfig != null && carrierConfig.getBoolean( CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL); Loading Loading @@ -573,7 +576,7 @@ public class EnabledNetworkModePreferenceController extends */ private void add5gEntry(int value) { boolean isNRValue = value >= TelephonyManagerConstants.NETWORK_MODE_NR_ONLY; if (mSupported5gRadioAccessFamily && mAllowed5gNetworkType && isNRValue) { if (showNrList() && isNRValue) { mEntries.add(mContext.getString(R.string.network_5G) + mContext.getString(R.string.network_recommended)); mEntriesValue.add(value); Loading @@ -592,7 +595,7 @@ public class EnabledNetworkModePreferenceController extends + " supported5GRadioAccessFamily: " + mSupported5gRadioAccessFamily + " allowed5GNetworkType: " + mAllowed5gNetworkType); mEntries.add(mContext.getString(R.string.network_global)); if (mSupported5gRadioAccessFamily & mAllowed5gNetworkType) { if (showNrList()) { mEntriesValue.add( TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA); } else { Loading @@ -601,11 +604,15 @@ public class EnabledNetworkModePreferenceController extends } } private boolean showNrList() { return mSupported5gRadioAccessFamily && mAllowed5gNetworkType; } /** * Add LTE entry. If device supported 5G, show "LTE" instead of "LTE (recommended)". */ private void addLteEntry(int value) { if (mSupported5gRadioAccessFamily) { if (showNrList()) { mEntries.add(mContext.getString(R.string.network_lte_pure)); } else { mEntries.add(mContext.getString(R.string.network_lte)); Loading @@ -617,7 +624,7 @@ public class EnabledNetworkModePreferenceController extends * Add 4G entry. If device supported 5G, show "4G" instead of "4G (recommended)". */ private void add4gEntry(int value) { if (mSupported5gRadioAccessFamily) { if (showNrList()) { mEntries.add(mContext.getString(R.string.network_4G_pure)); } else { mEntries.add(mContext.getString(R.string.network_4G)); Loading src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java +4 −1 Original line number Diff line number Diff line Loading @@ -55,6 +55,7 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc Preference mPreference; private PhoneCallStateListener mPhoneStateListener; private boolean mShow5gLimitedDialog; boolean mIsNrEnabledFromCarrierConfig; private boolean mHas5gCapability; @VisibleForTesting Integer mCallState; Loading Loading @@ -95,6 +96,8 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc mShow5gLimitedDialog = carrierConfig.getBoolean( CarrierConfigManager.KEY_VOLTE_5G_LIMITED_ALERT_DIALOG_BOOL); mIsNrEnabledFromCarrierConfig = carrierConfig.getBoolean( CarrierConfigManager.KEY_NR_ENABLED_BOOL); return this; } Loading Loading @@ -244,7 +247,7 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc private boolean isDialogNeeded() { Log.d(TAG, "Has5gCapability:" + mHas5gCapability); return mShow5gLimitedDialog && mHas5gCapability; return mShow5gLimitedDialog && mHas5gCapability && mIsNrEnabledFromCarrierConfig; } private void show5gLimitedDialog(ImsMmTelManager imsMmTelManager) { Loading tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java +2 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,7 @@ public class EnabledNetworkModePreferenceControllerTest { @Test public void updateState_5gWorldPhone_GlobalHasNr() { mPersistableBundle.putBoolean(CarrierConfigManager.KEY_NR_ENABLED_BOOL, true); mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA); mController.init(mLifecycle, SUB_ID); mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL, true); Loading @@ -168,6 +169,7 @@ public class EnabledNetworkModePreferenceControllerTest { @Test public void updateState_selectedOn5gItem() { mPersistableBundle.putBoolean(CarrierConfigManager.KEY_NR_ENABLED_BOOL, true); mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA); mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA); mController.init(mLifecycle, SUB_ID); Loading Loading
src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java +13 −6 Original line number Diff line number Diff line Loading @@ -204,13 +204,16 @@ public class EnabledNetworkModePreferenceController extends .createForSubscriptionId(mSubId); final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId); final boolean isNrEnabledFromCarrierConfig = carrierConfig != null && carrierConfig.getBoolean(CarrierConfigManager.KEY_NR_ENABLED_BOOL); mAllowed5gNetworkType = checkSupportedRadioBitmask( mTelephonyManager.getAllowedNetworkTypes(), TelephonyManager.NETWORK_TYPE_BITMASK_NR); mSupported5gRadioAccessFamily = checkSupportedRadioBitmask( mTelephonyManager.getSupportedRadioAccessFamily(), mSupported5gRadioAccessFamily = isNrEnabledFromCarrierConfig && checkSupportedRadioBitmask(mTelephonyManager.getSupportedRadioAccessFamily(), TelephonyManager.NETWORK_TYPE_BITMASK_NR); mIsGlobalCdma = mTelephonyManager.isLteCdmaEvdoGsmWcdmaEnabled() && carrierConfig != null && carrierConfig.getBoolean(CarrierConfigManager.KEY_SHOW_CDMA_CHOICES_BOOL); mShow4gForLTE = carrierConfig != null && carrierConfig.getBoolean( CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL); Loading Loading @@ -573,7 +576,7 @@ public class EnabledNetworkModePreferenceController extends */ private void add5gEntry(int value) { boolean isNRValue = value >= TelephonyManagerConstants.NETWORK_MODE_NR_ONLY; if (mSupported5gRadioAccessFamily && mAllowed5gNetworkType && isNRValue) { if (showNrList() && isNRValue) { mEntries.add(mContext.getString(R.string.network_5G) + mContext.getString(R.string.network_recommended)); mEntriesValue.add(value); Loading @@ -592,7 +595,7 @@ public class EnabledNetworkModePreferenceController extends + " supported5GRadioAccessFamily: " + mSupported5gRadioAccessFamily + " allowed5GNetworkType: " + mAllowed5gNetworkType); mEntries.add(mContext.getString(R.string.network_global)); if (mSupported5gRadioAccessFamily & mAllowed5gNetworkType) { if (showNrList()) { mEntriesValue.add( TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA); } else { Loading @@ -601,11 +604,15 @@ public class EnabledNetworkModePreferenceController extends } } private boolean showNrList() { return mSupported5gRadioAccessFamily && mAllowed5gNetworkType; } /** * Add LTE entry. If device supported 5G, show "LTE" instead of "LTE (recommended)". */ private void addLteEntry(int value) { if (mSupported5gRadioAccessFamily) { if (showNrList()) { mEntries.add(mContext.getString(R.string.network_lte_pure)); } else { mEntries.add(mContext.getString(R.string.network_lte)); Loading @@ -617,7 +624,7 @@ public class EnabledNetworkModePreferenceController extends * Add 4G entry. If device supported 5G, show "4G" instead of "4G (recommended)". */ private void add4gEntry(int value) { if (mSupported5gRadioAccessFamily) { if (showNrList()) { mEntries.add(mContext.getString(R.string.network_4G_pure)); } else { mEntries.add(mContext.getString(R.string.network_4G)); Loading
src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java +4 −1 Original line number Diff line number Diff line Loading @@ -55,6 +55,7 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc Preference mPreference; private PhoneCallStateListener mPhoneStateListener; private boolean mShow5gLimitedDialog; boolean mIsNrEnabledFromCarrierConfig; private boolean mHas5gCapability; @VisibleForTesting Integer mCallState; Loading Loading @@ -95,6 +96,8 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc mShow5gLimitedDialog = carrierConfig.getBoolean( CarrierConfigManager.KEY_VOLTE_5G_LIMITED_ALERT_DIALOG_BOOL); mIsNrEnabledFromCarrierConfig = carrierConfig.getBoolean( CarrierConfigManager.KEY_NR_ENABLED_BOOL); return this; } Loading Loading @@ -244,7 +247,7 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc private boolean isDialogNeeded() { Log.d(TAG, "Has5gCapability:" + mHas5gCapability); return mShow5gLimitedDialog && mHas5gCapability; return mShow5gLimitedDialog && mHas5gCapability && mIsNrEnabledFromCarrierConfig; } private void show5gLimitedDialog(ImsMmTelManager imsMmTelManager) { Loading
tests/robotests/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java +2 −0 Original line number Diff line number Diff line Loading @@ -155,6 +155,7 @@ public class EnabledNetworkModePreferenceControllerTest { @Test public void updateState_5gWorldPhone_GlobalHasNr() { mPersistableBundle.putBoolean(CarrierConfigManager.KEY_NR_ENABLED_BOOL, true); mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA); mController.init(mLifecycle, SUB_ID); mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL, true); Loading @@ -168,6 +169,7 @@ public class EnabledNetworkModePreferenceControllerTest { @Test public void updateState_selectedOn5gItem() { mPersistableBundle.putBoolean(CarrierConfigManager.KEY_NR_ENABLED_BOOL, true); mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA); mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA); mController.init(mLifecycle, SUB_ID); Loading