Merge changes from topic "code_sync_from_aosp" into rvc-dev

* changes:
  Change naming to be more specific
  Update preferred payment related APIs
This commit is contained in:
TreeHugger Robot
2020-03-18 08:17:36 +00:00
committed by Android (Google) Code Review
6 changed files with 36 additions and 17 deletions

View File

@@ -32454,7 +32454,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);

View File

@@ -206,7 +206,7 @@ package android {
field public static final String REVIEW_ACCESSIBILITY_SERVICES = "android.permission.REVIEW_ACCESSIBILITY_SERVICES";
field public static final String REVOKE_RUNTIME_PERMISSIONS = "android.permission.REVOKE_RUNTIME_PERMISSIONS";
field public static final String SCORE_NETWORKS = "android.permission.SCORE_NETWORKS";
field public static final String SECURE_ELEMENT_PRIVILEGED = "android.permission.SECURE_ELEMENT_PRIVILEGED";
field public static final String SECURE_ELEMENT_PRIVILEGED_OPERATION = "android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION";
field public static final String SEND_DEVICE_CUSTOMIZATION_READY = "android.permission.SEND_DEVICE_CUSTOMIZATION_READY";
field public static final String SEND_SHOW_SUSPENDED_APP_DETAILS = "android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS";
field public static final String SEND_SMS_NO_CONFIRMATION = "android.permission.SEND_SMS_NO_CONFIRMATION";
@@ -9538,7 +9538,7 @@ package android.provider {
package android.se.omapi {
public final class Reader {
method @RequiresPermission(android.Manifest.permission.SECURE_ELEMENT_PRIVILEGED) public boolean reset();
method @RequiresPermission(android.Manifest.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION) public boolean reset();
}
}

View File

@@ -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;

View File

@@ -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();
}
}
}

View File

@@ -160,7 +160,7 @@ public final class Reader {
* @hide
*/
@SystemApi
@RequiresPermission(android.Manifest.permission.SECURE_ELEMENT_PRIVILEGED)
@RequiresPermission(android.Manifest.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION)
public boolean reset() {
if (!mService.isConnected()) {
Log.e(TAG, "service is not connected");

View File

@@ -1845,7 +1845,7 @@
and bypass OMAPI AccessControlEnforcer.
<p>Not for use by third-party applications.
@hide -->
<permission android:name="android.permission.SECURE_ELEMENT_PRIVILEGED"
<permission android:name="android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION"
android:protectionLevel="signature|privileged" />
<!-- @deprecated This permission used to allow too broad access to sensitive methods and all its