Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e1ab6ac0 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Update preferred payment related APIs" am: d9b13537 am: cde01219...

Merge "Update preferred payment related APIs" am: d9b13537 am: cde01219 am: 02e6db0e am: 91927f33 am: cde072d2

Change-Id: I6c528afce2e4b4c1a6d41d9a653cf3bffce3c370
parents 1b2d1274 cde072d2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);
+14 −2
Original line number Diff line number Diff line
@@ -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;
+17 −10
Original line number Diff line number Diff line
@@ -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 =
@@ -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();
            }
        }
    }
@@ -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)
@@ -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 =
@@ -727,7 +734,7 @@ public final class CardEmulation {

            } catch (RemoteException ee) {
                Log.e(TAG, "Failed to recover CardEmulationService.");
                return null;
                throw e.rethrowFromSystemServer();
            }
        }
    }
@@ -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);
@@ -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 =
@@ -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();
            }
        }
    }