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

Commit d9b13537 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Update preferred payment related APIs"

parents 528e9bdc d70879e5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -31171,7 +31171,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();
            }
        }
    }