From e79aa7f0bfd431eea2dddbe4be7fb0fd9ba39ee7 Mon Sep 17 00:00:00 2001 From: cretin45 Date: Fri, 3 Apr 2015 16:07:01 -0700 Subject: [PATCH] SetupWizard: Don't assume order of SubInfoRecords Change-Id: I3b4132afccc96a5d08986a3cb902bd384931f21f --- .../setupwizard/setup/ChooseDataSimPage.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java b/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java index 303c7e5..7536a5e 100644 --- a/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java +++ b/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java @@ -78,7 +78,7 @@ public class ChooseDataSimPage extends SetupPage { } - public class ChooseDataSimFragment extends SetupPageFragment { + public static class ChooseDataSimFragment extends SetupPageFragment { private ViewGroup mPageView; private SparseArray mNameViews; @@ -86,7 +86,7 @@ public class ChooseDataSimPage extends SetupPage { private SparseArray mCheckBoxes; private TelephonyManager mPhone; - private List mSubInfoRecords; + private SparseArray mSubInfoRecords; private SparseArray mSignalStrengths; private SparseArray mServiceStates; private SparseArray mPhoneStateListeners; @@ -108,8 +108,14 @@ public class ChooseDataSimPage extends SetupPage { @Override protected void initializePage() { mPageView = (ViewGroup)mRootView.findViewById(R.id.page_view); - mSubInfoRecords = mSubscriptionManager.getActiveSubscriptionInfoList(); - int simCount = mSubInfoRecords.size(); + List subInfoRecords = SubscriptionController + .getInstance().getActiveSubscriptionInfoList(); + int simCount = subInfoRecords.size(); + mSubInfoRecords = new SparseArray(simCount); + for (int i = 0; i < simCount; i++) { + SubscriptionInfo subInfoRecord = subInfoRecords.get(i); + mSubInfoRecords.put(subInfoRecord.getSubscriptionId(), subInfoRecord); + } mNameViews = new SparseArray(simCount); mSignalViews = new SparseArray(simCount); mCheckBoxes = new SparseArray(simCount);