[framework] Expose constructor of ApduServiceInfo.
Bug: 380892385
Test: compile
Change-Id: Ic0f196c2bd382f5875645a8bd9917c8dc0f8167f
diff --git a/nfc-non-updatable/flags/flags.aconfig b/nfc-non-updatable/flags/flags.aconfig
index ee287ab..6b14a1e 100644
--- a/nfc-non-updatable/flags/flags.aconfig
+++ b/nfc-non-updatable/flags/flags.aconfig
@@ -189,3 +189,11 @@
description: "App can check its tag intent preference status"
bug: "335916336"
}
+
+flag {
+ name: "nfc_apdu_service_info_constructor"
+ is_exported: true
+ namespace: "nfc"
+ description: "Expose constructor for ApduServiceInfo"
+ bug: "380892385"
+}
diff --git a/nfc-non-updatable/java/android/nfc/cardemulation/ApduServiceInfo.java b/nfc-non-updatable/java/android/nfc/cardemulation/ApduServiceInfo.java
index 7f64dbe..93d6eb7 100644
--- a/nfc-non-updatable/java/android/nfc/cardemulation/ApduServiceInfo.java
+++ b/nfc-non-updatable/java/android/nfc/cardemulation/ApduServiceInfo.java
@@ -177,13 +177,30 @@
private boolean mWantsRoleHolderPriority;
/**
+ * Constructor of {@link ApduServiceInfo}.
+ * @param info App component info
+ * @param onHost whether service is on host or not (secure element)
+ * @param description The description of service
+ * @param staticAidGroups static AID groups
+ * @param dynamicAidGroups dynamic AID groups
+ * @param requiresUnlock whether this service should only be started
+ * when the device is unlocked
+ * @param bannerResource The id of the service banner specified in XML
+ * @param uid The uid of the package the service belongs to
+ * @param settingsActivityName Settings Activity for this service
+ * @param offHost Off-host reader name
+ * @param staticOffHost Off-host reader name from manifest file
+ *
* @hide
*/
@UnsupportedAppUsage
- public ApduServiceInfo(ResolveInfo info, boolean onHost, String description,
- ArrayList<AidGroup> staticAidGroups, ArrayList<AidGroup> dynamicAidGroups,
+ @SystemApi
+ @FlaggedApi(Flags.FLAG_NFC_APDU_SERVICE_INFO_CONSTRUCTOR)
+ public ApduServiceInfo(@NonNull ResolveInfo info, boolean onHost, @NonNull String description,
+ @NonNull List<AidGroup> staticAidGroups, @NonNull List<AidGroup> dynamicAidGroups,
boolean requiresUnlock, int bannerResource, int uid,
- String settingsActivityName, String offHost, String staticOffHost) {
+ @NonNull String settingsActivityName, @NonNull String offHost,
+ @NonNull String staticOffHost) {
this(info, onHost, description, staticAidGroups, dynamicAidGroups,
requiresUnlock, bannerResource, uid, settingsActivityName,
offHost, staticOffHost, false);
@@ -193,7 +210,7 @@
* @hide
*/
public ApduServiceInfo(ResolveInfo info, boolean onHost, String description,
- ArrayList<AidGroup> staticAidGroups, ArrayList<AidGroup> dynamicAidGroups,
+ List<AidGroup> staticAidGroups, List<AidGroup> dynamicAidGroups,
boolean requiresUnlock, int bannerResource, int uid,
String settingsActivityName, String offHost, String staticOffHost,
boolean isEnabled) {