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

Commit 99e64da8 authored by Malcolm Chen's avatar Malcolm Chen
Browse files

Add check of canConnectTo5GInDsds to show NrDisabledInDsdsFooter

Bug: 152786064
Test: build and manual
Change-Id: I6194592d9a7bf4d4b7993fc344d7392bf5c296aa
Merged-In: I6194592d9a7bf4d4b7993fc344d7392bf5c296aa
parent 5e68080b
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -82,13 +82,18 @@ public class NrDisabledInDsdsFooterPreferenceController extends BasePreferenceCo
        final TelephonyManager teleManager = ((TelephonyManager)
                mContext.getSystemService(Context.TELEPHONY_SERVICE))
                .createForSubscriptionId(mSubId);
        final SubscriptionManager subManager = ((SubscriptionManager)
                mContext.getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE));
        final int[] activeSubIdList = subManager.getActiveSubscriptionIdList();
        final int activeSubCount = activeSubIdList == null ? 0 : activeSubIdList.length;
        // Show the footer only when DSDS is enabled, and mobile data is enabled on this SIM, and
        // 5G is supported on this device.
        if (!teleManager.isDataEnabled() || teleManager.getActiveModemCount() < 2
                || !is5GSupportedByRadio(teleManager)) {
        if (teleManager.isDataEnabled() && activeSubCount >= 2 && is5GSupportedByRadio(teleManager)
                && !teleManager.canConnectTo5GInDsdsMode()) {
            return AVAILABLE;
        } else {
            return CONDITIONALLY_UNAVAILABLE;
        }
        return AVAILABLE;
    }

    private boolean is5GSupportedByRadio(TelephonyManager tm) {