Add check of canConnectTo5GInDsds to show NrDisabledInDsdsFooter
Bug: 152786064 Test: build and manual Change-Id: I6194592d9a7bf4d4b7993fc344d7392bf5c296aa
This commit is contained in:
@@ -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) {
|
||||||
|
Reference in New Issue
Block a user