From b204960ea40baf62144f4ea9f3eb4e642e901308 Mon Sep 17 00:00:00 2001 From: Bruno Kremp Date: Wed, 10 Aug 2022 15:09:49 +0200 Subject: [PATCH] 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 Test: manual test Bug: 240732444 Change-Id: Ibd64189d6c25b5a64881a0ad9d40854df93481f4 --- .../WifiDetailPreferenceController2.java | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java index f9d0db07b25..aedb1be1046 100644 --- a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java +++ b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java @@ -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) {