Setupwizard: Fix msim NPE where sim only in slot 2

Change-Id: I919129185cb49c51f9f02d9718e116e7d02b0d2c
(cherry picked from commit a0eb5bb442)
This commit is contained in:
cretin45
2015-04-27 13:20:13 -07:00
committed by Ed Carrigan
parent 21b7055507
commit c3723495bf
2 changed files with 25 additions and 17 deletions

View File

@@ -20,12 +20,15 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.telephony.SubInfoRecord;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import com.android.internal.telephony.TelephonyIntents;
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
import java.util.ArrayList;
import java.util.List;
public class CMSetupWizardData extends AbstractSetupData {
@@ -122,7 +125,7 @@ public class CMSetupWizardData extends AbstractSetupData {
ChooseDataSimPage chooseDataSimPage =
(ChooseDataSimPage) getPage(ChooseDataSimPage.TAG);
if (chooseDataSimPage != null) {
chooseDataSimPage.setHidden(!isSimInserted());
chooseDataSimPage.setHidden(!allSimsInserted());
}
}
@@ -174,13 +177,14 @@ public class CMSetupWizardData extends AbstractSetupData {
private boolean allSimsInserted() {
TelephonyManager tm = TelephonyManager.from(mContext);
int simSlotCount = tm.getSimCount();
List<SubInfoRecord> subInfoRecords = SubscriptionManager.getActiveSubInfoList();
for (int i = 0; i < simSlotCount; i++) {
int state = tm.getSimState(i);
if (state == TelephonyManager.SIM_STATE_ABSENT) {
return false;
}
}
return true;
return simSlotCount == subInfoRecords.size();
}
}