Add T4T Ndef Nfceee feature support
Bug: 339117870
Test: Test read, write, clear, get_t4t_status, isndefsupprted TC's
Change-Id: Id35b39ef0acb29e292ecbfe12cc0fe551e20e9d8
diff --git a/nfc/api/system-current.txt b/nfc/api/system-current.txt
index 15814ed..57a3c6ed1 100644
--- a/nfc/api/system-current.txt
+++ b/nfc/api/system-current.txt
@@ -60,6 +60,7 @@
method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull public java.util.List<java.lang.String> getActiveNfceeList();
method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.nfc.RoutingStatus getRoutingStatus();
method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public java.util.List<android.nfc.NfcRoutingTableEntry> getRoutingTable();
+ method @FlaggedApi("android.nfc.nfc_oem_extension") @NonNull public android.nfc.T4tNdefNfcee getT4tNdefNfcee();
method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean hasUserEnabledNfc();
method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isAutoChangeEnabled();
method @FlaggedApi("android.nfc.nfc_oem_extension") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isTagPresent();
@@ -179,6 +180,47 @@
field @FlaggedApi("android.nfc.nfc_oem_extension") public static final int TECHNOLOGY_V = 3; // 0x3
}
+ @FlaggedApi("android.nfc.nfc_oem_extension") public final class T4tNdefNfcee {
+ method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) @WorkerThread public int clearData();
+ method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isOperationOngoing();
+ method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isSupported();
+ method @Nullable @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) @WorkerThread public android.nfc.T4tNdefNfceeCcFileInfo readCcfile();
+ method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) @WorkerThread public byte[] readData(@IntRange(from=0, to=65535) int);
+ method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) @WorkerThread public int writeData(@IntRange(from=0, to=65535) int, @NonNull byte[]);
+ field public static final int CLEAR_DATA_FAILED_INTERNAL = 0; // 0x0
+ field public static final int CLEAR_DATA_SUCCESS = 1; // 0x1
+ field public static final int WRITE_DATA_ERROR_CONNECTION_FAILED = -6; // 0xfffffffa
+ field public static final int WRITE_DATA_ERROR_EMPTY_PAYLOAD = -7; // 0xfffffff9
+ field public static final int WRITE_DATA_ERROR_INTERNAL = -1; // 0xffffffff
+ field public static final int WRITE_DATA_ERROR_INVALID_FILE_ID = -4; // 0xfffffffc
+ field public static final int WRITE_DATA_ERROR_INVALID_LENGTH = -5; // 0xfffffffb
+ field public static final int WRITE_DATA_ERROR_NDEF_VALIDATION_FAILED = -8; // 0xfffffff8
+ field public static final int WRITE_DATA_ERROR_NFC_NOT_ON = -3; // 0xfffffffd
+ field public static final int WRITE_DATA_ERROR_RF_ACTIVATED = -2; // 0xfffffffe
+ field public static final int WRITE_DATA_SUCCESS = 0; // 0x0
+ }
+
+ @FlaggedApi("android.nfc.nfc_oem_extension") public final class T4tNdefNfceeCcFileInfo implements android.os.Parcelable {
+ method public int describeContents();
+ method @IntRange(from=15, to=32767) public int getCcFileLength();
+ method @IntRange(from=0xffffffff, to=65535) public int getFileId();
+ method @IntRange(from=15, to=65535) public int getMaxReadLength();
+ method @IntRange(from=5, to=32767) public int getMaxSize();
+ method @IntRange(from=13, to=65535) public int getMaxWriteLength();
+ method public int getReadAccess();
+ method public int getVersion();
+ method public int getWriteAccess();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.nfc.T4tNdefNfceeCcFileInfo> CREATOR;
+ field public static final int READ_ACCESS_GRANTED_RESTRICTED = 128; // 0x80
+ field public static final int READ_ACCESS_GRANTED_UNRESTRICTED = 0; // 0x0
+ field public static final int VERSION_2_0 = 32; // 0x20
+ field public static final int VERSION_3_0 = 48; // 0x30
+ field public static final int WRITE_ACCESS_GRANTED_RESTRICTED = 128; // 0x80
+ field public static final int WRITE_ACCESS_GRANTED_UNRESTRICTED = 0; // 0x0
+ field public static final int WRITE_ACCESS_NOT_GRANTED = 255; // 0xff
+ }
+
}
package android.nfc.cardemulation {