Loading telephony/java/com/android/internal/telephony/HuaweiRIL.java 0 → 100644 +909 −0 File added.Preview size limit exceeded, changes collapsed. Show changes telephony/java/com/android/internal/telephony/IccCard.java +3 −1 Original line number Diff line number Diff line Loading @@ -764,7 +764,9 @@ public abstract class IccCard { if (app.app_state.isPukRequired()) { return IccCard.State.PUK_REQUIRED; } if (app.app_state.isSubscriptionPersoEnabled()) { if (app.app_state.isSubscriptionPersoEnabled() && (!(this.mPhone.mCM.getClass() == HuaweiRIL.class) || app.perso_substate.isPersoSubStateNetworkLocked())) { return IccCard.State.NETWORK_LOCKED; } if (app.app_state.isAppReady()) { Loading telephony/java/com/android/internal/telephony/IccCardApplication.java +5 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,11 @@ public class IccCardApplication { boolean isPersoSubStateUnknown() { return this == PERSOSUBSTATE_UNKNOWN; } boolean isPersoSubStateNetworkLocked() { return this == PERSOSUBSTATE_SIM_NETWORK; } }; public AppType app_type; Loading telephony/java/com/android/internal/telephony/IccCardStatus.java +5 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,8 @@ public class IccCardStatus { public enum CardState { CARDSTATE_ABSENT, CARDSTATE_PRESENT, CARDSTATE_ERROR; CARDSTATE_ERROR, CARDSTATE_NOT_READY; boolean isCardPresent() { return this == CARDSTATE_PRESENT; Loading Loading @@ -82,6 +83,9 @@ public class IccCardStatus { case 2: mCardState = CardState.CARDSTATE_ERROR; break; case 3: mCardState = CardState.CARDSTATE_NOT_READY; break; default: throw new RuntimeException("Unrecognized RIL_CardState: " + state); } Loading telephony/java/com/android/internal/telephony/gsm/SIMFileHandler.java +42 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.internal.telephony.gsm; import android.os.Message; import android.util.Log; import com.android.internal.telephony.HuaweiRIL; import com.android.internal.telephony.IccCard; import com.android.internal.telephony.IccCardApplication; import com.android.internal.telephony.IccConstants; Loading Loading @@ -57,6 +58,12 @@ public final class SIMFileHandler extends IccFileHandler implements IccConstants } protected String getEFPath(int efid) { if (phone.mCM.getClass() == HuaweiRIL.class) { IccCard icccard = phone.getIccCard(); if (icccard != null && icccard.isApplicationOnIcc(IccCardApplication.AppType.APPTYPE_USIM)) return getEFPathForUICC(efid); } // TODO(): DF_GSM can be 7F20 or 7F21 to handle backward compatibility. // Implement this after discussion with OEMs. switch(efid) { Loading Loading @@ -102,6 +109,41 @@ public final class SIMFileHandler extends IccFileHandler implements IccConstants return path; } protected String getEFPathForUICC(int efid) { switch (efid) { case EF_SMS: case EF_EXT6: case EF_MWIS: case EF_MBI: case EF_SPN: case EF_AD: case EF_MBDN: case EF_PNN: case EF_SPDI: case EF_SST: case EF_CFIS: case EF_MAILBOX_CPHS: case EF_VOICE_MAIL_INDICATOR_CPHS: case EF_CFF_CPHS: case EF_SPN_CPHS: case EF_SPN_SHORT_CPHS: case EF_INFO_CPHS: case EF_PBR: case EF_MSISDN: case EF_FDN: return MF_SIM + DF_ADFISIM; case EF_CSP_CPHS: // we only support global phonebook. return MF_SIM + DF_TELECOM + DF_PHONEBOOK; } String path = getCommonIccEFPath(efid); if (path == null) Log.e(LOG_TAG, "Error: EF Path being returned in null"); return path; } protected void logd(String msg) { Log.d(LOG_TAG, "[SIMFileHandler] " + msg); } Loading Loading
telephony/java/com/android/internal/telephony/HuaweiRIL.java 0 → 100644 +909 −0 File added.Preview size limit exceeded, changes collapsed. Show changes
telephony/java/com/android/internal/telephony/IccCard.java +3 −1 Original line number Diff line number Diff line Loading @@ -764,7 +764,9 @@ public abstract class IccCard { if (app.app_state.isPukRequired()) { return IccCard.State.PUK_REQUIRED; } if (app.app_state.isSubscriptionPersoEnabled()) { if (app.app_state.isSubscriptionPersoEnabled() && (!(this.mPhone.mCM.getClass() == HuaweiRIL.class) || app.perso_substate.isPersoSubStateNetworkLocked())) { return IccCard.State.NETWORK_LOCKED; } if (app.app_state.isAppReady()) { Loading
telephony/java/com/android/internal/telephony/IccCardApplication.java +5 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,11 @@ public class IccCardApplication { boolean isPersoSubStateUnknown() { return this == PERSOSUBSTATE_UNKNOWN; } boolean isPersoSubStateNetworkLocked() { return this == PERSOSUBSTATE_SIM_NETWORK; } }; public AppType app_type; Loading
telephony/java/com/android/internal/telephony/IccCardStatus.java +5 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,8 @@ public class IccCardStatus { public enum CardState { CARDSTATE_ABSENT, CARDSTATE_PRESENT, CARDSTATE_ERROR; CARDSTATE_ERROR, CARDSTATE_NOT_READY; boolean isCardPresent() { return this == CARDSTATE_PRESENT; Loading Loading @@ -82,6 +83,9 @@ public class IccCardStatus { case 2: mCardState = CardState.CARDSTATE_ERROR; break; case 3: mCardState = CardState.CARDSTATE_NOT_READY; break; default: throw new RuntimeException("Unrecognized RIL_CardState: " + state); } Loading
telephony/java/com/android/internal/telephony/gsm/SIMFileHandler.java +42 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.internal.telephony.gsm; import android.os.Message; import android.util.Log; import com.android.internal.telephony.HuaweiRIL; import com.android.internal.telephony.IccCard; import com.android.internal.telephony.IccCardApplication; import com.android.internal.telephony.IccConstants; Loading Loading @@ -57,6 +58,12 @@ public final class SIMFileHandler extends IccFileHandler implements IccConstants } protected String getEFPath(int efid) { if (phone.mCM.getClass() == HuaweiRIL.class) { IccCard icccard = phone.getIccCard(); if (icccard != null && icccard.isApplicationOnIcc(IccCardApplication.AppType.APPTYPE_USIM)) return getEFPathForUICC(efid); } // TODO(): DF_GSM can be 7F20 or 7F21 to handle backward compatibility. // Implement this after discussion with OEMs. switch(efid) { Loading Loading @@ -102,6 +109,41 @@ public final class SIMFileHandler extends IccFileHandler implements IccConstants return path; } protected String getEFPathForUICC(int efid) { switch (efid) { case EF_SMS: case EF_EXT6: case EF_MWIS: case EF_MBI: case EF_SPN: case EF_AD: case EF_MBDN: case EF_PNN: case EF_SPDI: case EF_SST: case EF_CFIS: case EF_MAILBOX_CPHS: case EF_VOICE_MAIL_INDICATOR_CPHS: case EF_CFF_CPHS: case EF_SPN_CPHS: case EF_SPN_SHORT_CPHS: case EF_INFO_CPHS: case EF_PBR: case EF_MSISDN: case EF_FDN: return MF_SIM + DF_ADFISIM; case EF_CSP_CPHS: // we only support global phonebook. return MF_SIM + DF_TELECOM + DF_PHONEBOOK; } String path = getCommonIccEFPath(efid); if (path == null) Log.e(LOG_TAG, "Error: EF Path being returned in null"); return path; } protected void logd(String msg) { Log.d(LOG_TAG, "[SIMFileHandler] " + msg); } Loading