Loading api/current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -32448,7 +32448,7 @@ package android.nfc.cardemulation { method public boolean categoryAllowsForegroundPreference(String); method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public java.util.List<java.lang.String> getAidsForPreferredPaymentService(); method public java.util.List<java.lang.String> getAidsForService(android.content.ComponentName, String); method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public String getDescriptionForPreferredPaymentService(); method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public CharSequence getDescriptionForPreferredPaymentService(); method public static android.nfc.cardemulation.CardEmulation getInstance(android.nfc.NfcAdapter); method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public String getRouteDestinationForPreferredPaymentService(); method public int getSelectionModeForCategory(String); core/java/android/nfc/NfcAdapter.java +14 −2 Original line number Diff line number Diff line Loading @@ -245,13 +245,25 @@ public final class NfcAdapter { /** * Mandatory String extra field in {@link #ACTION_PREFERRED_PAYMENT_CHANGED} * Indicates the condition when trigger this event. * Indicates the condition when trigger this event. Possible values are: * {@link #PREFERRED_PAYMENT_LOADED}, * {@link #PREFERRED_PAYMENT_CHANGED}, * {@link #PREFERRED_PAYMENT_UPDATED}, */ public static final String EXTRA_PREFERRED_PAYMENT_CHANGED_REASON = "android.nfc.extra.PREFERRED_PAYMENT_CHANGED_REASON"; /** * Nfc is enabled and the preferred payment aids are registered. */ public static final int PREFERRED_PAYMENT_LOADED = 1; /** * User selected another payment application as the preferred payment. */ public static final int PREFERRED_PAYMENT_CHANGED = 2; /** * Current preferred payment has issued an update (registered/unregistered new aids or has been * updated itself). */ public static final int PREFERRED_PAYMENT_UPDATED = 3; public static final int STATE_OFF = 1; Loading core/java/android/nfc/cardemulation/CardEmulation.java +17 −10 Original line number Diff line number Diff line Loading @@ -672,7 +672,7 @@ public final class CardEmulation { recoverService(); if (sService == null) { Log.e(TAG, "Failed to recover CardEmulationService."); return null; throw e.rethrowFromSystemServer(); } try { ApduServiceInfo serviceInfo = Loading @@ -680,7 +680,7 @@ public final class CardEmulation { return (serviceInfo != null ? serviceInfo.getAids() : null); } catch (RemoteException ee) { Log.e(TAG, "Failed to recover CardEmulationService."); return null; throw e.rethrowFromSystemServer(); } } } Loading @@ -690,8 +690,15 @@ public final class CardEmulation { * * @return The route destination secure element name of the preferred payment service. * HCE payment: "Host" * OffHost payment: prefix SIM or prefix eSE string. * "OffHost" if the payment service does not specify secure element * OffHost payment: 1. String with prefix SIM or prefix eSE string. * Ref: GSMA TS.26 - NFC Handset Requirements * TS26_NFC_REQ_069: For UICC, Secure Element Name SHALL be * SIM[smartcard slot] * (e.g. SIM/SIM1, SIM2… SIMn). * TS26_NFC_REQ_070: For embedded SE, Secure Element Name SHALL be * eSE[number] * (e.g. eSE/eSE1, eSE2, etc.). * 2. "OffHost" if the payment service does not specify secure element * name. */ @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) Loading @@ -711,7 +718,7 @@ public final class CardEmulation { recoverService(); if (sService == null) { Log.e(TAG, "Failed to recover CardEmulationService."); return null; throw e.rethrowFromSystemServer(); } try { ApduServiceInfo serviceInfo = Loading @@ -727,7 +734,7 @@ public final class CardEmulation { } catch (RemoteException ee) { Log.e(TAG, "Failed to recover CardEmulationService."); return null; throw e.rethrowFromSystemServer(); } } } Loading @@ -739,7 +746,7 @@ public final class CardEmulation { */ @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) @Nullable public String getDescriptionForPreferredPaymentService() { public CharSequence getDescriptionForPreferredPaymentService() { try { ApduServiceInfo serviceInfo = sService.getPreferredPaymentService(mContext.getUserId()); return (serviceInfo != null ? serviceInfo.getDescription() : null); Loading @@ -747,7 +754,7 @@ public final class CardEmulation { recoverService(); if (sService == null) { Log.e(TAG, "Failed to recover CardEmulationService."); return null; throw e.rethrowFromSystemServer(); } try { ApduServiceInfo serviceInfo = Loading @@ -755,7 +762,7 @@ public final class CardEmulation { return (serviceInfo != null ? serviceInfo.getDescription() : null); } catch (RemoteException ee) { Log.e(TAG, "Failed to recover CardEmulationService."); return null; throw e.rethrowFromSystemServer(); } } } Loading Loading
api/current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -32448,7 +32448,7 @@ package android.nfc.cardemulation { method public boolean categoryAllowsForegroundPreference(String); method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public java.util.List<java.lang.String> getAidsForPreferredPaymentService(); method public java.util.List<java.lang.String> getAidsForService(android.content.ComponentName, String); method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public String getDescriptionForPreferredPaymentService(); method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public CharSequence getDescriptionForPreferredPaymentService(); method public static android.nfc.cardemulation.CardEmulation getInstance(android.nfc.NfcAdapter); method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public String getRouteDestinationForPreferredPaymentService(); method public int getSelectionModeForCategory(String);
core/java/android/nfc/NfcAdapter.java +14 −2 Original line number Diff line number Diff line Loading @@ -245,13 +245,25 @@ public final class NfcAdapter { /** * Mandatory String extra field in {@link #ACTION_PREFERRED_PAYMENT_CHANGED} * Indicates the condition when trigger this event. * Indicates the condition when trigger this event. Possible values are: * {@link #PREFERRED_PAYMENT_LOADED}, * {@link #PREFERRED_PAYMENT_CHANGED}, * {@link #PREFERRED_PAYMENT_UPDATED}, */ public static final String EXTRA_PREFERRED_PAYMENT_CHANGED_REASON = "android.nfc.extra.PREFERRED_PAYMENT_CHANGED_REASON"; /** * Nfc is enabled and the preferred payment aids are registered. */ public static final int PREFERRED_PAYMENT_LOADED = 1; /** * User selected another payment application as the preferred payment. */ public static final int PREFERRED_PAYMENT_CHANGED = 2; /** * Current preferred payment has issued an update (registered/unregistered new aids or has been * updated itself). */ public static final int PREFERRED_PAYMENT_UPDATED = 3; public static final int STATE_OFF = 1; Loading
core/java/android/nfc/cardemulation/CardEmulation.java +17 −10 Original line number Diff line number Diff line Loading @@ -672,7 +672,7 @@ public final class CardEmulation { recoverService(); if (sService == null) { Log.e(TAG, "Failed to recover CardEmulationService."); return null; throw e.rethrowFromSystemServer(); } try { ApduServiceInfo serviceInfo = Loading @@ -680,7 +680,7 @@ public final class CardEmulation { return (serviceInfo != null ? serviceInfo.getAids() : null); } catch (RemoteException ee) { Log.e(TAG, "Failed to recover CardEmulationService."); return null; throw e.rethrowFromSystemServer(); } } } Loading @@ -690,8 +690,15 @@ public final class CardEmulation { * * @return The route destination secure element name of the preferred payment service. * HCE payment: "Host" * OffHost payment: prefix SIM or prefix eSE string. * "OffHost" if the payment service does not specify secure element * OffHost payment: 1. String with prefix SIM or prefix eSE string. * Ref: GSMA TS.26 - NFC Handset Requirements * TS26_NFC_REQ_069: For UICC, Secure Element Name SHALL be * SIM[smartcard slot] * (e.g. SIM/SIM1, SIM2… SIMn). * TS26_NFC_REQ_070: For embedded SE, Secure Element Name SHALL be * eSE[number] * (e.g. eSE/eSE1, eSE2, etc.). * 2. "OffHost" if the payment service does not specify secure element * name. */ @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) Loading @@ -711,7 +718,7 @@ public final class CardEmulation { recoverService(); if (sService == null) { Log.e(TAG, "Failed to recover CardEmulationService."); return null; throw e.rethrowFromSystemServer(); } try { ApduServiceInfo serviceInfo = Loading @@ -727,7 +734,7 @@ public final class CardEmulation { } catch (RemoteException ee) { Log.e(TAG, "Failed to recover CardEmulationService."); return null; throw e.rethrowFromSystemServer(); } } } Loading @@ -739,7 +746,7 @@ public final class CardEmulation { */ @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) @Nullable public String getDescriptionForPreferredPaymentService() { public CharSequence getDescriptionForPreferredPaymentService() { try { ApduServiceInfo serviceInfo = sService.getPreferredPaymentService(mContext.getUserId()); return (serviceInfo != null ? serviceInfo.getDescription() : null); Loading @@ -747,7 +754,7 @@ public final class CardEmulation { recoverService(); if (sService == null) { Log.e(TAG, "Failed to recover CardEmulationService."); return null; throw e.rethrowFromSystemServer(); } try { ApduServiceInfo serviceInfo = Loading @@ -755,7 +762,7 @@ public final class CardEmulation { return (serviceInfo != null ? serviceInfo.getDescription() : null); } catch (RemoteException ee) { Log.e(TAG, "Failed to recover CardEmulationService."); return null; throw e.rethrowFromSystemServer(); } } } Loading