xref: /aosp_15_r20/frameworks/base/nfc/api/system-current.txt (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1*d57664e9SAndroid Build Coastguard Worker// Signature format: 2.0
2*d57664e9SAndroid Build Coastguard Workerpackage android.nfc {
3*d57664e9SAndroid Build Coastguard Worker
4*d57664e9SAndroid Build Coastguard Worker  public final class NfcAdapter {
5*d57664e9SAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean addNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler, String[]);
6*d57664e9SAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable(boolean);
7*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.enable_nfc_reader_option") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableReaderOption(boolean);
8*d57664e9SAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableSecureNfc(boolean);
9*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.enable_nfc_mainline") public int getAdapterState();
10*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull public android.nfc.NfcOemExtension getNfcOemExtension();
11*d57664e9SAndroid Build Coastguard Worker    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public java.util.Map<java.lang.String,java.lang.Boolean> getTagIntentAppPreferenceForUser(int);
12*d57664e9SAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOn();
13*d57664e9SAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOnSupported();
14*d57664e9SAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void registerControllerAlwaysOnListener(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
15*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_vendor_cmd") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void registerNfcVendorNciCallback(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.NfcAdapter.NfcVendorNciCallback);
16*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.enable_nfc_charging") public void registerWlcStateListener(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.NfcAdapter.WlcStateListener);
17*d57664e9SAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean removeNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler);
18*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_vendor_cmd") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int sendVendorNciMessage(int, @IntRange(from=0, to=15) int, @IntRange(from=0) int, @NonNull byte[]);
19*d57664e9SAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean setControllerAlwaysOn(boolean);
20*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.enable_nfc_mainline") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setReaderModePollingEnabled(boolean);
21*d57664e9SAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int setTagIntentAppPreferenceForUser(int, @NonNull String, boolean);
22*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.enable_nfc_charging") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setWlcEnabled(boolean);
23*d57664e9SAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void unregisterControllerAlwaysOnListener(@NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
24*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_vendor_cmd") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void unregisterNfcVendorNciCallback(@NonNull android.nfc.NfcAdapter.NfcVendorNciCallback);
25*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.enable_nfc_charging") public void unregisterWlcStateListener(@NonNull android.nfc.NfcAdapter.WlcStateListener);
26*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.enable_nfc_mainline") public static final String ACTION_REQUIRE_UNLOCK_FOR_NFC = "android.nfc.action.REQUIRE_UNLOCK_FOR_NFC";
27*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.enable_nfc_mainline") @RequiresPermission(android.Manifest.permission.SHOW_CUSTOMIZED_RESOLVER) public static final String ACTION_SHOW_NFC_RESOLVER = "android.nfc.action.SHOW_NFC_RESOLVER";
28*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.enable_nfc_mainline") public static final String EXTRA_RESOLVE_INFOS = "android.nfc.extra.RESOLVE_INFOS";
29*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_set_default_disc_tech") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static final int FLAG_SET_DEFAULT_TECH = 1073741824; // 0x40000000
30*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_vendor_cmd") public static final int MESSAGE_TYPE_COMMAND = 1; // 0x1
31*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_vendor_cmd") public static final int SEND_VENDOR_NCI_STATUS_FAILED = 3; // 0x3
32*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_vendor_cmd") public static final int SEND_VENDOR_NCI_STATUS_MESSAGE_CORRUPTED = 2; // 0x2
33*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_vendor_cmd") public static final int SEND_VENDOR_NCI_STATUS_REJECTED = 1; // 0x1
34*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_vendor_cmd") public static final int SEND_VENDOR_NCI_STATUS_SUCCESS = 0; // 0x0
35*d57664e9SAndroid Build Coastguard Worker    field public static final int TAG_INTENT_APP_PREF_RESULT_PACKAGE_NOT_FOUND = -1; // 0xffffffff
36*d57664e9SAndroid Build Coastguard Worker    field public static final int TAG_INTENT_APP_PREF_RESULT_SUCCESS = 0; // 0x0
37*d57664e9SAndroid Build Coastguard Worker    field public static final int TAG_INTENT_APP_PREF_RESULT_UNAVAILABLE = -2; // 0xfffffffe
38*d57664e9SAndroid Build Coastguard Worker  }
39*d57664e9SAndroid Build Coastguard Worker
40*d57664e9SAndroid Build Coastguard Worker  public static interface NfcAdapter.ControllerAlwaysOnListener {
41*d57664e9SAndroid Build Coastguard Worker    method public void onControllerAlwaysOnChanged(boolean);
42*d57664e9SAndroid Build Coastguard Worker  }
43*d57664e9SAndroid Build Coastguard Worker
44*d57664e9SAndroid Build Coastguard Worker  public static interface NfcAdapter.NfcUnlockHandler {
45*d57664e9SAndroid Build Coastguard Worker    method public boolean onUnlockAttempted(android.nfc.Tag);
46*d57664e9SAndroid Build Coastguard Worker  }
47*d57664e9SAndroid Build Coastguard Worker
48*d57664e9SAndroid Build Coastguard Worker  @FlaggedApi("android.nfc.nfc_vendor_cmd") public static interface NfcAdapter.NfcVendorNciCallback {
49*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_vendor_cmd") public void onVendorNciNotification(@IntRange(from=9, to=15) int, int, @NonNull byte[]);
50*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_vendor_cmd") public void onVendorNciResponse(@IntRange(from=0, to=15) int, int, @NonNull byte[]);
51*d57664e9SAndroid Build Coastguard Worker  }
52*d57664e9SAndroid Build Coastguard Worker
53*d57664e9SAndroid Build Coastguard Worker  @FlaggedApi("android.nfc.enable_nfc_charging") public static interface NfcAdapter.WlcStateListener {
54*d57664e9SAndroid Build Coastguard Worker    method public void onWlcStateChanged(@NonNull android.nfc.WlcListenerDeviceInfo);
55*d57664e9SAndroid Build Coastguard Worker  }
56*d57664e9SAndroid Build Coastguard Worker
57*d57664e9SAndroid Build Coastguard Worker  @FlaggedApi("android.nfc.nfc_oem_extension") public final class NfcOemExtension {
58*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void clearPreference();
59*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int forceRoutingTableCommit();
60*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getActiveNfceeList();
61*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public long getMaxPausePollingTimeoutMills();
62*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.nfc.RoutingStatus getRoutingStatus();
63*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public java.util.List<android.nfc.NfcRoutingTableEntry> getRoutingTable();
64*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull public android.nfc.T4tNdefNfcee getT4tNdefNfcee();
65*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean hasUserEnabledNfc();
66*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isAutoChangeEnabled();
67*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isTagPresent();
68*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void maybeTriggerFirmwareUpdate();
69*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void overwriteRoutingTable(int, int, int, int);
70*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int pausePolling(long);
71*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.NfcOemExtension.Callback);
72*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int resumePolling();
73*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setAutoChangeEnabled(boolean);
74*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void setControllerAlwaysOnMode(int);
75*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void synchronizeScreenState();
76*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void triggerInitialization();
77*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void unregisterCallback(@NonNull android.nfc.NfcOemExtension.Callback);
78*d57664e9SAndroid Build Coastguard Worker    field public static final int COMMIT_ROUTING_STATUS_FAILED = 3; // 0x3
79*d57664e9SAndroid Build Coastguard Worker    field public static final int COMMIT_ROUTING_STATUS_FAILED_UPDATE_IN_PROGRESS = 6; // 0x6
80*d57664e9SAndroid Build Coastguard Worker    field public static final int COMMIT_ROUTING_STATUS_OK = 0; // 0x0
81*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int DISABLE = 0; // 0x0
82*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int ENABLE_DEFAULT = 1; // 0x1
83*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int ENABLE_EE = 3; // 0x3
84*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int ENABLE_TRANSPARENT = 2; // 0x2
85*d57664e9SAndroid Build Coastguard Worker    field public static final int HCE_ACTIVATE = 1; // 0x1
86*d57664e9SAndroid Build Coastguard Worker    field public static final int HCE_DATA_TRANSFERRED = 2; // 0x2
87*d57664e9SAndroid Build Coastguard Worker    field public static final int HCE_DEACTIVATE = 3; // 0x3
88*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int NFCEE_TECH_A = 1; // 0x1
89*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int NFCEE_TECH_B = 2; // 0x2
90*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int NFCEE_TECH_F = 4; // 0x4
91*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int NFCEE_TECH_NONE = 0; // 0x0
92*d57664e9SAndroid Build Coastguard Worker    field public static final int POLLING_STATE_CHANGE_ALREADY_IN_REQUESTED_STATE = 2; // 0x2
93*d57664e9SAndroid Build Coastguard Worker    field public static final int POLLING_STATE_CHANGE_SUCCEEDED = 1; // 0x1
94*d57664e9SAndroid Build Coastguard Worker    field public static final int STATUS_OK = 0; // 0x0
95*d57664e9SAndroid Build Coastguard Worker    field public static final int STATUS_UNKNOWN_ERROR = 1; // 0x1
96*d57664e9SAndroid Build Coastguard Worker  }
97*d57664e9SAndroid Build Coastguard Worker
98*d57664e9SAndroid Build Coastguard Worker  public static interface NfcOemExtension.Callback {
99*d57664e9SAndroid Build Coastguard Worker    method public void onApplyRouting(@NonNull java.util.function.Consumer<java.lang.Boolean>);
100*d57664e9SAndroid Build Coastguard Worker    method public void onBootFinished(int);
101*d57664e9SAndroid Build Coastguard Worker    method public void onBootStarted();
102*d57664e9SAndroid Build Coastguard Worker    method public void onCardEmulationActivated(boolean);
103*d57664e9SAndroid Build Coastguard Worker    method public void onDisableFinished(int);
104*d57664e9SAndroid Build Coastguard Worker    method public void onDisableRequested(@NonNull java.util.function.Consumer<java.lang.Boolean>);
105*d57664e9SAndroid Build Coastguard Worker    method public void onDisableStarted();
106*d57664e9SAndroid Build Coastguard Worker    method public void onEeListenActivated(boolean);
107*d57664e9SAndroid Build Coastguard Worker    method public void onEeUpdated();
108*d57664e9SAndroid Build Coastguard Worker    method public void onEnableFinished(int);
109*d57664e9SAndroid Build Coastguard Worker    method public void onEnableRequested(@NonNull java.util.function.Consumer<java.lang.Boolean>);
110*d57664e9SAndroid Build Coastguard Worker    method public void onEnableStarted();
111*d57664e9SAndroid Build Coastguard Worker    method public void onExtractOemPackages(@NonNull android.nfc.NdefMessage, @NonNull java.util.function.Consumer<java.util.List<java.lang.String>>);
112*d57664e9SAndroid Build Coastguard Worker    method public void onGetOemAppSearchIntent(@NonNull java.util.List<java.lang.String>, @NonNull java.util.function.Consumer<android.content.Intent>);
113*d57664e9SAndroid Build Coastguard Worker    method public void onHceEventReceived(int);
114*d57664e9SAndroid Build Coastguard Worker    method public void onLaunchHceAppChooserActivity(@NonNull String, @NonNull java.util.List<android.nfc.cardemulation.ApduServiceInfo>, @NonNull android.content.ComponentName, @NonNull String);
115*d57664e9SAndroid Build Coastguard Worker    method public void onLaunchHceTapAgainDialog(@NonNull android.nfc.cardemulation.ApduServiceInfo, @NonNull String);
116*d57664e9SAndroid Build Coastguard Worker    method public void onLogEventNotified(@NonNull android.nfc.OemLogItems);
117*d57664e9SAndroid Build Coastguard Worker    method public void onNdefMessage(@NonNull android.nfc.Tag, @NonNull android.nfc.NdefMessage, @NonNull java.util.function.Consumer<java.lang.Boolean>);
118*d57664e9SAndroid Build Coastguard Worker    method public void onNdefRead(@NonNull java.util.function.Consumer<java.lang.Boolean>);
119*d57664e9SAndroid Build Coastguard Worker    method public void onReaderOptionChanged(boolean);
120*d57664e9SAndroid Build Coastguard Worker    method public void onRfDiscoveryStarted(boolean);
121*d57664e9SAndroid Build Coastguard Worker    method public void onRfFieldActivated(boolean);
122*d57664e9SAndroid Build Coastguard Worker    method public void onRoutingChanged(@NonNull java.util.function.Consumer<java.lang.Boolean>);
123*d57664e9SAndroid Build Coastguard Worker    method public void onRoutingTableFull();
124*d57664e9SAndroid Build Coastguard Worker    method public void onStateUpdated(int);
125*d57664e9SAndroid Build Coastguard Worker    method public void onTagConnected(boolean);
126*d57664e9SAndroid Build Coastguard Worker    method public void onTagDispatch(@NonNull java.util.function.Consumer<java.lang.Boolean>);
127*d57664e9SAndroid Build Coastguard Worker  }
128*d57664e9SAndroid Build Coastguard Worker
129*d57664e9SAndroid Build Coastguard Worker  @FlaggedApi("android.nfc.nfc_oem_extension") public abstract class NfcRoutingTableEntry {
130*d57664e9SAndroid Build Coastguard Worker    method public int getNfceeId();
131*d57664e9SAndroid Build Coastguard Worker    method public int getRouteType();
132*d57664e9SAndroid Build Coastguard Worker    method public int getType();
133*d57664e9SAndroid Build Coastguard Worker    field public static final int TYPE_AID = 0; // 0x0
134*d57664e9SAndroid Build Coastguard Worker    field public static final int TYPE_PROTOCOL = 1; // 0x1
135*d57664e9SAndroid Build Coastguard Worker    field public static final int TYPE_SYSTEM_CODE = 3; // 0x3
136*d57664e9SAndroid Build Coastguard Worker    field public static final int TYPE_TECHNOLOGY = 2; // 0x2
137*d57664e9SAndroid Build Coastguard Worker  }
138*d57664e9SAndroid Build Coastguard Worker
139*d57664e9SAndroid Build Coastguard Worker  @FlaggedApi("android.nfc.nfc_oem_extension") public final class OemLogItems implements android.os.Parcelable {
140*d57664e9SAndroid Build Coastguard Worker    method public int describeContents();
141*d57664e9SAndroid Build Coastguard Worker    method public int getAction();
142*d57664e9SAndroid Build Coastguard Worker    method public int getCallingPid();
143*d57664e9SAndroid Build Coastguard Worker    method @Nullable public byte[] getCommandApdu();
144*d57664e9SAndroid Build Coastguard Worker    method public int getEvent();
145*d57664e9SAndroid Build Coastguard Worker    method @Nullable public byte[] getResponseApdu();
146*d57664e9SAndroid Build Coastguard Worker    method @Nullable public java.time.Instant getRfFieldEventTimeMillis();
147*d57664e9SAndroid Build Coastguard Worker    method @Nullable public android.nfc.Tag getTag();
148*d57664e9SAndroid Build Coastguard Worker    method public void writeToParcel(@NonNull android.os.Parcel, int);
149*d57664e9SAndroid Build Coastguard Worker    field @NonNull public static final android.os.Parcelable.Creator<android.nfc.OemLogItems> CREATOR;
150*d57664e9SAndroid Build Coastguard Worker    field public static final int EVENT_DISABLE = 2; // 0x2
151*d57664e9SAndroid Build Coastguard Worker    field public static final int EVENT_ENABLE = 1; // 0x1
152*d57664e9SAndroid Build Coastguard Worker    field public static final int EVENT_UNSET = 0; // 0x0
153*d57664e9SAndroid Build Coastguard Worker    field public static final int LOG_ACTION_HCE_DATA = 516; // 0x204
154*d57664e9SAndroid Build Coastguard Worker    field public static final int LOG_ACTION_NFC_TOGGLE = 513; // 0x201
155*d57664e9SAndroid Build Coastguard Worker    field public static final int LOG_ACTION_RF_FIELD_STATE_CHANGED = 1; // 0x1
156*d57664e9SAndroid Build Coastguard Worker    field public static final int LOG_ACTION_SCREEN_STATE_CHANGED = 518; // 0x206
157*d57664e9SAndroid Build Coastguard Worker    field public static final int LOG_ACTION_TAG_DETECTED = 3; // 0x3
158*d57664e9SAndroid Build Coastguard Worker  }
159*d57664e9SAndroid Build Coastguard Worker
160*d57664e9SAndroid Build Coastguard Worker  @FlaggedApi("android.nfc.nfc_oem_extension") public class RoutingStatus {
161*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int getDefaultIsoDepRoute();
162*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int getDefaultOffHostRoute();
163*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int getDefaultRoute();
164*d57664e9SAndroid Build Coastguard Worker  }
165*d57664e9SAndroid Build Coastguard Worker
166*d57664e9SAndroid Build Coastguard Worker  @FlaggedApi("android.nfc.nfc_oem_extension") public class RoutingTableAidEntry extends android.nfc.NfcRoutingTableEntry {
167*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull public String getAid();
168*d57664e9SAndroid Build Coastguard Worker  }
169*d57664e9SAndroid Build Coastguard Worker
170*d57664e9SAndroid Build Coastguard Worker  @FlaggedApi("android.nfc.nfc_oem_extension") public class RoutingTableProtocolEntry extends android.nfc.NfcRoutingTableEntry {
171*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") public int getProtocol();
172*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int PROTOCOL_ISO_DEP = 4; // 0x4
173*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int PROTOCOL_NDEF = 7; // 0x7
174*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int PROTOCOL_NFC_DEP = 5; // 0x5
175*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int PROTOCOL_T1T = 1; // 0x1
176*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int PROTOCOL_T2T = 2; // 0x2
177*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int PROTOCOL_T3T = 3; // 0x3
178*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int PROTOCOL_T5T = 6; // 0x6
179*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int PROTOCOL_UNDETERMINED = 0; // 0x0
180*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int PROTOCOL_UNSUPPORTED = -1; // 0xffffffff
181*d57664e9SAndroid Build Coastguard Worker  }
182*d57664e9SAndroid Build Coastguard Worker
183*d57664e9SAndroid Build Coastguard Worker  @FlaggedApi("android.nfc.nfc_oem_extension") public class RoutingTableSystemCodeEntry extends android.nfc.NfcRoutingTableEntry {
184*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull public byte[] getSystemCode();
185*d57664e9SAndroid Build Coastguard Worker  }
186*d57664e9SAndroid Build Coastguard Worker
187*d57664e9SAndroid Build Coastguard Worker  @FlaggedApi("android.nfc.nfc_oem_extension") public class RoutingTableTechnologyEntry extends android.nfc.NfcRoutingTableEntry {
188*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_oem_extension") public int getTechnology();
189*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int TECHNOLOGY_A = 0; // 0x0
190*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int TECHNOLOGY_B = 1; // 0x1
191*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int TECHNOLOGY_F = 2; // 0x2
192*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int TECHNOLOGY_UNSUPPORTED = -1; // 0xffffffff
193*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int TECHNOLOGY_V = 3; // 0x3
194*d57664e9SAndroid Build Coastguard Worker  }
195*d57664e9SAndroid Build Coastguard Worker
196*d57664e9SAndroid Build Coastguard Worker  @FlaggedApi("android.nfc.nfc_oem_extension") public final class T4tNdefNfcee {
197*d57664e9SAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) @WorkerThread public int clearData();
198*d57664e9SAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isOperationOngoing();
199*d57664e9SAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isSupported();
200*d57664e9SAndroid Build Coastguard Worker    method @Nullable @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) @WorkerThread public android.nfc.T4tNdefNfceeCcFileInfo readCcfile();
201*d57664e9SAndroid Build Coastguard Worker    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) @WorkerThread public byte[] readData(@IntRange(from=0, to=65535) int);
202*d57664e9SAndroid Build Coastguard Worker    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) @WorkerThread public int writeData(@IntRange(from=0, to=65535) int, @NonNull byte[]);
203*d57664e9SAndroid Build Coastguard Worker    field public static final int CLEAR_DATA_FAILED_INTERNAL = 0; // 0x0
204*d57664e9SAndroid Build Coastguard Worker    field public static final int CLEAR_DATA_SUCCESS = 1; // 0x1
205*d57664e9SAndroid Build Coastguard Worker    field public static final int WRITE_DATA_ERROR_CONNECTION_FAILED = -6; // 0xfffffffa
206*d57664e9SAndroid Build Coastguard Worker    field public static final int WRITE_DATA_ERROR_EMPTY_PAYLOAD = -7; // 0xfffffff9
207*d57664e9SAndroid Build Coastguard Worker    field public static final int WRITE_DATA_ERROR_INTERNAL = -1; // 0xffffffff
208*d57664e9SAndroid Build Coastguard Worker    field public static final int WRITE_DATA_ERROR_INVALID_FILE_ID = -4; // 0xfffffffc
209*d57664e9SAndroid Build Coastguard Worker    field public static final int WRITE_DATA_ERROR_INVALID_LENGTH = -5; // 0xfffffffb
210*d57664e9SAndroid Build Coastguard Worker    field public static final int WRITE_DATA_ERROR_NDEF_VALIDATION_FAILED = -8; // 0xfffffff8
211*d57664e9SAndroid Build Coastguard Worker    field public static final int WRITE_DATA_ERROR_NFC_NOT_ON = -3; // 0xfffffffd
212*d57664e9SAndroid Build Coastguard Worker    field public static final int WRITE_DATA_ERROR_RF_ACTIVATED = -2; // 0xfffffffe
213*d57664e9SAndroid Build Coastguard Worker    field public static final int WRITE_DATA_SUCCESS = 0; // 0x0
214*d57664e9SAndroid Build Coastguard Worker  }
215*d57664e9SAndroid Build Coastguard Worker
216*d57664e9SAndroid Build Coastguard Worker  @FlaggedApi("android.nfc.nfc_oem_extension") public final class T4tNdefNfceeCcFileInfo implements android.os.Parcelable {
217*d57664e9SAndroid Build Coastguard Worker    method public int describeContents();
218*d57664e9SAndroid Build Coastguard Worker    method @IntRange(from=15, to=32767) public int getCcFileLength();
219*d57664e9SAndroid Build Coastguard Worker    method @IntRange(from=0xffffffff, to=65535) public int getFileId();
220*d57664e9SAndroid Build Coastguard Worker    method @IntRange(from=15, to=65535) public int getMaxReadLength();
221*d57664e9SAndroid Build Coastguard Worker    method @IntRange(from=5, to=32767) public int getMaxSize();
222*d57664e9SAndroid Build Coastguard Worker    method @IntRange(from=13, to=65535) public int getMaxWriteLength();
223*d57664e9SAndroid Build Coastguard Worker    method public int getReadAccess();
224*d57664e9SAndroid Build Coastguard Worker    method public int getVersion();
225*d57664e9SAndroid Build Coastguard Worker    method public int getWriteAccess();
226*d57664e9SAndroid Build Coastguard Worker    method public void writeToParcel(@NonNull android.os.Parcel, int);
227*d57664e9SAndroid Build Coastguard Worker    field @NonNull public static final android.os.Parcelable.Creator<android.nfc.T4tNdefNfceeCcFileInfo> CREATOR;
228*d57664e9SAndroid Build Coastguard Worker    field public static final int READ_ACCESS_GRANTED_RESTRICTED = 128; // 0x80
229*d57664e9SAndroid Build Coastguard Worker    field public static final int READ_ACCESS_GRANTED_UNRESTRICTED = 0; // 0x0
230*d57664e9SAndroid Build Coastguard Worker    field public static final int VERSION_2_0 = 32; // 0x20
231*d57664e9SAndroid Build Coastguard Worker    field public static final int VERSION_3_0 = 48; // 0x30
232*d57664e9SAndroid Build Coastguard Worker    field public static final int WRITE_ACCESS_GRANTED_RESTRICTED = 128; // 0x80
233*d57664e9SAndroid Build Coastguard Worker    field public static final int WRITE_ACCESS_GRANTED_UNRESTRICTED = 0; // 0x0
234*d57664e9SAndroid Build Coastguard Worker    field public static final int WRITE_ACCESS_NOT_GRANTED = 255; // 0xff
235*d57664e9SAndroid Build Coastguard Worker  }
236*d57664e9SAndroid Build Coastguard Worker
237*d57664e9SAndroid Build Coastguard Worker}
238*d57664e9SAndroid Build Coastguard Worker
239*d57664e9SAndroid Build Coastguard Workerpackage android.nfc.cardemulation {
240*d57664e9SAndroid Build Coastguard Worker
241*d57664e9SAndroid Build Coastguard Worker  public final class CardEmulation {
242*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.permission.flags.wallet_role_enabled") @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public static android.content.ComponentName getPreferredPaymentService(@NonNull android.content.Context);
243*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public java.util.List<android.nfc.cardemulation.ApduServiceInfo> getServices(@NonNull String, int);
244*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_override_recover_routing_table") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void overrideRoutingTable(@NonNull android.app.Activity, int, int);
245*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_override_recover_routing_table") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void recoverRoutingTable(@NonNull android.app.Activity);
246*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.enable_card_emulation_euicc") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int setDefaultNfcSubscriptionId(int);
247*d57664e9SAndroid Build Coastguard Worker    method @FlaggedApi("android.nfc.nfc_set_service_enabled_for_category_other") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int setServiceEnabledForCategoryOther(@NonNull android.content.ComponentName, boolean);
248*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_set_service_enabled_for_category_other") public static final int SET_SERVICE_ENABLED_STATUS_FAILURE_ALREADY_SET = 3; // 0x3
249*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_set_service_enabled_for_category_other") public static final int SET_SERVICE_ENABLED_STATUS_FAILURE_FEATURE_UNSUPPORTED = 1; // 0x1
250*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_set_service_enabled_for_category_other") public static final int SET_SERVICE_ENABLED_STATUS_FAILURE_INVALID_SERVICE = 2; // 0x2
251*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_set_service_enabled_for_category_other") public static final int SET_SERVICE_ENABLED_STATUS_FAILURE_UNKNOWN_ERROR = 4; // 0x4
252*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.nfc_set_service_enabled_for_category_other") public static final int SET_SERVICE_ENABLED_STATUS_OK = 0; // 0x0
253*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.enable_card_emulation_euicc") public static final int SET_SUBSCRIPTION_ID_STATUS_FAILED_INTERNAL_ERROR = 2; // 0x2
254*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.enable_card_emulation_euicc") public static final int SET_SUBSCRIPTION_ID_STATUS_FAILED_INVALID_SUBSCRIPTION_ID = 1; // 0x1
255*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.enable_card_emulation_euicc") public static final int SET_SUBSCRIPTION_ID_STATUS_FAILED_NOT_SUPPORTED = 3; // 0x3
256*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.enable_card_emulation_euicc") public static final int SET_SUBSCRIPTION_ID_STATUS_SUCCESS = 0; // 0x0
257*d57664e9SAndroid Build Coastguard Worker    field @FlaggedApi("android.nfc.enable_card_emulation_euicc") public static final int SET_SUBSCRIPTION_ID_STATUS_UNKNOWN = -1; // 0xffffffff
258*d57664e9SAndroid Build Coastguard Worker  }
259*d57664e9SAndroid Build Coastguard Worker
260*d57664e9SAndroid Build Coastguard Worker}
261*d57664e9SAndroid Build Coastguard Worker
262