Roshan Pius | 0fa8089 | 2023-11-14 14:30:26 -0800 | [diff] [blame] | 1 | // Signature format: 2.0 |
Roshan Pius | 467a55f | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 2 | package android.nfc { |
| 3 | |
| 4 | public final class NfcAdapter { |
| 5 | method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean addNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler, String[]); |
Roshan Pius | 467a55f | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 6 | method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable(boolean); |
Roshan Pius | 467a55f | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 7 | method @FlaggedApi("android.nfc.enable_nfc_reader_option") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableReaderOption(boolean); |
| 8 | method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableSecureNfc(boolean); |
| 9 | method @FlaggedApi("android.nfc.enable_nfc_mainline") public int getAdapterState(); |
Roshan Pius | a432954 | 2024-03-25 13:01:21 -0700 | [diff] [blame] | 10 | method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull public android.nfc.NfcOemExtension getNfcOemExtension(); |
Roshan Pius | 467a55f | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 11 | method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public java.util.Map<java.lang.String,java.lang.Boolean> getTagIntentAppPreferenceForUser(int); |
| 12 | method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOn(); |
| 13 | method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOnSupported(); |
Roshan Pius | 467a55f | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 14 | method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void registerControllerAlwaysOnListener(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener); |
suryaprakash.konduru | ace29c1 | 2023-12-04 23:12:58 +0530 | [diff] [blame] | 15 | 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); |
Roshan Pius | b5ff8cf | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 16 | method @FlaggedApi("android.nfc.enable_nfc_charging") public void registerWlcStateListener(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.NfcAdapter.WlcStateListener); |
Roshan Pius | 467a55f | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 17 | method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean removeNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler); |
suryaprakash.konduru | ace29c1 | 2023-12-04 23:12:58 +0530 | [diff] [blame] | 18 | 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[]); |
Roshan Pius | 467a55f | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 19 | method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean setControllerAlwaysOn(boolean); |
Roshan Pius | af9cc1f | 2024-01-30 11:44:19 -0800 | [diff] [blame] | 20 | method @FlaggedApi("android.nfc.enable_nfc_mainline") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setReaderModePollingEnabled(boolean); |
Roshan Pius | 467a55f | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 21 | method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int setTagIntentAppPreferenceForUser(int, @NonNull String, boolean); |
Jack Yu | dc872e0 | 2024-01-09 09:40:40 +0000 | [diff] [blame] | 22 | method @FlaggedApi("android.nfc.enable_nfc_charging") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setWlcEnabled(boolean); |
Roshan Pius | 467a55f | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 23 | method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void unregisterControllerAlwaysOnListener(@NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener); |
Roshan Pius | d4c50e8 | 2024-02-06 01:11:11 +0000 | [diff] [blame] | 24 | method @FlaggedApi("android.nfc.nfc_vendor_cmd") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void unregisterNfcVendorNciCallback(@NonNull android.nfc.NfcAdapter.NfcVendorNciCallback); |
Roshan Pius | b5ff8cf | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 25 | method @FlaggedApi("android.nfc.enable_nfc_charging") public void unregisterWlcStateListener(@NonNull android.nfc.NfcAdapter.WlcStateListener); |
Roshan Pius | 467a55f | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 26 | field @FlaggedApi("android.nfc.enable_nfc_mainline") public static final String ACTION_REQUIRE_UNLOCK_FOR_NFC = "android.nfc.action.REQUIRE_UNLOCK_FOR_NFC"; |
Roshan Pius | 5ae9a17 | 2024-02-13 14:32:18 -0800 | [diff] [blame] | 27 | 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 | field @FlaggedApi("android.nfc.enable_nfc_mainline") public static final String EXTRA_RESOLVE_INFOS = "android.nfc.extra.RESOLVE_INFOS"; |
Alisher Alikhodjaev | 4867e84 | 2024-05-15 15:37:04 -0700 | [diff] [blame] | 29 | 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 |
suryaprakash.konduru | ace29c1 | 2023-12-04 23:12:58 +0530 | [diff] [blame] | 30 | field @FlaggedApi("android.nfc.nfc_vendor_cmd") public static final int MESSAGE_TYPE_COMMAND = 1; // 0x1 |
| 31 | field @FlaggedApi("android.nfc.nfc_vendor_cmd") public static final int SEND_VENDOR_NCI_STATUS_FAILED = 3; // 0x3 |
| 32 | field @FlaggedApi("android.nfc.nfc_vendor_cmd") public static final int SEND_VENDOR_NCI_STATUS_MESSAGE_CORRUPTED = 2; // 0x2 |
| 33 | field @FlaggedApi("android.nfc.nfc_vendor_cmd") public static final int SEND_VENDOR_NCI_STATUS_REJECTED = 1; // 0x1 |
| 34 | field @FlaggedApi("android.nfc.nfc_vendor_cmd") public static final int SEND_VENDOR_NCI_STATUS_SUCCESS = 0; // 0x0 |
Roshan Pius | 467a55f | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 35 | field public static final int TAG_INTENT_APP_PREF_RESULT_PACKAGE_NOT_FOUND = -1; // 0xffffffff |
| 36 | field public static final int TAG_INTENT_APP_PREF_RESULT_SUCCESS = 0; // 0x0 |
| 37 | field public static final int TAG_INTENT_APP_PREF_RESULT_UNAVAILABLE = -2; // 0xfffffffe |
| 38 | } |
| 39 | |
| 40 | public static interface NfcAdapter.ControllerAlwaysOnListener { |
| 41 | method public void onControllerAlwaysOnChanged(boolean); |
| 42 | } |
| 43 | |
| 44 | public static interface NfcAdapter.NfcUnlockHandler { |
| 45 | method public boolean onUnlockAttempted(android.nfc.Tag); |
| 46 | } |
| 47 | |
suryaprakash.konduru | ace29c1 | 2023-12-04 23:12:58 +0530 | [diff] [blame] | 48 | @FlaggedApi("android.nfc.nfc_vendor_cmd") public static interface NfcAdapter.NfcVendorNciCallback { |
| 49 | method @FlaggedApi("android.nfc.nfc_vendor_cmd") public void onVendorNciNotification(@IntRange(from=9, to=15) int, int, @NonNull byte[]); |
| 50 | method @FlaggedApi("android.nfc.nfc_vendor_cmd") public void onVendorNciResponse(@IntRange(from=0, to=15) int, int, @NonNull byte[]); |
| 51 | } |
| 52 | |
Roshan Pius | b5ff8cf | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 53 | @FlaggedApi("android.nfc.enable_nfc_charging") public static interface NfcAdapter.WlcStateListener { |
Jack Yu | dc872e0 | 2024-01-09 09:40:40 +0000 | [diff] [blame] | 54 | method public void onWlcStateChanged(@NonNull android.nfc.WlcListenerDeviceInfo); |
Roshan Pius | b5ff8cf | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 55 | } |
| 56 | |
Roshan Pius | a432954 | 2024-03-25 13:01:21 -0700 | [diff] [blame] | 57 | @FlaggedApi("android.nfc.nfc_oem_extension") public final class NfcOemExtension { |
| 58 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void clearPreference(); |
ziyiw | 2b560ab | 2024-11-08 19:42:26 +0000 | [diff] [blame] | 59 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int forceRoutingTableCommit(); |
Alisher Alikhodjaev | 33a31fb | 2024-11-15 20:36:37 +0000 | [diff] [blame] | 60 | method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getActiveNfceeList(); |
ziyiw | 861472d | 2024-11-20 19:37:07 +0000 | [diff] [blame] | 61 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public long getMaxPausePollingTimeoutMills(); |
ziyiw | b8651d7 | 2024-08-19 23:30:10 +0000 | [diff] [blame] | 62 | method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.nfc.RoutingStatus getRoutingStatus(); |
ziyiw | eaa6094 | 2024-10-07 21:48:18 +0000 | [diff] [blame] | 63 | method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public java.util.List<android.nfc.NfcRoutingTableEntry> getRoutingTable(); |
Roshan Pius | babbde8 | 2024-11-20 15:19:00 +0000 | [diff] [blame] | 64 | method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull public android.nfc.T4tNdefNfcee getT4tNdefNfcee(); |
ziyiw | aebcc46 | 2024-09-20 20:56:25 +0000 | [diff] [blame] | 65 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean hasUserEnabledNfc(); |
ziyiw | b8651d7 | 2024-08-19 23:30:10 +0000 | [diff] [blame] | 66 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isAutoChangeEnabled(); |
ziyiw | aebcc46 | 2024-09-20 20:56:25 +0000 | [diff] [blame] | 67 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isTagPresent(); |
ziyiw | cbb1e36 | 2024-05-09 20:22:04 +0000 | [diff] [blame] | 68 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void maybeTriggerFirmwareUpdate(); |
Alexandra Ducati-Manas | 835a32b | 2024-10-03 15:44:56 +0200 | [diff] [blame] | 69 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void overwriteRoutingTable(int, int, int, int); |
ziyiw | 861472d | 2024-11-20 19:37:07 +0000 | [diff] [blame] | 70 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int pausePolling(long); |
Roshan Pius | a432954 | 2024-03-25 13:01:21 -0700 | [diff] [blame] | 71 | 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); |
Roshan Pius | fdf8b18 | 2024-11-15 23:13:09 +0000 | [diff] [blame] | 72 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int resumePolling(); |
ziyiw | b8651d7 | 2024-08-19 23:30:10 +0000 | [diff] [blame] | 73 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setAutoChangeEnabled(boolean); |
Roshan | 677b137f | 2024-09-19 11:29:23 -0700 | [diff] [blame] | 74 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void setControllerAlwaysOnMode(int); |
ziyiw | cbb1e36 | 2024-05-09 20:22:04 +0000 | [diff] [blame] | 75 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void synchronizeScreenState(); |
ziyiw | aebcc46 | 2024-09-20 20:56:25 +0000 | [diff] [blame] | 76 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void triggerInitialization(); |
Roshan Pius | a432954 | 2024-03-25 13:01:21 -0700 | [diff] [blame] | 77 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void unregisterCallback(@NonNull android.nfc.NfcOemExtension.Callback); |
ziyiw | 2b560ab | 2024-11-08 19:42:26 +0000 | [diff] [blame] | 78 | field public static final int COMMIT_ROUTING_STATUS_FAILED = 3; // 0x3 |
| 79 | field public static final int COMMIT_ROUTING_STATUS_FAILED_UPDATE_IN_PROGRESS = 6; // 0x6 |
| 80 | field public static final int COMMIT_ROUTING_STATUS_OK = 0; // 0x0 |
Roshan Pius | 60d125b | 2024-09-18 14:06:47 +0000 | [diff] [blame] | 81 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int DISABLE = 0; // 0x0 |
| 82 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int ENABLE_DEFAULT = 1; // 0x1 |
| 83 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int ENABLE_EE = 3; // 0x3 |
| 84 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int ENABLE_TRANSPARENT = 2; // 0x2 |
ziyiw | 2c96522 | 2024-07-30 18:40:06 +0000 | [diff] [blame] | 85 | field public static final int HCE_ACTIVATE = 1; // 0x1 |
| 86 | field public static final int HCE_DATA_TRANSFERRED = 2; // 0x2 |
| 87 | field public static final int HCE_DEACTIVATE = 3; // 0x3 |
Alisher Alikhodjaev | 5f77cb6 | 2024-12-04 14:34:42 -0800 | [diff] [blame] | 88 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int NFCEE_TECH_A = 1; // 0x1 |
| 89 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int NFCEE_TECH_B = 2; // 0x2 |
| 90 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int NFCEE_TECH_F = 4; // 0x4 |
| 91 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int NFCEE_TECH_NONE = 0; // 0x0 |
Roshan Pius | fdf8b18 | 2024-11-15 23:13:09 +0000 | [diff] [blame] | 92 | field public static final int POLLING_STATE_CHANGE_ALREADY_IN_REQUESTED_STATE = 2; // 0x2 |
| 93 | field public static final int POLLING_STATE_CHANGE_SUCCEEDED = 1; // 0x1 |
ziyiw | 2c96522 | 2024-07-30 18:40:06 +0000 | [diff] [blame] | 94 | field public static final int STATUS_OK = 0; // 0x0 |
| 95 | field public static final int STATUS_UNKNOWN_ERROR = 1; // 0x1 |
Roshan Pius | a432954 | 2024-03-25 13:01:21 -0700 | [diff] [blame] | 96 | } |
| 97 | |
| 98 | public static interface NfcOemExtension.Callback { |
ziyiw | 2c96522 | 2024-07-30 18:40:06 +0000 | [diff] [blame] | 99 | method public void onApplyRouting(@NonNull java.util.function.Consumer<java.lang.Boolean>); |
| 100 | method public void onBootFinished(int); |
| 101 | method public void onBootStarted(); |
suryaprakash.konduru | 033c279 | 2024-06-04 12:31:59 +0530 | [diff] [blame] | 102 | method public void onCardEmulationActivated(boolean); |
ziyiw | 2c96522 | 2024-07-30 18:40:06 +0000 | [diff] [blame] | 103 | method public void onDisableFinished(int); |
ziyiw | 97e14c4 | 2024-11-13 17:32:33 +0000 | [diff] [blame] | 104 | method public void onDisableRequested(@NonNull java.util.function.Consumer<java.lang.Boolean>); |
ziyiw | 2c96522 | 2024-07-30 18:40:06 +0000 | [diff] [blame] | 105 | method public void onDisableStarted(); |
Himanshu Singh Kushwah | 74cda91 | 2024-10-28 11:07:20 +0530 | [diff] [blame] | 106 | method public void onEeListenActivated(boolean); |
Roshan Pius | 91caa0e | 2024-11-07 20:42:45 +0000 | [diff] [blame] | 107 | method public void onEeUpdated(); |
ziyiw | 2c96522 | 2024-07-30 18:40:06 +0000 | [diff] [blame] | 108 | method public void onEnableFinished(int); |
ziyiw | 97e14c4 | 2024-11-13 17:32:33 +0000 | [diff] [blame] | 109 | method public void onEnableRequested(@NonNull java.util.function.Consumer<java.lang.Boolean>); |
ziyiw | 2c96522 | 2024-07-30 18:40:06 +0000 | [diff] [blame] | 110 | method public void onEnableStarted(); |
ziyiw | 2b560ab | 2024-11-08 19:42:26 +0000 | [diff] [blame] | 111 | method public void onExtractOemPackages(@NonNull android.nfc.NdefMessage, @NonNull java.util.function.Consumer<java.util.List<java.lang.String>>); |
ziyiw | 30392b8 | 2024-09-19 16:16:07 +0000 | [diff] [blame] | 112 | method public void onGetOemAppSearchIntent(@NonNull java.util.List<java.lang.String>, @NonNull java.util.function.Consumer<android.content.Intent>); |
ziyiw | 2c96522 | 2024-07-30 18:40:06 +0000 | [diff] [blame] | 113 | method public void onHceEventReceived(int); |
ziyiw | 30392b8 | 2024-09-19 16:16:07 +0000 | [diff] [blame] | 114 | method public void onLaunchHceAppChooserActivity(@NonNull String, @NonNull java.util.List<android.nfc.cardemulation.ApduServiceInfo>, @NonNull android.content.ComponentName, @NonNull String); |
| 115 | method public void onLaunchHceTapAgainDialog(@NonNull android.nfc.cardemulation.ApduServiceInfo, @NonNull String); |
ziyiw | f957e50 | 2024-10-25 22:05:39 +0000 | [diff] [blame] | 116 | method public void onLogEventNotified(@NonNull android.nfc.OemLogItems); |
ziyiw | 30392b8 | 2024-09-19 16:16:07 +0000 | [diff] [blame] | 117 | method public void onNdefMessage(@NonNull android.nfc.Tag, @NonNull android.nfc.NdefMessage, @NonNull java.util.function.Consumer<java.lang.Boolean>); |
ziyiw | 2c96522 | 2024-07-30 18:40:06 +0000 | [diff] [blame] | 118 | method public void onNdefRead(@NonNull java.util.function.Consumer<java.lang.Boolean>); |
Roshan Pius | b41fe36 | 2024-09-04 19:04:50 +0000 | [diff] [blame] | 119 | method public void onReaderOptionChanged(boolean); |
suryaprakash.konduru | 033c279 | 2024-06-04 12:31:59 +0530 | [diff] [blame] | 120 | method public void onRfDiscoveryStarted(boolean); |
| 121 | method public void onRfFieldActivated(boolean); |
ziyiw | 2b560ab | 2024-11-08 19:42:26 +0000 | [diff] [blame] | 122 | method public void onRoutingChanged(@NonNull java.util.function.Consumer<java.lang.Boolean>); |
Praveen Kumar Pandey | 65a2661 | 2024-10-30 12:40:11 +0530 | [diff] [blame] | 123 | method public void onRoutingTableFull(); |
ziyiw | 2c96522 | 2024-07-30 18:40:06 +0000 | [diff] [blame] | 124 | method public void onStateUpdated(int); |
Roshan Pius | a8e6836 | 2024-10-31 16:14:24 +0000 | [diff] [blame] | 125 | method public void onTagConnected(boolean); |
ziyiw | 2c96522 | 2024-07-30 18:40:06 +0000 | [diff] [blame] | 126 | method public void onTagDispatch(@NonNull java.util.function.Consumer<java.lang.Boolean>); |
Roshan Pius | a432954 | 2024-03-25 13:01:21 -0700 | [diff] [blame] | 127 | } |
| 128 | |
ziyiw | eaa6094 | 2024-10-07 21:48:18 +0000 | [diff] [blame] | 129 | @FlaggedApi("android.nfc.nfc_oem_extension") public abstract class NfcRoutingTableEntry { |
| 130 | method public int getNfceeId(); |
ziyiw | 4267a91 | 2024-11-26 21:18:55 +0000 | [diff] [blame] | 131 | method public int getRouteType(); |
ziyiw | fbb249e | 2024-11-18 22:22:52 +0000 | [diff] [blame] | 132 | method public int getType(); |
| 133 | field public static final int TYPE_AID = 0; // 0x0 |
| 134 | field public static final int TYPE_PROTOCOL = 1; // 0x1 |
| 135 | field public static final int TYPE_SYSTEM_CODE = 3; // 0x3 |
| 136 | field public static final int TYPE_TECHNOLOGY = 2; // 0x2 |
ziyiw | eaa6094 | 2024-10-07 21:48:18 +0000 | [diff] [blame] | 137 | } |
| 138 | |
ziyiw | f957e50 | 2024-10-25 22:05:39 +0000 | [diff] [blame] | 139 | @FlaggedApi("android.nfc.nfc_oem_extension") public final class OemLogItems implements android.os.Parcelable { |
| 140 | method public int describeContents(); |
| 141 | method public int getAction(); |
| 142 | method public int getCallingPid(); |
| 143 | method @Nullable public byte[] getCommandApdu(); |
| 144 | method public int getEvent(); |
| 145 | method @Nullable public byte[] getResponseApdu(); |
| 146 | method @Nullable public java.time.Instant getRfFieldEventTimeMillis(); |
| 147 | method @Nullable public android.nfc.Tag getTag(); |
| 148 | method public void writeToParcel(@NonNull android.os.Parcel, int); |
| 149 | field @NonNull public static final android.os.Parcelable.Creator<android.nfc.OemLogItems> CREATOR; |
| 150 | field public static final int EVENT_DISABLE = 2; // 0x2 |
| 151 | field public static final int EVENT_ENABLE = 1; // 0x1 |
| 152 | field public static final int EVENT_UNSET = 0; // 0x0 |
| 153 | field public static final int LOG_ACTION_HCE_DATA = 516; // 0x204 |
| 154 | field public static final int LOG_ACTION_NFC_TOGGLE = 513; // 0x201 |
| 155 | field public static final int LOG_ACTION_RF_FIELD_STATE_CHANGED = 1; // 0x1 |
| 156 | field public static final int LOG_ACTION_SCREEN_STATE_CHANGED = 518; // 0x206 |
| 157 | field public static final int LOG_ACTION_TAG_DETECTED = 3; // 0x3 |
| 158 | } |
| 159 | |
ziyiw | b8651d7 | 2024-08-19 23:30:10 +0000 | [diff] [blame] | 160 | @FlaggedApi("android.nfc.nfc_oem_extension") public class RoutingStatus { |
| 161 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int getDefaultIsoDepRoute(); |
| 162 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int getDefaultOffHostRoute(); |
| 163 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int getDefaultRoute(); |
| 164 | } |
| 165 | |
ziyiw | eaa6094 | 2024-10-07 21:48:18 +0000 | [diff] [blame] | 166 | @FlaggedApi("android.nfc.nfc_oem_extension") public class RoutingTableAidEntry extends android.nfc.NfcRoutingTableEntry { |
| 167 | method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull public String getAid(); |
| 168 | } |
| 169 | |
| 170 | @FlaggedApi("android.nfc.nfc_oem_extension") public class RoutingTableProtocolEntry extends android.nfc.NfcRoutingTableEntry { |
| 171 | method @FlaggedApi("android.nfc.nfc_oem_extension") public int getProtocol(); |
| 172 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int PROTOCOL_ISO_DEP = 4; // 0x4 |
| 173 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int PROTOCOL_NDEF = 7; // 0x7 |
| 174 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int PROTOCOL_NFC_DEP = 5; // 0x5 |
| 175 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int PROTOCOL_T1T = 1; // 0x1 |
| 176 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int PROTOCOL_T2T = 2; // 0x2 |
| 177 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int PROTOCOL_T3T = 3; // 0x3 |
| 178 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int PROTOCOL_T5T = 6; // 0x6 |
| 179 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int PROTOCOL_UNDETERMINED = 0; // 0x0 |
| 180 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int PROTOCOL_UNSUPPORTED = -1; // 0xffffffff |
| 181 | } |
| 182 | |
| 183 | @FlaggedApi("android.nfc.nfc_oem_extension") public class RoutingTableSystemCodeEntry extends android.nfc.NfcRoutingTableEntry { |
| 184 | method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull public byte[] getSystemCode(); |
| 185 | } |
| 186 | |
| 187 | @FlaggedApi("android.nfc.nfc_oem_extension") public class RoutingTableTechnologyEntry extends android.nfc.NfcRoutingTableEntry { |
| 188 | method @FlaggedApi("android.nfc.nfc_oem_extension") public int getTechnology(); |
| 189 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int TECHNOLOGY_A = 0; // 0x0 |
| 190 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int TECHNOLOGY_B = 1; // 0x1 |
| 191 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int TECHNOLOGY_F = 2; // 0x2 |
| 192 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int TECHNOLOGY_UNSUPPORTED = -1; // 0xffffffff |
| 193 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int TECHNOLOGY_V = 3; // 0x3 |
| 194 | } |
| 195 | |
Roshan Pius | babbde8 | 2024-11-20 15:19:00 +0000 | [diff] [blame] | 196 | @FlaggedApi("android.nfc.nfc_oem_extension") public final class T4tNdefNfcee { |
| 197 | method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) @WorkerThread public int clearData(); |
| 198 | method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isOperationOngoing(); |
| 199 | method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isSupported(); |
| 200 | method @Nullable @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) @WorkerThread public android.nfc.T4tNdefNfceeCcFileInfo readCcfile(); |
| 201 | method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) @WorkerThread public byte[] readData(@IntRange(from=0, to=65535) int); |
| 202 | method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) @WorkerThread public int writeData(@IntRange(from=0, to=65535) int, @NonNull byte[]); |
suryaprakash.konduru | bc70b85 | 2024-12-06 14:17:58 +0530 | [diff] [blame] | 203 | field public static final int CLEAR_DATA_FAILED_DEVICE_BUSY = -1; // 0xffffffff |
Roshan Pius | babbde8 | 2024-11-20 15:19:00 +0000 | [diff] [blame] | 204 | field public static final int CLEAR_DATA_FAILED_INTERNAL = 0; // 0x0 |
| 205 | field public static final int CLEAR_DATA_SUCCESS = 1; // 0x1 |
| 206 | field public static final int WRITE_DATA_ERROR_CONNECTION_FAILED = -6; // 0xfffffffa |
suryaprakash.konduru | bc70b85 | 2024-12-06 14:17:58 +0530 | [diff] [blame] | 207 | field public static final int WRITE_DATA_ERROR_DEVICE_BUSY = -9; // 0xfffffff7 |
Roshan Pius | babbde8 | 2024-11-20 15:19:00 +0000 | [diff] [blame] | 208 | field public static final int WRITE_DATA_ERROR_EMPTY_PAYLOAD = -7; // 0xfffffff9 |
| 209 | field public static final int WRITE_DATA_ERROR_INTERNAL = -1; // 0xffffffff |
| 210 | field public static final int WRITE_DATA_ERROR_INVALID_FILE_ID = -4; // 0xfffffffc |
| 211 | field public static final int WRITE_DATA_ERROR_INVALID_LENGTH = -5; // 0xfffffffb |
| 212 | field public static final int WRITE_DATA_ERROR_NDEF_VALIDATION_FAILED = -8; // 0xfffffff8 |
| 213 | field public static final int WRITE_DATA_ERROR_NFC_NOT_ON = -3; // 0xfffffffd |
| 214 | field public static final int WRITE_DATA_ERROR_RF_ACTIVATED = -2; // 0xfffffffe |
| 215 | field public static final int WRITE_DATA_SUCCESS = 0; // 0x0 |
| 216 | } |
| 217 | |
| 218 | @FlaggedApi("android.nfc.nfc_oem_extension") public final class T4tNdefNfceeCcFileInfo implements android.os.Parcelable { |
| 219 | method public int describeContents(); |
| 220 | method @IntRange(from=15, to=32767) public int getCcFileLength(); |
| 221 | method @IntRange(from=0xffffffff, to=65535) public int getFileId(); |
Roshan Pius | babbde8 | 2024-11-20 15:19:00 +0000 | [diff] [blame] | 222 | method @IntRange(from=5, to=32767) public int getMaxSize(); |
Roshan Pius | babbde8 | 2024-11-20 15:19:00 +0000 | [diff] [blame] | 223 | method public int getVersion(); |
suryaprakash.konduru | bc70b85 | 2024-12-06 14:17:58 +0530 | [diff] [blame] | 224 | method public boolean isReadAllowed(); |
| 225 | method public boolean isWriteAllowed(); |
Roshan Pius | babbde8 | 2024-11-20 15:19:00 +0000 | [diff] [blame] | 226 | method public void writeToParcel(@NonNull android.os.Parcel, int); |
| 227 | field @NonNull public static final android.os.Parcelable.Creator<android.nfc.T4tNdefNfceeCcFileInfo> CREATOR; |
Roshan Pius | babbde8 | 2024-11-20 15:19:00 +0000 | [diff] [blame] | 228 | field public static final int VERSION_2_0 = 32; // 0x20 |
| 229 | field public static final int VERSION_3_0 = 48; // 0x30 |
Roshan Pius | babbde8 | 2024-11-20 15:19:00 +0000 | [diff] [blame] | 230 | } |
| 231 | |
Roshan Pius | 467a55f | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 232 | } |
| 233 | |
| 234 | package android.nfc.cardemulation { |
| 235 | |
| 236 | public final class CardEmulation { |
James Willcox | 7a57a3b | 2024-01-19 22:51:25 +0000 | [diff] [blame] | 237 | 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); |
Roshan Pius | 467a55f | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 238 | method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public java.util.List<android.nfc.cardemulation.ApduServiceInfo> getServices(@NonNull String, int); |
Roshan Pius | b8082c0 | 2024-11-08 11:44:31 -0800 | [diff] [blame] | 239 | 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); |
| 240 | method @FlaggedApi("android.nfc.nfc_override_recover_routing_table") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void recoverRoutingTable(@NonNull android.app.Activity); |
| 241 | method @FlaggedApi("android.nfc.enable_card_emulation_euicc") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int setDefaultNfcSubscriptionId(int); |
ziyiw | 338b8af | 2024-10-09 18:46:32 +0000 | [diff] [blame] | 242 | 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); |
| 243 | field @FlaggedApi("android.nfc.nfc_set_service_enabled_for_category_other") public static final int SET_SERVICE_ENABLED_STATUS_FAILURE_ALREADY_SET = 3; // 0x3 |
| 244 | field @FlaggedApi("android.nfc.nfc_set_service_enabled_for_category_other") public static final int SET_SERVICE_ENABLED_STATUS_FAILURE_FEATURE_UNSUPPORTED = 1; // 0x1 |
| 245 | field @FlaggedApi("android.nfc.nfc_set_service_enabled_for_category_other") public static final int SET_SERVICE_ENABLED_STATUS_FAILURE_INVALID_SERVICE = 2; // 0x2 |
| 246 | field @FlaggedApi("android.nfc.nfc_set_service_enabled_for_category_other") public static final int SET_SERVICE_ENABLED_STATUS_FAILURE_UNKNOWN_ERROR = 4; // 0x4 |
| 247 | field @FlaggedApi("android.nfc.nfc_set_service_enabled_for_category_other") public static final int SET_SERVICE_ENABLED_STATUS_OK = 0; // 0x0 |
Roshan Pius | b8082c0 | 2024-11-08 11:44:31 -0800 | [diff] [blame] | 248 | field @FlaggedApi("android.nfc.enable_card_emulation_euicc") public static final int SET_SUBSCRIPTION_ID_STATUS_FAILED_INTERNAL_ERROR = 2; // 0x2 |
| 249 | field @FlaggedApi("android.nfc.enable_card_emulation_euicc") public static final int SET_SUBSCRIPTION_ID_STATUS_FAILED_INVALID_SUBSCRIPTION_ID = 1; // 0x1 |
| 250 | field @FlaggedApi("android.nfc.enable_card_emulation_euicc") public static final int SET_SUBSCRIPTION_ID_STATUS_FAILED_NOT_SUPPORTED = 3; // 0x3 |
| 251 | field @FlaggedApi("android.nfc.enable_card_emulation_euicc") public static final int SET_SUBSCRIPTION_ID_STATUS_SUCCESS = 0; // 0x0 |
ziyiw | d8e58c9 | 2024-12-02 23:41:47 +0000 | [diff] [blame] | 252 | field @FlaggedApi("android.nfc.enable_card_emulation_euicc") public static final int SET_SUBSCRIPTION_ID_STATUS_UNKNOWN = -1; // 0xffffffff |
Roshan Pius | 467a55f | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 253 | } |
| 254 | |
| 255 | } |
| 256 | |