diff options
author | SongFerngWang <songferngwang@google.com> | 2020-05-19 20:19:16 +0800 |
---|---|---|
committer | SongFerng Wang <songferngwang@google.com> | 2020-05-19 12:32:57 +0000 |
commit | 414f8b8fe6218349f93526674de8836d0a92e9ae (patch) | |
tree | b87578f8208d01a2e2fa350ee7bc2f155b665d48 /src/com/android/settings/network | |
parent | a5eb615038ce2e15217a32e12e78854dae4e2ecd (diff) | |
download | packages_apps_Settings-414f8b8fe6218349f93526674de8836d0a92e9ae.tar.gz packages_apps_Settings-414f8b8fe6218349f93526674de8836d0a92e9ae.tar.bz2 packages_apps_Settings-414f8b8fe6218349f93526674de8836d0a92e9ae.zip |
Add corresponding code for the new NR condition
Bug: 155915216
Test: make RunSettingsRoboTests ROBOTEST_FILTER=\
EnabledNetworkModePreferenceControllerTest (Pass)
Change-Id: I171ea0a8adc621ad5e9dc5cd2090e431b923e775
Diffstat (limited to 'src/com/android/settings/network')
-rw-r--r-- | src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java | 19 | ||||
-rw-r--r-- | src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java | 5 |
2 files changed, 17 insertions, 7 deletions
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java index 6917549cb2..26c206da84 100644 --- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java +++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java @@ -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); @@ -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); @@ -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 { @@ -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)); @@ -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)); diff --git a/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java b/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java index 91d01d36a1..d6aed676d4 100644 --- a/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java +++ b/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java @@ -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; @@ -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; } @@ -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) { |