Merge "Add check of canConnectTo5GInDsds to show NrDisabledInDsdsFooter" into rvc-dev

This commit is contained in:
Xiangyu/Malcolm Chen
2020-04-20 19:10:15 +00:00
committed by Android (Google) Code Review

View File

@@ -52,13 +52,18 @@ public class NrDisabledInDsdsFooterPreferenceController extends BasePreferenceCo
final TelephonyManager teleManager = ((TelephonyManager) final TelephonyManager teleManager = ((TelephonyManager)
mContext.getSystemService(Context.TELEPHONY_SERVICE)) mContext.getSystemService(Context.TELEPHONY_SERVICE))
.createForSubscriptionId(mSubId); .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 // Show the footer only when DSDS is enabled, and mobile data is enabled on this SIM, and
// 5G is supported on this device. // 5G is supported on this device.
if (!teleManager.isDataEnabled() || teleManager.getActiveModemCount() < 2 if (teleManager.isDataEnabled() && activeSubCount >= 2 && is5GSupportedByRadio(teleManager)
|| !is5GSupportedByRadio(teleManager)) { && !teleManager.canConnectTo5GInDsdsMode()) {
return AVAILABLE;
} else {
return CONDITIONALLY_UNAVAILABLE; return CONDITIONALLY_UNAVAILABLE;
} }
return AVAILABLE;
} }
private boolean is5GSupportedByRadio(TelephonyManager tm) { private boolean is5GSupportedByRadio(TelephonyManager tm) {