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);
+ }
}