Remove support for unused Presence Check Algorithms
Remove support for NFA_RW_PRES_CHK_RB_CH0, NFA_RW_PRES_CHK_RB_CH3
and NFA_RW_PRES_CHK_RESET.
Also corrects the value of RW_T4T_CHK_EMPTY_I_BLOCK.
Test: Boots; Nfc enable/disable, read tag
Merged-In: Id44c82a69574be264946d78485ba71ed8052fb14
Change-Id: Id44c82a69574be264946d78485ba71ed8052fb14
diff --git a/src/nfa/include/nfa_rw_api.h b/src/nfa/include/nfa_rw_api.h
index c47ae62..ee9bec7 100644
--- a/src/nfa/include/nfa_rw_api.h
+++ b/src/nfa/include/nfa_rw_api.h
@@ -31,12 +31,9 @@
** Constants and data types
*****************************************************************************/
enum {
- NFA_RW_PRES_CHK_DEFAULT, /* The default behavior */
- NFA_RW_PRES_CHK_I_BLOCK, /* Empty I Block */
- NFA_RW_PRES_CHK_RESET, /* Deactivate to Sleep; Re-activate */
- NFA_RW_PRES_CHK_RB_CH0, /* ReadBinary on Channel 0 */
- NFA_RW_PRES_CHK_RB_CH3, /* ReadBinary on Channel 3 */
- NFA_RW_PRES_CHK_ISO_DEP_NAK /* presence check command ISO-DEP
+ NFA_RW_PRES_CHK_DEFAULT, /* The default behavior */
+ NFA_RW_PRES_CHK_I_BLOCK, /* Empty I Block */
+ NFA_RW_PRES_CHK_ISO_DEP_NAK = 5 /* presence check command ISO-DEP
NAK as per NCI2.0 */
};
typedef uint8_t tNFA_RW_PRES_CHK_OPTION;
diff --git a/src/nfa/rw/nfa_rw_act.cc b/src/nfa/rw/nfa_rw_act.cc
index f1d7505..e7f29dd 100644
--- a/src/nfa/rw/nfa_rw_act.cc
+++ b/src/nfa/rw/nfa_rw_act.cc
@@ -1743,48 +1743,14 @@
option = RW_T4T_CHK_EMPTY_I_BLOCK;
break;
- case NFA_RW_PRES_CHK_RESET:
- /* option is initialized to NFA_RW_OPTION_INVALID, which will Deactivate
- * to Sleep; Re-activate */
- break;
-
- case NFA_RW_PRES_CHK_RB_CH0:
- option = RW_T4T_CHK_READ_BINARY_CH0;
- break;
-
- case NFA_RW_PRES_CHK_RB_CH3:
- option = RW_T4T_CHK_READ_BINARY_CH3;
- break;
-
case NFA_RW_PRES_CHK_ISO_DEP_NAK:
if (NFC_GetNCIVersion() == NCI_VERSION_2_0) {
option = RW_T4T_CHK_ISO_DEP_NAK_PRES_CHK;
}
break;
default:
- if (nfa_rw_cb.flags & NFA_RW_FL_NDEF_OK) {
- /* read binary on channel 0 */
- option = RW_T4T_CHK_READ_BINARY_CH0;
- } else {
- /* NDEF DETECT failed.*/
- if (nfa_dm_is_raw_frame_session()) {
- /* NFA_SendRawFrame() is called */
- if (p_nfa_dm_cfg->presence_check_option &
- NFA_DM_PCO_EMPTY_I_BLOCK) {
- /* empty I block */
- option = RW_T4T_CHK_EMPTY_I_BLOCK;
- } else {
- /* read binary on channel 3 */
- option = RW_T4T_CHK_READ_BINARY_CH3;
- }
- } else if (!(p_nfa_dm_cfg->presence_check_option &
- NFA_DM_PCO_ISO_SLEEP_WAKE) &&
- (nfa_rw_cb.intf_type == NFC_INTERFACE_ISO_DEP)) {
- /* the option indicates to use empty I block && ISODEP interface is
- * activated */
- option = RW_T4T_CHK_EMPTY_I_BLOCK;
- }
- }
+ /* empty I block */
+ option = RW_T4T_CHK_EMPTY_I_BLOCK;
}
if (option != NFA_RW_OPTION_INVALID) {
diff --git a/src/nfc/include/rw_api.h b/src/nfc/include/rw_api.h
index cd6d086..edf7e83 100644
--- a/src/nfc/include/rw_api.h
+++ b/src/nfc/include/rw_api.h
@@ -149,9 +149,7 @@
typedef uint8_t tRW_NDEF_FLAG;
/* options for RW_T4tPresenceCheck */
-#define RW_T4T_CHK_READ_BINARY_CH0 0
-#define RW_T4T_CHK_READ_BINARY_CH3 3
-#define RW_T4T_CHK_EMPTY_I_BLOCK 4
+#define RW_T4T_CHK_EMPTY_I_BLOCK 1
#define RW_T4T_CHK_ISO_DEP_NAK_PRES_CHK 5
typedef struct {
diff --git a/src/nfc/tags/rw_t4t.cc b/src/nfc/tags/rw_t4t.cc
index 3256451..fd0bbdf 100644
--- a/src/nfc/tags/rw_t4t.cc
+++ b/src/nfc/tags/rw_t4t.cc
@@ -2107,12 +2107,6 @@
}
} else if (option == RW_T4T_CHK_ISO_DEP_NAK_PRES_CHK) {
if (NFC_ISODEPNakPresCheck() == NFC_STATUS_OK) status = true;
- } else {
- /* use read binary on the given channel */
- rw_cb.tcb.t4t.channel = 0;
- if (option <= RW_T4T_CHK_READ_BINARY_CH3) rw_cb.tcb.t4t.channel = option;
- status = rw_t4t_read_file(0, 1, false);
- rw_cb.tcb.t4t.channel = 0;
}
if (status == true) {