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);
|
.createForSubscriptionId(mSubId);
|
||||||
|
|
||||||
final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
|
final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
|
||||||
|
final boolean isNrEnabledFromCarrierConfig = carrierConfig != null
|
||||||
|
&& carrierConfig.getBoolean(CarrierConfigManager.KEY_NR_ENABLED_BOOL);
|
||||||
mAllowed5gNetworkType = checkSupportedRadioBitmask(
|
mAllowed5gNetworkType = checkSupportedRadioBitmask(
|
||||||
mTelephonyManager.getAllowedNetworkTypes(),
|
mTelephonyManager.getAllowedNetworkTypes(),
|
||||||
TelephonyManager.NETWORK_TYPE_BITMASK_NR);
|
TelephonyManager.NETWORK_TYPE_BITMASK_NR);
|
||||||
mSupported5gRadioAccessFamily = checkSupportedRadioBitmask(
|
mSupported5gRadioAccessFamily = isNrEnabledFromCarrierConfig
|
||||||
mTelephonyManager.getSupportedRadioAccessFamily(),
|
&& checkSupportedRadioBitmask(mTelephonyManager.getSupportedRadioAccessFamily(),
|
||||||
TelephonyManager.NETWORK_TYPE_BITMASK_NR);
|
TelephonyManager.NETWORK_TYPE_BITMASK_NR);
|
||||||
mIsGlobalCdma = mTelephonyManager.isLteCdmaEvdoGsmWcdmaEnabled()
|
mIsGlobalCdma = mTelephonyManager.isLteCdmaEvdoGsmWcdmaEnabled()
|
||||||
|
&& carrierConfig != null
|
||||||
&& carrierConfig.getBoolean(CarrierConfigManager.KEY_SHOW_CDMA_CHOICES_BOOL);
|
&& carrierConfig.getBoolean(CarrierConfigManager.KEY_SHOW_CDMA_CHOICES_BOOL);
|
||||||
mShow4gForLTE = carrierConfig != null && carrierConfig.getBoolean(
|
mShow4gForLTE = carrierConfig != null && carrierConfig.getBoolean(
|
||||||
CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL);
|
CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL);
|
||||||
@@ -573,7 +576,7 @@ public class EnabledNetworkModePreferenceController extends
|
|||||||
*/
|
*/
|
||||||
private void add5gEntry(int value) {
|
private void add5gEntry(int value) {
|
||||||
boolean isNRValue = value >= TelephonyManagerConstants.NETWORK_MODE_NR_ONLY;
|
boolean isNRValue = value >= TelephonyManagerConstants.NETWORK_MODE_NR_ONLY;
|
||||||
if (mSupported5gRadioAccessFamily && mAllowed5gNetworkType && isNRValue) {
|
if (showNrList() && isNRValue) {
|
||||||
mEntries.add(mContext.getString(R.string.network_5G)
|
mEntries.add(mContext.getString(R.string.network_5G)
|
||||||
+ mContext.getString(R.string.network_recommended));
|
+ mContext.getString(R.string.network_recommended));
|
||||||
mEntriesValue.add(value);
|
mEntriesValue.add(value);
|
||||||
@@ -592,7 +595,7 @@ public class EnabledNetworkModePreferenceController extends
|
|||||||
+ " supported5GRadioAccessFamily: " + mSupported5gRadioAccessFamily
|
+ " supported5GRadioAccessFamily: " + mSupported5gRadioAccessFamily
|
||||||
+ " allowed5GNetworkType: " + mAllowed5gNetworkType);
|
+ " allowed5GNetworkType: " + mAllowed5gNetworkType);
|
||||||
mEntries.add(mContext.getString(R.string.network_global));
|
mEntries.add(mContext.getString(R.string.network_global));
|
||||||
if (mSupported5gRadioAccessFamily & mAllowed5gNetworkType) {
|
if (showNrList()) {
|
||||||
mEntriesValue.add(
|
mEntriesValue.add(
|
||||||
TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
|
TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
|
||||||
} else {
|
} 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)".
|
* Add LTE entry. If device supported 5G, show "LTE" instead of "LTE (recommended)".
|
||||||
*/
|
*/
|
||||||
private void addLteEntry(int value) {
|
private void addLteEntry(int value) {
|
||||||
if (mSupported5gRadioAccessFamily) {
|
if (showNrList()) {
|
||||||
mEntries.add(mContext.getString(R.string.network_lte_pure));
|
mEntries.add(mContext.getString(R.string.network_lte_pure));
|
||||||
} else {
|
} else {
|
||||||
mEntries.add(mContext.getString(R.string.network_lte));
|
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)".
|
* Add 4G entry. If device supported 5G, show "4G" instead of "4G (recommended)".
|
||||||
*/
|
*/
|
||||||
private void add4gEntry(int value) {
|
private void add4gEntry(int value) {
|
||||||
if (mSupported5gRadioAccessFamily) {
|
if (showNrList()) {
|
||||||
mEntries.add(mContext.getString(R.string.network_4G_pure));
|
mEntries.add(mContext.getString(R.string.network_4G_pure));
|
||||||
} else {
|
} else {
|
||||||
mEntries.add(mContext.getString(R.string.network_4G));
|
mEntries.add(mContext.getString(R.string.network_4G));
|
||||||
|
@@ -55,6 +55,7 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc
|
|||||||
Preference mPreference;
|
Preference mPreference;
|
||||||
private PhoneCallStateListener mPhoneStateListener;
|
private PhoneCallStateListener mPhoneStateListener;
|
||||||
private boolean mShow5gLimitedDialog;
|
private boolean mShow5gLimitedDialog;
|
||||||
|
boolean mIsNrEnabledFromCarrierConfig;
|
||||||
private boolean mHas5gCapability;
|
private boolean mHas5gCapability;
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
Integer mCallState;
|
Integer mCallState;
|
||||||
@@ -95,6 +96,8 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc
|
|||||||
|
|
||||||
mShow5gLimitedDialog = carrierConfig.getBoolean(
|
mShow5gLimitedDialog = carrierConfig.getBoolean(
|
||||||
CarrierConfigManager.KEY_VOLTE_5G_LIMITED_ALERT_DIALOG_BOOL);
|
CarrierConfigManager.KEY_VOLTE_5G_LIMITED_ALERT_DIALOG_BOOL);
|
||||||
|
mIsNrEnabledFromCarrierConfig = carrierConfig.getBoolean(
|
||||||
|
CarrierConfigManager.KEY_NR_ENABLED_BOOL);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -244,7 +247,7 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc
|
|||||||
|
|
||||||
private boolean isDialogNeeded() {
|
private boolean isDialogNeeded() {
|
||||||
Log.d(TAG, "Has5gCapability:" + mHas5gCapability);
|
Log.d(TAG, "Has5gCapability:" + mHas5gCapability);
|
||||||
return mShow5gLimitedDialog && mHas5gCapability;
|
return mShow5gLimitedDialog && mHas5gCapability && mIsNrEnabledFromCarrierConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void show5gLimitedDialog(ImsMmTelManager imsMmTelManager) {
|
private void show5gLimitedDialog(ImsMmTelManager imsMmTelManager) {
|
||||||
|
@@ -155,6 +155,7 @@ public class EnabledNetworkModePreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateState_5gWorldPhone_GlobalHasNr() {
|
public void updateState_5gWorldPhone_GlobalHasNr() {
|
||||||
|
mPersistableBundle.putBoolean(CarrierConfigManager.KEY_NR_ENABLED_BOOL, true);
|
||||||
mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
|
mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
|
||||||
mController.init(mLifecycle, SUB_ID);
|
mController.init(mLifecycle, SUB_ID);
|
||||||
mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL, true);
|
mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL, true);
|
||||||
@@ -168,6 +169,7 @@ public class EnabledNetworkModePreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateState_selectedOn5gItem() {
|
public void updateState_selectedOn5gItem() {
|
||||||
|
mPersistableBundle.putBoolean(CarrierConfigManager.KEY_NR_ENABLED_BOOL, true);
|
||||||
mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
|
mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
|
||||||
mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
|
mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
|
||||||
mController.init(mLifecycle, SUB_ID);
|
mController.init(mLifecycle, SUB_ID);
|
||||||
|
Reference in New Issue
Block a user