Loading telephony/java/android/telephony/euicc/EuiccManager.java +31 −19 Original line number Diff line number Diff line Loading @@ -408,7 +408,7 @@ public class EuiccManager { public static final int EUICC_OTA_STATUS_UNAVAILABLE = 5; private final Context mContext; private final int mCardId; private int mCardId; /** @hide */ public EuiccManager(Context context) { Loading Loading @@ -446,7 +446,7 @@ public class EuiccManager { public boolean isEnabled() { // In the future, this may reach out to IEuiccController (if non-null) to check any dynamic // restrictions. return getIEuiccController() != null && mCardId != TelephonyManager.INVALID_CARD_ID; return getIEuiccController() != null; } /** Loading @@ -456,11 +456,11 @@ public class EuiccManager { * current eUICC. A calling app with carrier privileges for one eUICC may not necessarily have * access to the EID of another eUICC. * * @return the EID. May be null if {@link #isEnabled()} is false or the eUICC is not ready. * @return the EID. May be null if the eUICC is not ready. */ @Nullable public String getEid() { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { return null; } try { Loading @@ -475,7 +475,7 @@ public class EuiccManager { * * <p>Requires the {@link android.Manifest.permission#WRITE_EMBEDDED_SUBSCRIPTIONS} permission. * * @return the status of eUICC OTA. If {@link #isEnabled()} is false or the eUICC is not ready, * @return the status of eUICC OTA. If the eUICC is not ready, * {@link OtaStatus#EUICC_OTA_STATUS_UNAVAILABLE} will be returned. * * @hide Loading @@ -483,7 +483,7 @@ public class EuiccManager { @SystemApi @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public int getOtaStatus() { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { return EUICC_OTA_STATUS_UNAVAILABLE; } try { Loading Loading @@ -518,7 +518,7 @@ public class EuiccManager { @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void downloadSubscription(DownloadableSubscription subscription, boolean switchAfterDownload, PendingIntent callbackIntent) { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { sendUnavailableError(callbackIntent); return; } Loading Loading @@ -580,7 +580,7 @@ public class EuiccManager { @SystemApi @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void continueOperation(Intent resolutionIntent, Bundle resolutionExtras) { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { PendingIntent callbackIntent = resolutionIntent.getParcelableExtra( EuiccManager.EXTRA_EMBEDDED_SUBSCRIPTION_RESOLUTION_CALLBACK_INTENT); Loading Loading @@ -617,7 +617,7 @@ public class EuiccManager { @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDownloadableSubscriptionMetadata( DownloadableSubscription subscription, PendingIntent callbackIntent) { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { sendUnavailableError(callbackIntent); return; } Loading Loading @@ -647,7 +647,7 @@ public class EuiccManager { @SystemApi @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDefaultDownloadableSubscriptionList(PendingIntent callbackIntent) { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { sendUnavailableError(callbackIntent); return; } Loading @@ -662,12 +662,11 @@ public class EuiccManager { /** * Returns information about the eUICC chip/device. * * @return the {@link EuiccInfo}. May be null if {@link #isEnabled()} is false or the eUICC is * not ready. * @return the {@link EuiccInfo}. May be null if the eUICC is not ready. */ @Nullable public EuiccInfo getEuiccInfo() { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { return null; } try { Loading @@ -692,7 +691,7 @@ public class EuiccManager { */ @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void deleteSubscription(int subscriptionId, PendingIntent callbackIntent) { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { sendUnavailableError(callbackIntent); return; } Loading Loading @@ -732,7 +731,7 @@ public class EuiccManager { */ @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void switchToSubscription(int subscriptionId, PendingIntent callbackIntent) { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { sendUnavailableError(callbackIntent); return; } Loading @@ -758,7 +757,7 @@ public class EuiccManager { @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void updateSubscriptionNickname( int subscriptionId, String nickname, PendingIntent callbackIntent) { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { sendUnavailableError(callbackIntent); return; } Loading @@ -782,7 +781,7 @@ public class EuiccManager { @SystemApi @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(PendingIntent callbackIntent) { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { sendUnavailableError(callbackIntent); return; } Loading Loading @@ -812,7 +811,7 @@ public class EuiccManager { * @hide */ public void retainSubscriptionsForFactoryReset(PendingIntent callbackIntent) { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { sendUnavailableError(callbackIntent); return; } Loading @@ -823,6 +822,19 @@ public class EuiccManager { } } private boolean refreshCardIdIfInvalid() { if (!isEnabled()) { return false; } // Refresh mCardId if it's invalid. if (mCardId == TelephonyManager.INVALID_CARD_ID) { TelephonyManager tm = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE); mCardId = tm.getCardIdForDefaultEuicc(); } return true; } private static void sendUnavailableError(PendingIntent callbackIntent) { try { callbackIntent.send(EMBEDDED_SUBSCRIPTION_RESULT_ERROR); Loading Loading
telephony/java/android/telephony/euicc/EuiccManager.java +31 −19 Original line number Diff line number Diff line Loading @@ -408,7 +408,7 @@ public class EuiccManager { public static final int EUICC_OTA_STATUS_UNAVAILABLE = 5; private final Context mContext; private final int mCardId; private int mCardId; /** @hide */ public EuiccManager(Context context) { Loading Loading @@ -446,7 +446,7 @@ public class EuiccManager { public boolean isEnabled() { // In the future, this may reach out to IEuiccController (if non-null) to check any dynamic // restrictions. return getIEuiccController() != null && mCardId != TelephonyManager.INVALID_CARD_ID; return getIEuiccController() != null; } /** Loading @@ -456,11 +456,11 @@ public class EuiccManager { * current eUICC. A calling app with carrier privileges for one eUICC may not necessarily have * access to the EID of another eUICC. * * @return the EID. May be null if {@link #isEnabled()} is false or the eUICC is not ready. * @return the EID. May be null if the eUICC is not ready. */ @Nullable public String getEid() { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { return null; } try { Loading @@ -475,7 +475,7 @@ public class EuiccManager { * * <p>Requires the {@link android.Manifest.permission#WRITE_EMBEDDED_SUBSCRIPTIONS} permission. * * @return the status of eUICC OTA. If {@link #isEnabled()} is false or the eUICC is not ready, * @return the status of eUICC OTA. If the eUICC is not ready, * {@link OtaStatus#EUICC_OTA_STATUS_UNAVAILABLE} will be returned. * * @hide Loading @@ -483,7 +483,7 @@ public class EuiccManager { @SystemApi @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public int getOtaStatus() { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { return EUICC_OTA_STATUS_UNAVAILABLE; } try { Loading Loading @@ -518,7 +518,7 @@ public class EuiccManager { @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void downloadSubscription(DownloadableSubscription subscription, boolean switchAfterDownload, PendingIntent callbackIntent) { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { sendUnavailableError(callbackIntent); return; } Loading Loading @@ -580,7 +580,7 @@ public class EuiccManager { @SystemApi @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void continueOperation(Intent resolutionIntent, Bundle resolutionExtras) { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { PendingIntent callbackIntent = resolutionIntent.getParcelableExtra( EuiccManager.EXTRA_EMBEDDED_SUBSCRIPTION_RESOLUTION_CALLBACK_INTENT); Loading Loading @@ -617,7 +617,7 @@ public class EuiccManager { @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDownloadableSubscriptionMetadata( DownloadableSubscription subscription, PendingIntent callbackIntent) { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { sendUnavailableError(callbackIntent); return; } Loading Loading @@ -647,7 +647,7 @@ public class EuiccManager { @SystemApi @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDefaultDownloadableSubscriptionList(PendingIntent callbackIntent) { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { sendUnavailableError(callbackIntent); return; } Loading @@ -662,12 +662,11 @@ public class EuiccManager { /** * Returns information about the eUICC chip/device. * * @return the {@link EuiccInfo}. May be null if {@link #isEnabled()} is false or the eUICC is * not ready. * @return the {@link EuiccInfo}. May be null if the eUICC is not ready. */ @Nullable public EuiccInfo getEuiccInfo() { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { return null; } try { Loading @@ -692,7 +691,7 @@ public class EuiccManager { */ @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void deleteSubscription(int subscriptionId, PendingIntent callbackIntent) { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { sendUnavailableError(callbackIntent); return; } Loading Loading @@ -732,7 +731,7 @@ public class EuiccManager { */ @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void switchToSubscription(int subscriptionId, PendingIntent callbackIntent) { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { sendUnavailableError(callbackIntent); return; } Loading @@ -758,7 +757,7 @@ public class EuiccManager { @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void updateSubscriptionNickname( int subscriptionId, String nickname, PendingIntent callbackIntent) { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { sendUnavailableError(callbackIntent); return; } Loading @@ -782,7 +781,7 @@ public class EuiccManager { @SystemApi @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(PendingIntent callbackIntent) { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { sendUnavailableError(callbackIntent); return; } Loading Loading @@ -812,7 +811,7 @@ public class EuiccManager { * @hide */ public void retainSubscriptionsForFactoryReset(PendingIntent callbackIntent) { if (!isEnabled()) { if (!refreshCardIdIfInvalid()) { sendUnavailableError(callbackIntent); return; } Loading @@ -823,6 +822,19 @@ public class EuiccManager { } } private boolean refreshCardIdIfInvalid() { if (!isEnabled()) { return false; } // Refresh mCardId if it's invalid. if (mCardId == TelephonyManager.INVALID_CARD_ID) { TelephonyManager tm = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE); mCardId = tm.getCardIdForDefaultEuicc(); } return true; } private static void sendUnavailableError(PendingIntent callbackIntent) { try { callbackIntent.send(EMBEDDED_SUBSCRIPTION_RESULT_ERROR); Loading