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(); |
| 14 | method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isTagIntentAppPreferenceSupported(); |
| 15 | 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] | 16 | 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] | 17 | 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] | 18 | 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] | 19 | 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] | 20 | 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] | 21 | 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] | 22 | 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] | 23 | 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] | 24 | 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] | 25 | 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] | 26 | 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] | 27 | 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] | 28 | 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"; |
| 29 | 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] | 30 | 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] | 31 | field @FlaggedApi("android.nfc.nfc_vendor_cmd") public static final int MESSAGE_TYPE_COMMAND = 1; // 0x1 |
| 32 | field @FlaggedApi("android.nfc.nfc_vendor_cmd") public static final int SEND_VENDOR_NCI_STATUS_FAILED = 3; // 0x3 |
| 33 | field @FlaggedApi("android.nfc.nfc_vendor_cmd") public static final int SEND_VENDOR_NCI_STATUS_MESSAGE_CORRUPTED = 2; // 0x2 |
| 34 | field @FlaggedApi("android.nfc.nfc_vendor_cmd") public static final int SEND_VENDOR_NCI_STATUS_REJECTED = 1; // 0x1 |
| 35 | 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] | 36 | field public static final int TAG_INTENT_APP_PREF_RESULT_PACKAGE_NOT_FOUND = -1; // 0xffffffff |
| 37 | field public static final int TAG_INTENT_APP_PREF_RESULT_SUCCESS = 0; // 0x0 |
| 38 | field public static final int TAG_INTENT_APP_PREF_RESULT_UNAVAILABLE = -2; // 0xfffffffe |
| 39 | } |
| 40 | |
| 41 | public static interface NfcAdapter.ControllerAlwaysOnListener { |
| 42 | method public void onControllerAlwaysOnChanged(boolean); |
| 43 | } |
| 44 | |
| 45 | public static interface NfcAdapter.NfcUnlockHandler { |
| 46 | method public boolean onUnlockAttempted(android.nfc.Tag); |
| 47 | } |
| 48 | |
suryaprakash.konduru | ace29c1 | 2023-12-04 23:12:58 +0530 | [diff] [blame] | 49 | @FlaggedApi("android.nfc.nfc_vendor_cmd") public static interface NfcAdapter.NfcVendorNciCallback { |
| 50 | method @FlaggedApi("android.nfc.nfc_vendor_cmd") public void onVendorNciNotification(@IntRange(from=9, to=15) int, int, @NonNull byte[]); |
| 51 | method @FlaggedApi("android.nfc.nfc_vendor_cmd") public void onVendorNciResponse(@IntRange(from=0, to=15) int, int, @NonNull byte[]); |
| 52 | } |
| 53 | |
Roshan Pius | b5ff8cf | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 54 | @FlaggedApi("android.nfc.enable_nfc_charging") public static interface NfcAdapter.WlcStateListener { |
Jack Yu | dc872e0 | 2024-01-09 09:40:40 +0000 | [diff] [blame] | 55 | method public void onWlcStateChanged(@NonNull android.nfc.WlcListenerDeviceInfo); |
Roshan Pius | b5ff8cf | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 56 | } |
| 57 | |
Roshan Pius | a432954 | 2024-03-25 13:01:21 -0700 | [diff] [blame] | 58 | @FlaggedApi("android.nfc.nfc_oem_extension") public final class NfcOemExtension { |
| 59 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void clearPreference(); |
Himanshu Singh Kushwah | 9fa0481 | 2024-06-19 16:46:28 +0530 | [diff] [blame] | 60 | method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull public java.util.List<java.lang.String> getActiveNfceeList(); |
ziyiw | b8651d7 | 2024-08-19 23:30:10 +0000 | [diff] [blame] | 61 | method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.nfc.RoutingStatus getRoutingStatus(); |
ziyiw | aebcc46 | 2024-09-20 20:56:25 +0000 | [diff] [blame] | 62 | 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] | 63 | 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] | 64 | 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] | 65 | 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] | 66 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void overwriteRoutingTable(int, int, int, int); |
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 void pausePolling(int); |
Roshan Pius | a432954 | 2024-03-25 13:01:21 -0700 | [diff] [blame] | 68 | 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); |
ziyiw | aebcc46 | 2024-09-20 20:56:25 +0000 | [diff] [blame] | 69 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void resumePolling(); |
ziyiw | b8651d7 | 2024-08-19 23:30:10 +0000 | [diff] [blame] | 70 | 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] | 71 | 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] | 72 | 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] | 73 | 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] | 74 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void unregisterCallback(@NonNull android.nfc.NfcOemExtension.Callback); |
Roshan Pius | 60d125b | 2024-09-18 14:06:47 +0000 | [diff] [blame] | 75 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int DISABLE = 0; // 0x0 |
| 76 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int ENABLE_DEFAULT = 1; // 0x1 |
| 77 | field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int ENABLE_EE = 3; // 0x3 |
| 78 | 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] | 79 | field public static final int HCE_ACTIVATE = 1; // 0x1 |
| 80 | field public static final int HCE_DATA_TRANSFERRED = 2; // 0x2 |
| 81 | field public static final int HCE_DEACTIVATE = 3; // 0x3 |
| 82 | field public static final int STATUS_OK = 0; // 0x0 |
| 83 | field public static final int STATUS_UNKNOWN_ERROR = 1; // 0x1 |
Roshan Pius | a432954 | 2024-03-25 13:01:21 -0700 | [diff] [blame] | 84 | } |
| 85 | |
| 86 | public static interface NfcOemExtension.Callback { |
ziyiw | 2c96522 | 2024-07-30 18:40:06 +0000 | [diff] [blame] | 87 | method public void onApplyRouting(@NonNull java.util.function.Consumer<java.lang.Boolean>); |
| 88 | method public void onBootFinished(int); |
| 89 | method public void onBootStarted(); |
suryaprakash.konduru | 033c279 | 2024-06-04 12:31:59 +0530 | [diff] [blame] | 90 | method public void onCardEmulationActivated(boolean); |
ziyiw | 2c96522 | 2024-07-30 18:40:06 +0000 | [diff] [blame] | 91 | method public void onDisable(@NonNull java.util.function.Consumer<java.lang.Boolean>); |
| 92 | method public void onDisableFinished(int); |
| 93 | method public void onDisableStarted(); |
| 94 | method public void onEnable(@NonNull java.util.function.Consumer<java.lang.Boolean>); |
| 95 | method public void onEnableFinished(int); |
| 96 | method public void onEnableStarted(); |
ziyiw | 30392b8 | 2024-09-19 16:16:07 +0000 | [diff] [blame] | 97 | 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] | 98 | method public void onHceEventReceived(int); |
ziyiw | 30392b8 | 2024-09-19 16:16:07 +0000 | [diff] [blame] | 99 | method public void onLaunchHceAppChooserActivity(@NonNull String, @NonNull java.util.List<android.nfc.cardemulation.ApduServiceInfo>, @NonNull android.content.ComponentName, @NonNull String); |
| 100 | method public void onLaunchHceTapAgainDialog(@NonNull android.nfc.cardemulation.ApduServiceInfo, @NonNull String); |
| 101 | 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] | 102 | method public void onNdefRead(@NonNull java.util.function.Consumer<java.lang.Boolean>); |
Roshan Pius | b41fe36 | 2024-09-04 19:04:50 +0000 | [diff] [blame] | 103 | method public void onReaderOptionChanged(boolean); |
suryaprakash.konduru | 033c279 | 2024-06-04 12:31:59 +0530 | [diff] [blame] | 104 | method public void onRfDiscoveryStarted(boolean); |
| 105 | method public void onRfFieldActivated(boolean); |
ziyiw | 2c96522 | 2024-07-30 18:40:06 +0000 | [diff] [blame] | 106 | method public void onRoutingChanged(); |
| 107 | method public void onStateUpdated(int); |
Roshan Pius | a8e6836 | 2024-10-31 16:14:24 +0000 | [diff] [blame] | 108 | method public void onTagConnected(boolean); |
ziyiw | 2c96522 | 2024-07-30 18:40:06 +0000 | [diff] [blame] | 109 | method public void onTagDispatch(@NonNull java.util.function.Consumer<java.lang.Boolean>); |
Roshan Pius | a432954 | 2024-03-25 13:01:21 -0700 | [diff] [blame] | 110 | } |
| 111 | |
ziyiw | b8651d7 | 2024-08-19 23:30:10 +0000 | [diff] [blame] | 112 | @FlaggedApi("android.nfc.nfc_oem_extension") public class RoutingStatus { |
| 113 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int getDefaultIsoDepRoute(); |
| 114 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int getDefaultOffHostRoute(); |
| 115 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int getDefaultRoute(); |
| 116 | } |
| 117 | |
Roshan Pius | 467a55f | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 118 | } |
| 119 | |
| 120 | package android.nfc.cardemulation { |
| 121 | |
| 122 | public final class CardEmulation { |
James Willcox | 7a57a3b | 2024-01-19 22:51:25 +0000 | [diff] [blame] | 123 | 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] | 124 | method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public java.util.List<android.nfc.cardemulation.ApduServiceInfo> getServices(@NonNull String, int); |
ziyiw | 2d05ad4 | 2024-08-23 18:18:04 +0000 | [diff] [blame] | 125 | method @FlaggedApi("android.nfc.nfc_override_recover_routing_table") public void overrideRoutingTable(@NonNull android.app.Activity, int, int); |
ziyiw | 3ee3013 | 2024-07-30 21:26:50 +0000 | [diff] [blame] | 126 | method @FlaggedApi("android.nfc.nfc_override_recover_routing_table") public void recoverRoutingTable(@NonNull android.app.Activity); |
Roshan Pius | 467a55f | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 127 | } |
| 128 | |
| 129 | } |
| 130 | |