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 | cbb1e36 | 2024-05-09 20:22:04 +0000 | [diff] [blame] | 61 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void maybeTriggerFirmwareUpdate(); |
Roshan Pius | a432954 | 2024-03-25 13:01:21 -0700 | [diff] [blame] | 62 | 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 | cbb1e36 | 2024-05-09 20:22:04 +0000 | [diff] [blame] | 63 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void synchronizeScreenState(); |
Roshan Pius | a432954 | 2024-03-25 13:01:21 -0700 | [diff] [blame] | 64 | method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void unregisterCallback(@NonNull android.nfc.NfcOemExtension.Callback); |
ziyiw | 2c96522 | 2024-07-30 18:40:06 +0000 | [diff] [blame] | 65 | field public static final int HCE_ACTIVATE = 1; // 0x1 |
| 66 | field public static final int HCE_DATA_TRANSFERRED = 2; // 0x2 |
| 67 | field public static final int HCE_DEACTIVATE = 3; // 0x3 |
| 68 | field public static final int STATUS_OK = 0; // 0x0 |
| 69 | field public static final int STATUS_UNKNOWN_ERROR = 1; // 0x1 |
Roshan Pius | a432954 | 2024-03-25 13:01:21 -0700 | [diff] [blame] | 70 | } |
| 71 | |
| 72 | public static interface NfcOemExtension.Callback { |
ziyiw | 2c96522 | 2024-07-30 18:40:06 +0000 | [diff] [blame] | 73 | method public void onApplyRouting(@NonNull java.util.function.Consumer<java.lang.Boolean>); |
| 74 | method public void onBootFinished(int); |
| 75 | method public void onBootStarted(); |
suryaprakash.konduru | 033c279 | 2024-06-04 12:31:59 +0530 | [diff] [blame] | 76 | method public void onCardEmulationActivated(boolean); |
ziyiw | 2c96522 | 2024-07-30 18:40:06 +0000 | [diff] [blame] | 77 | method public void onDisable(@NonNull java.util.function.Consumer<java.lang.Boolean>); |
| 78 | method public void onDisableFinished(int); |
| 79 | method public void onDisableStarted(); |
| 80 | method public void onEnable(@NonNull java.util.function.Consumer<java.lang.Boolean>); |
| 81 | method public void onEnableFinished(int); |
| 82 | method public void onEnableStarted(); |
| 83 | method public void onHceEventReceived(int); |
| 84 | method public void onNdefRead(@NonNull java.util.function.Consumer<java.lang.Boolean>); |
Roshan Pius | b41fe36 | 2024-09-04 19:04:50 +0000 | [diff] [blame^] | 85 | method public void onReaderOptionChanged(boolean); |
suryaprakash.konduru | 033c279 | 2024-06-04 12:31:59 +0530 | [diff] [blame] | 86 | method public void onRfDiscoveryStarted(boolean); |
| 87 | method public void onRfFieldActivated(boolean); |
ziyiw | 2c96522 | 2024-07-30 18:40:06 +0000 | [diff] [blame] | 88 | method public void onRoutingChanged(); |
| 89 | method public void onStateUpdated(int); |
Roshan Pius | a432954 | 2024-03-25 13:01:21 -0700 | [diff] [blame] | 90 | method public void onTagConnected(boolean, @NonNull android.nfc.Tag); |
ziyiw | 2c96522 | 2024-07-30 18:40:06 +0000 | [diff] [blame] | 91 | method public void onTagDispatch(@NonNull java.util.function.Consumer<java.lang.Boolean>); |
Roshan Pius | a432954 | 2024-03-25 13:01:21 -0700 | [diff] [blame] | 92 | } |
| 93 | |
Roshan Pius | 467a55f | 2023-11-13 14:29:09 -0800 | [diff] [blame] | 94 | } |
| 95 | |
| 96 | package android.nfc.cardemulation { |
| 97 | |
| 98 | public final class CardEmulation { |
James Willcox | 7a57a3b | 2024-01-19 22:51:25 +0000 | [diff] [blame] | 99 | 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] | 100 | 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] | 101 | 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] | 102 | 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] | 103 | } |
| 104 | |
| 105 | } |
| 106 | |