diff --git a/src/com/cyanogenmod/setupwizard/setup/CMSetupWizardData.java b/src/com/cyanogenmod/setupwizard/setup/CMSetupWizardData.java index e5dcacc..c61f6a1 100644 --- a/src/com/cyanogenmod/setupwizard/setup/CMSetupWizardData.java +++ b/src/com/cyanogenmod/setupwizard/setup/CMSetupWizardData.java @@ -20,6 +20,7 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.ConnectivityManager; +import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import com.android.internal.telephony.TelephonyIntents; @@ -127,7 +128,7 @@ public class CMSetupWizardData extends AbstractSetupData { ChooseDataSimPage chooseDataSimPage = (ChooseDataSimPage) getPage(ChooseDataSimPage.TAG); if (chooseDataSimPage != null) { - chooseDataSimPage.setHidden(!isSimInserted()); + chooseDataSimPage.setHidden(!allSimsInserted()); } } @@ -185,7 +186,7 @@ public class CMSetupWizardData extends AbstractSetupData { return false; } } - return true; + return simSlotCount == SubscriptionManager.from(mContext).getActiveSubscriptionInfoCount(); } } diff --git a/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java b/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java index 451b79e..de8c8e3 100644 --- a/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java +++ b/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java @@ -124,9 +124,8 @@ public class ChooseDataSimPage extends SetupPage { List subInfoRecords = mSubscriptionManager.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); + for (SubscriptionInfo subInfoRecord : subInfoRecords) { + mSubInfoRecords.put(subInfoRecord.getSimSlotIndex(), subInfoRecord); } mNameViews = new SparseArray(simCount); mSignalViews = new SparseArray(simCount); @@ -170,7 +169,7 @@ public class ChooseDataSimPage extends SetupPage { mIsAttached = true; mPhone = (TelephonyManager)getActivity().getSystemService(Context.TELEPHONY_SERVICE); for (int i = 0; i < mPhoneStateListeners.size(); i++) { - mPhone.listen(mPhoneStateListeners.get(i), + mPhone.listen(mPhoneStateListeners.valueAt(i), PhoneStateListener.LISTEN_SERVICE_STATE | PhoneStateListener.LISTEN_SIGNAL_STRENGTHS); } @@ -189,7 +188,7 @@ public class ChooseDataSimPage extends SetupPage { super.onPause(); mIsAttached = false; for (int i = 0; i < mPhoneStateListeners.size(); i++) { - mPhone.listen(mPhoneStateListeners.get(i), PhoneStateListener.LISTEN_NONE); + mPhone.listen(mPhoneStateListeners.valueAt(i), PhoneStateListener.LISTEN_NONE); } }