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 public boolean categoryAllowsForegroundPreference(String);
|
||||||
method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public java.util.List<java.lang.String> getAidsForPreferredPaymentService();
|
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 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 public static android.nfc.cardemulation.CardEmulation getInstance(android.nfc.NfcAdapter);
|
||||||
method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public String getRouteDestinationForPreferredPaymentService();
|
method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public String getRouteDestinationForPreferredPaymentService();
|
||||||
method public int getSelectionModeForCategory(String);
|
method public int getSelectionModeForCategory(String);
|
||||||
|
|||||||
@@ -245,13 +245,25 @@ public final class NfcAdapter {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Mandatory String extra field in {@link #ACTION_PREFERRED_PAYMENT_CHANGED}
|
* 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 =
|
public static final String EXTRA_PREFERRED_PAYMENT_CHANGED_REASON =
|
||||||
"android.nfc.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;
|
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;
|
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 PREFERRED_PAYMENT_UPDATED = 3;
|
||||||
|
|
||||||
public static final int STATE_OFF = 1;
|
public static final int STATE_OFF = 1;
|
||||||
|
|||||||
@@ -672,7 +672,7 @@ public final class CardEmulation {
|
|||||||
recoverService();
|
recoverService();
|
||||||
if (sService == null) {
|
if (sService == null) {
|
||||||
Log.e(TAG, "Failed to recover CardEmulationService.");
|
Log.e(TAG, "Failed to recover CardEmulationService.");
|
||||||
return null;
|
throw e.rethrowFromSystemServer();
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
ApduServiceInfo serviceInfo =
|
ApduServiceInfo serviceInfo =
|
||||||
@@ -680,7 +680,7 @@ public final class CardEmulation {
|
|||||||
return (serviceInfo != null ? serviceInfo.getAids() : null);
|
return (serviceInfo != null ? serviceInfo.getAids() : null);
|
||||||
} catch (RemoteException ee) {
|
} catch (RemoteException ee) {
|
||||||
Log.e(TAG, "Failed to recover CardEmulationService.");
|
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.
|
* @return The route destination secure element name of the preferred payment service.
|
||||||
* HCE payment: "Host"
|
* HCE payment: "Host"
|
||||||
* OffHost payment: prefix SIM or prefix eSE string.
|
* OffHost payment: 1. String with prefix SIM or prefix eSE string.
|
||||||
* "OffHost" if the payment service does not specify secure element
|
* Ref: GSMA TS.26 - NFC Handset Requirements
|
||||||
* name.
|
* 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)
|
@RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO)
|
||||||
@Nullable
|
@Nullable
|
||||||
@@ -711,7 +718,7 @@ public final class CardEmulation {
|
|||||||
recoverService();
|
recoverService();
|
||||||
if (sService == null) {
|
if (sService == null) {
|
||||||
Log.e(TAG, "Failed to recover CardEmulationService.");
|
Log.e(TAG, "Failed to recover CardEmulationService.");
|
||||||
return null;
|
throw e.rethrowFromSystemServer();
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
ApduServiceInfo serviceInfo =
|
ApduServiceInfo serviceInfo =
|
||||||
@@ -727,7 +734,7 @@ public final class CardEmulation {
|
|||||||
|
|
||||||
} catch (RemoteException ee) {
|
} catch (RemoteException ee) {
|
||||||
Log.e(TAG, "Failed to recover CardEmulationService.");
|
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)
|
@RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO)
|
||||||
@Nullable
|
@Nullable
|
||||||
public String getDescriptionForPreferredPaymentService() {
|
public CharSequence getDescriptionForPreferredPaymentService() {
|
||||||
try {
|
try {
|
||||||
ApduServiceInfo serviceInfo = sService.getPreferredPaymentService(mContext.getUserId());
|
ApduServiceInfo serviceInfo = sService.getPreferredPaymentService(mContext.getUserId());
|
||||||
return (serviceInfo != null ? serviceInfo.getDescription() : null);
|
return (serviceInfo != null ? serviceInfo.getDescription() : null);
|
||||||
@@ -747,7 +754,7 @@ public final class CardEmulation {
|
|||||||
recoverService();
|
recoverService();
|
||||||
if (sService == null) {
|
if (sService == null) {
|
||||||
Log.e(TAG, "Failed to recover CardEmulationService.");
|
Log.e(TAG, "Failed to recover CardEmulationService.");
|
||||||
return null;
|
throw e.rethrowFromSystemServer();
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
ApduServiceInfo serviceInfo =
|
ApduServiceInfo serviceInfo =
|
||||||
@@ -755,7 +762,7 @@ public final class CardEmulation {
|
|||||||
return (serviceInfo != null ? serviceInfo.getDescription() : null);
|
return (serviceInfo != null ? serviceInfo.getDescription() : null);
|
||||||
} catch (RemoteException ee) {
|
} catch (RemoteException ee) {
|
||||||
Log.e(TAG, "Failed to recover CardEmulationService.");
|
Log.e(TAG, "Failed to recover CardEmulationService.");
|
||||||
return null;
|
throw e.rethrowFromSystemServer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user