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

Commit fc02a337 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Use ArrayMap to cache active subscriptions" into main am: 29ee5744...

Merge "Use ArrayMap to cache active subscriptions" into main am: 29ee5744 am: 565161fb am: 47f85682

Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2704973



Change-Id: I32983b0b8ef21c1630b475ec02bd65c8166699b0
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents bc55c69e 47f85682
Loading
Loading
Loading
Loading
+8 −19
Original line number Diff line number Diff line
@@ -227,7 +227,7 @@ public class WifiConfigController2 implements TextWatcher,
    private final WifiManager mWifiManager;
    private boolean mIsTrustOnFirstUseSupported;

    private final List<SubscriptionInfo> mActiveSubscriptionInfos = new ArrayList<>();
    private final ArrayMap<Integer, SubscriptionInfo> mActiveSubscriptionInfos = new ArrayMap<>();

    public WifiConfigController2(WifiConfigUiBase2 parent, View view, WifiEntry wifiEntry,
            int mode) {
@@ -716,7 +716,7 @@ public class WifiConfigController2 implements TextWatcher,
                if (config.enterpriseConfig.isAuthenticationSimBased()
                        && mActiveSubscriptionInfos.size() > 0) {
                    config.carrierId = mActiveSubscriptionInfos
                            .get(mEapSimSpinner.getSelectedItemPosition()).getCarrierId();
                            .valueAt(mEapSimSpinner.getSelectedItemPosition()).getCarrierId();
                }

                String caCert = (String) mEapCaCertSpinner.getSelectedItem();
@@ -1136,11 +1136,9 @@ public class WifiConfigController2 implements TextWatcher,
            }

            if (enterpriseConfig.isAuthenticationSimBased()) {
                for (int i = 0; i < mActiveSubscriptionInfos.size(); i++) {
                    if (wifiConfig.carrierId == mActiveSubscriptionInfos.get(i).getCarrierId()) {
                        mEapSimSpinner.setSelection(i);
                        break;
                    }
                int index = mActiveSubscriptionInfos.indexOfKey(wifiConfig.carrierId);
                if (index > -1) {
                    mEapSimSpinner.setSelection(index);
                }
            }

@@ -1516,18 +1514,8 @@ public class WifiConfigController2 implements TextWatcher,
        }
        mActiveSubscriptionInfos.clear();

        // De-duplicates active subscriptions and caches in mActiveSubscriptionInfos.
        for (SubscriptionInfo newInfo : activeSubscriptionInfos) {
            for (SubscriptionInfo cachedInfo : mActiveSubscriptionInfos) {
                if (newInfo.getCarrierId() == cachedInfo.getCarrierId()) {
                    continue;
                }
            }
            mActiveSubscriptionInfos.add(newInfo);
        }

        // Shows disabled 'No SIM' when there is no active subscription.
        if (mActiveSubscriptionInfos.size() == 0) {
        if (activeSubscriptionInfos.isEmpty()) {
            final String[] noSim = new String[]{mContext.getString(R.string.wifi_no_sim_card)};
            mEapSimSpinner.setAdapter(getSpinnerAdapter(noSim));
            mEapSimSpinner.setSelection(0 /* position */);
@@ -1538,7 +1526,7 @@ public class WifiConfigController2 implements TextWatcher,
        // Shows display name of each active subscription.
        ArrayMap<Integer, CharSequence> displayNames = new ArrayMap<>();
        int defaultDataSubscriptionId = SubscriptionManager.getDefaultDataSubscriptionId();
        for (SubscriptionInfo activeSubInfo : mActiveSubscriptionInfos) {
        for (SubscriptionInfo activeSubInfo : activeSubscriptionInfos) {
            // If multiple SIMs have the same carrier id, only the first or default data SIM is
            // displayed.
            if (displayNames.containsKey(activeSubInfo.getCarrierId())
@@ -1547,6 +1535,7 @@ public class WifiConfigController2 implements TextWatcher,
            }
            displayNames.put(activeSubInfo.getCarrierId(),
                    SubscriptionUtil.getUniqueSubscriptionDisplayName(activeSubInfo, mContext));
            mActiveSubscriptionInfos.put(activeSubInfo.getCarrierId(), activeSubInfo);
        }
        mEapSimSpinner.setAdapter(
                getSpinnerAdapter(displayNames.values().toArray(new String[displayNames.size()])));