Fix SIM name in Network Details to show the selected SIM.

When dual SIM cards with same Carrier Id inserted, authentication of
SIM base network is via default data SIM. However, SIM name shown in
Network Details is always the one inserted first.
Hence, make SIM name of default data SIM shown in Network Details
preferred to keep consistent with the one used for authentication.

Co-authored-by: Yibo Wang <yibo.x.wang@sony.com>

Test: manual test
Bug: 240732444
Change-Id: Ibd64189d6c25b5a64881a0ad9d40854df93481f4
This commit is contained in:
Bruno Kremp
2022-08-10 15:09:49 +02:00
committed by Bruno
parent f37834c09f
commit b204960ea4

View File

@@ -714,22 +714,29 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
.getSystemService(SubscriptionManager.class).getActiveSubscriptionInfoList();
final int defaultDataSubscriptionId = SubscriptionManager.getDefaultDataSubscriptionId();
if (activeSubscriptionInfos != null) {
CharSequence firstCarrierIdMatchedDisplayName = null;
for (SubscriptionInfo subscriptionInfo : activeSubscriptionInfos) {
final CharSequence displayName = SubscriptionUtil.getUniqueSubscriptionDisplayName(
subscriptionInfo, mContext);
if (config.carrierId == subscriptionInfo.getCarrierId()) {
mEapSimSubscriptionPref.setSummary(displayName);
return;
if (firstCarrierIdMatchedDisplayName == null
&& config.carrierId == subscriptionInfo.getCarrierId()) {
firstCarrierIdMatchedDisplayName = displayName;
}
// When it's UNKNOWN_CARRIER_ID, devices connects it with the SIM subscription of
// defaultDataSubscriptionId.
if (config.carrierId == TelephonyManager.UNKNOWN_CARRIER_ID
&& defaultDataSubscriptionId == subscriptionInfo.getSubscriptionId()) {
// When it's UNKNOWN_CARRIER_ID or matched with configured CarrierId,
// devices connects it with the SIM subscription of defaultDataSubscriptionId.
if (defaultDataSubscriptionId == subscriptionInfo.getSubscriptionId()
&& (config.carrierId == subscriptionInfo.getCarrierId()
|| config.carrierId == TelephonyManager.UNKNOWN_CARRIER_ID)) {
mEapSimSubscriptionPref.setSummary(displayName);
return;
}
}
if (firstCarrierIdMatchedDisplayName != null) {
mEapSimSubscriptionPref.setSummary(firstCarrierIdMatchedDisplayName);
return;
}
}
if (config.carrierId == TelephonyManager.UNKNOWN_CARRIER_ID) {