Merge "Add corresponding code for the new NR condition" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
dde2bfd209
@@ -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));
|
||||
|
@@ -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) {
|
||||
|
@@ -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);
|
||||
@@ -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);
|
||||
|
Reference in New Issue
Block a user