Merge "Update preferred payment related APIs" am: d9b1353771
Change-Id: I378707bcfe81a1e525e9a35e0a2d0382e318dc39
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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,9 +690,16 @@ 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
|
||||
* name.
|
||||
* 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)
|
||||
@Nullable
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user