summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Omer Ozer <omerozer@google.com> 2024-07-18 20:27:22 +0000
committer Omer Ozer <omerozer@google.com> 2024-09-05 17:10:20 +0000
commitdd7df218d43e2c8d89022e9cfe9238fa19e36be6 (patch)
tree1deb801959c146be1da9bfe5aa93133a99d41d8c
parent6a2a01f02ba60d93bd5be71da7faa3c295b9c051 (diff)
Adding a flag for improved wallet role icon
and description fetching. Bug: 349942654 Ignore-AOSP-First: Not releasing until 25q2 Test: manual adding the flag. Flag: android.permission.flags.wallet_role_icon_property_enabled Change-Id: I5f91668aca93fcba963e046b7f26345f40a0c6f3
-rw-r--r--core/api/system-current.txt1
-rw-r--r--core/java/android/permission/flags.aconfig8
-rw-r--r--nfc/java/android/nfc/cardemulation/ApduServiceInfo.java23
3 files changed, 32 insertions, 0 deletions
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index f26522b9b919..f6bd908197e3 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -10550,6 +10550,7 @@ package android.nfc.cardemulation {
method @FlaggedApi("android.nfc.nfc_observe_mode") public boolean shouldDefaultToObserveMode();
method @FlaggedApi("android.nfc.enable_nfc_mainline") public void writeToParcel(@NonNull android.os.Parcel, int);
field @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public static final android.os.Parcelable.Creator<android.nfc.cardemulation.ApduServiceInfo> CREATOR;
+ field @FlaggedApi("android.permission.flags.wallet_role_icon_property_enabled") public static final String PROPERTY_WALLET_PREFERRED_BANNER_AND_LABEL = "android.nfc.cardemulation.PROPERTY_WALLET_PREFERRED_BANNER_AND_LABEL";
}
@FlaggedApi("android.nfc.enable_nfc_mainline") public final class NfcFServiceInfo implements android.os.Parcelable {
diff --git a/core/java/android/permission/flags.aconfig b/core/java/android/permission/flags.aconfig
index 5174005a8175..6c486dbfd7a2 100644
--- a/core/java/android/permission/flags.aconfig
+++ b/core/java/android/permission/flags.aconfig
@@ -241,3 +241,11 @@ flag {
purpose: PURPOSE_BUGFIX
}
}
+
+flag {
+ name: "wallet_role_icon_property_enabled"
+ is_exported: true
+ namespace: "wallet_integration"
+ description: "This flag is used to enabled the Wallet Role s icon fetching from manifest property"
+ bug: "349942654"
+}
diff --git a/nfc/java/android/nfc/cardemulation/ApduServiceInfo.java b/nfc/java/android/nfc/cardemulation/ApduServiceInfo.java
index 3cf0a4dc4873..2983875561c4 100644
--- a/nfc/java/android/nfc/cardemulation/ApduServiceInfo.java
+++ b/nfc/java/android/nfc/cardemulation/ApduServiceInfo.java
@@ -69,6 +69,29 @@ public final class ApduServiceInfo implements Parcelable {
private static final String TAG = "ApduServiceInfo";
/**
+ * Component level {@link android.content.pm.PackageManager.Property PackageManager
+ * .Property} for a system application to change its icon and label
+ * on the default applications page. This property should be added to an
+ * {@link HostApduService} declaration in the manifest.
+ *
+ * <p>For example:
+ * <pre>
+ * &lt;service
+ * android:apduServiceBanner="@drawable/product_logo"
+ * android:label="@string/service_label"&gt
+ * &lt;property
+ * android:name="android.content.PROPERTY_WALLET_ICON_AND_LABEL_HOLDER"
+ * android:value="true"/&gt;
+ * &lt/service&gt;
+ * </pre>
+ * @hide
+ */
+ @SystemApi
+ @FlaggedApi(android.permission.flags.Flags.FLAG_WALLET_ROLE_ICON_PROPERTY_ENABLED)
+ public static final String PROPERTY_WALLET_PREFERRED_BANNER_AND_LABEL =
+ "android.nfc.cardemulation.PROPERTY_WALLET_PREFERRED_BANNER_AND_LABEL";
+
+ /**
* The service that implements this
*/
private final ResolveInfo mService;