Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b5a3893f authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Add corresponding code for the new NR condition" into rvc-dev am: dde2bfd2

Change-Id: Ib8f58a2e5930dfd4f3b8a25dcd0d02d4455a5b24
parents 4f89d733 dde2bfd2
Loading
Loading
Loading
Loading
+13 −6
Original line number Diff line number Diff line
@@ -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));
+4 −1
Original line number Diff line number Diff line
@@ -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) {
+2 −0
Original line number Diff line number Diff line
@@ -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);