am d0ffef4b: am 19b23afa: Merge "Fix for phone app crash in Icc Card."

* commit 'd0ffef4b43594e540cb867da18d4403b4f583622':
  Fix for phone app crash in Icc Card.
diff --git a/telephony/java/com/android/internal/telephony/IccCard.java b/telephony/java/com/android/internal/telephony/IccCard.java
index 90f9e8c..e270ce9 100644
--- a/telephony/java/com/android/internal/telephony/IccCard.java
+++ b/telephony/java/com/android/internal/telephony/IccCard.java
@@ -487,6 +487,12 @@
                             CommandsInterface.SERVICE_CLASS_DATA +
                             CommandsInterface.SERVICE_CLASS_FAX;
 
+            if (!mPhone.mIsTheCurrentActivePhone) {
+                Log.e(mLogTag, "Received message " + msg + "[" + msg.what
+                        + "] while being destroyed. Ignoring.");
+                return;
+            }
+
             switch (msg.what) {
                 case EVENT_RADIO_OFF_OR_NOT_AVAILABLE:
                     mState = null;
@@ -626,7 +632,13 @@
                 index = mIccCardStatus.getGsmUmtsSubscriptionAppIndex();
             }
 
-            IccCardApplication app = mIccCardStatus.getApplication(index);
+            IccCardApplication app;
+            if (index >= 0 && index < IccCardStatus.CARD_MAX_APPS) {
+                app = mIccCardStatus.getApplication(index);
+            } else {
+                Log.e(mLogTag, "[IccCard] Invalid Subscription Application index:" + index);
+                return IccCard.State.ABSENT;
+            }
 
             if (app == null) {
                 Log.e(mLogTag, "[IccCard] Subscription Application in not present");