Merge "Fixed settings crash issue while recovering from phone crash." into lmp-mr1-dev
diff --git a/src/com/android/settings/sim/SimDialogActivity.java b/src/com/android/settings/sim/SimDialogActivity.java
index 019b5c0..0964f10 100644
--- a/src/com/android/settings/sim/SimDialogActivity.java
+++ b/src/com/android/settings/sim/SimDialogActivity.java
@@ -87,30 +87,37 @@
final Context context = getApplicationContext();
final SubscriptionInfo sir = Utils.findRecordBySlotId(context, slotId);
- AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
- alertDialogBuilder.setTitle(R.string.sim_preferred_title);
- alertDialogBuilder.setMessage(res.getString(
- R.string.sim_preferred_message, sir.getDisplayName()));
+ if (sir != null) {
+ AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
+ alertDialogBuilder.setTitle(R.string.sim_preferred_title);
+ alertDialogBuilder.setMessage(res.getString(
+ R.string.sim_preferred_message, sir.getDisplayName()));
- alertDialogBuilder.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int id) {
- final int subId = sir.getSubscriptionId();
- PhoneAccountHandle phoneAccountHandle = subscriptionIdToPhoneAccountHandle(subId);
- setDefaultDataSubId(context, subId);
- setDefaultSmsSubId(context, subId);
- setUserSelectedOutgoingPhoneAccount(phoneAccountHandle);
- finish();
- }
- });
- alertDialogBuilder.setNegativeButton(R.string.no, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog,int id) {
- finish();
- }
- });
+ alertDialogBuilder.setPositiveButton(R.string.yes, new
+ DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int id) {
+ final int subId = sir.getSubscriptionId();
+ PhoneAccountHandle phoneAccountHandle =
+ subscriptionIdToPhoneAccountHandle(subId);
+ setDefaultDataSubId(context, subId);
+ setDefaultSmsSubId(context, subId);
+ setUserSelectedOutgoingPhoneAccount(phoneAccountHandle);
+ finish();
+ }
+ });
+ alertDialogBuilder.setNegativeButton(R.string.no, new
+ DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog,int id) {
+ finish();
+ }
+ });
- alertDialogBuilder.create().show();
+ alertDialogBuilder.create().show();
+ } else {
+ finish();
+ }
}
private static void setDefaultDataSubId(final Context context, final int subId) {