IccCardApplicatonStatus should not throw exceptions.

Change from throwing exception to logging an error and mapping
to an XXXX_UKNOWN value.

Bug: 7449696
Change-Id: Iebed1c7893d120fb02821017643ee070d634bb19
diff --git a/src/java/com/android/internal/telephony/uicc/IccCardApplicationStatus.java b/src/java/com/android/internal/telephony/uicc/IccCardApplicationStatus.java
index 753f6fe..6dfb4be 100644
--- a/src/java/com/android/internal/telephony/uicc/IccCardApplicationStatus.java
+++ b/src/java/com/android/internal/telephony/uicc/IccCardApplicationStatus.java
@@ -16,6 +16,8 @@
 
 package com.android.internal.telephony.uicc;
 
+import android.telephony.Rlog;
+
 import com.android.internal.telephony.uicc.IccCardStatus.PinState;
 
 
@@ -106,8 +108,8 @@
     public String         app_label;
     // applicable to USIM and CSIM
     public int            pin1_replaced;
-    public PinState            pin1;
-    public PinState            pin2;
+    public PinState       pin1;
+    public PinState       pin2;
 
     public AppType AppTypeFromRILInt(int type) {
         AppType newType;
@@ -120,8 +122,8 @@
             case 4: newType = AppType.APPTYPE_CSIM;    break;
             case 5: newType = AppType.APPTYPE_ISIM;    break;
             default:
-                throw new RuntimeException(
-                            "Unrecognized RIL_AppType: " +type);
+                newType = AppType.APPTYPE_UNKNOWN;
+                loge("AppTypeFromRILInt: bad RIL_AppType: " + type + " use APPTYPE_UNKNOWN");
         }
         return newType;
     }
@@ -137,8 +139,8 @@
             case 4: newState = AppState.APPSTATE_SUBSCRIPTION_PERSO; break;
             case 5: newState = AppState.APPSTATE_READY; break;
             default:
-                throw new RuntimeException(
-                            "Unrecognized RIL_AppState: " +state);
+                newState = AppState.APPSTATE_UNKNOWN;
+                loge("AppStateFromRILInt: bad state: " + state + " use APPSTATE_UNKNOWN");
         }
         return newState;
     }
@@ -173,8 +175,9 @@
             case 23: newSubState = PersoSubState.PERSOSUBSTATE_RUIM_SERVICE_PROVIDER_PUK; break;
             case 24: newSubState = PersoSubState.PERSOSUBSTATE_RUIM_RUIM_PUK; break;
             default:
-                throw new RuntimeException(
-                            "Unrecognized RIL_PersoSubstate: " +substate);
+                newSubState = PersoSubState.PERSOSUBSTATE_UNKNOWN;
+                loge("PersoSubstateFromRILInt: bad substate: " + substate
+                        + " use PERSOSUBSTATE_UNKNOWN");
         }
         return newSubState;
     }
@@ -201,7 +204,8 @@
                 newPinState = PinState.PINSTATE_ENABLED_PERM_BLOCKED;
                 break;
             default:
-                throw new RuntimeException("Unrecognized RIL_PinState: " + state);
+                newPinState = PinState.PINSTATE_UNKNOWN;
+                loge("PinStateFromRILInt: bad pin state: " + state + " use PINSTATE_UNKNOWN");
         }
         return newPinState;
     }
@@ -223,4 +227,8 @@
         sb.append("}");
         return sb.toString();
     }
+
+    private void loge(String s) {
+        Rlog.e("IccCardApplicationStatus", s);
+    }
 }