diff options
author | cretin45 <cretin45@gmail.com> | 2015-04-27 13:20:13 -0700 |
---|---|---|
committer | cretin45 <cretin45@gmail.com> | 2015-05-04 16:03:08 -0700 |
commit | ac84dc0fce1396307d56bea5e68a845f8e77ff90 (patch) | |
tree | b28fd94e62ba70924133c474c9c4af3d4c58df5b /src/com/cyanogenmod/setupwizard/setup | |
parent | 676081a4adc9db4cc199c4ac4db103b7be650951 (diff) | |
download | packages_apps_SetupWizard-ac84dc0fce1396307d56bea5e68a845f8e77ff90.zip packages_apps_SetupWizard-ac84dc0fce1396307d56bea5e68a845f8e77ff90.tar.gz packages_apps_SetupWizard-ac84dc0fce1396307d56bea5e68a845f8e77ff90.tar.bz2 |
Setupwizard: Fix msim NPE where sim only in slot 2
Change-Id: I919129185cb49c51f9f02d9718e116e7d02b0d2c
Diffstat (limited to 'src/com/cyanogenmod/setupwizard/setup')
-rw-r--r-- | src/com/cyanogenmod/setupwizard/setup/CMSetupWizardData.java | 5 | ||||
-rw-r--r-- | src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java | 9 |
2 files changed, 7 insertions, 7 deletions
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<SubscriptionInfo> subInfoRecords = mSubscriptionManager.getActiveSubscriptionInfoList(); int simCount = subInfoRecords.size(); mSubInfoRecords = new SparseArray<SubscriptionInfo>(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<TextView>(simCount); mSignalViews = new SparseArray<ImageView>(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); } } |