From b72e820a966cd8ebb4cc9b6e6e93f79fde44304e Mon Sep 17 00:00:00 2001 From: Raj Yengisetty Date: Thu, 18 Jun 2015 16:21:06 -0700 Subject: [PATCH] SetupWizard: protect against IllegalStateExceptions in telephony Telephony throws this exception in some cases when retrieving SIM state Change-Id: I87e14aaa328d46ebba4990559f6531de4e961d68 --- .../cyanogenmod/setupwizard/setup/CMSetupWizardData.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/com/cyanogenmod/setupwizard/setup/CMSetupWizardData.java b/src/com/cyanogenmod/setupwizard/setup/CMSetupWizardData.java index 5c918b3..fd557c1 100644 --- a/src/com/cyanogenmod/setupwizard/setup/CMSetupWizardData.java +++ b/src/com/cyanogenmod/setupwizard/setup/CMSetupWizardData.java @@ -24,6 +24,7 @@ import android.os.SystemProperties; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; +import android.util.Log; import com.android.internal.telephony.TelephonyIntents; import com.cyanogenmod.setupwizard.util.SetupWizardUtils; @@ -171,7 +172,13 @@ public class CMSetupWizardData extends AbstractSetupData { TelephonyManager tm = TelephonyManager.from(mContext); int simSlotCount = tm.getSimCount(); for (int i = 0; i < simSlotCount; i++) { - int state = tm.getSimState(i); + int state; + try { + state = tm.getSimState(i); + } catch (IllegalStateException ise) { + Log.e(TAG, "Unable to get sim state from TelephonyManager"); + continue; + } if (state != TelephonyManager.SIM_STATE_ABSENT && state != TelephonyManager.SIM_STATE_UNKNOWN) { return true;