@@ -18,6 +18,7 @@ public enum TaskCancelRReason {
18
18
}
19
19
public TaskCancelRReason taskCancelReason ;
20
20
public String accessResult ;
21
+ public String accessTagEpc ;
21
22
Handler mHandler = new Handler ();
22
23
Runnable updateRunnable = null ;
23
24
@@ -46,6 +47,7 @@ public enum TaskCancelRReason {
46
47
47
48
boolean gotInventory ;
48
49
int batteryCountInventory_old ;
50
+ boolean bSkipClearFilter = false ;
49
51
50
52
public AccessTask (Button button , boolean invalidRequest ,
51
53
String selectMask , int selectBank , int selectOffset ,
@@ -73,9 +75,8 @@ public AccessTask(Button button, boolean invalidRequest,
73
75
public AccessTask (Button button , TextView textViewWriteCount , boolean invalidRequest ,
74
76
String selectMask , int selectBank , int selectOffset ,
75
77
String strPassword , int powerLevel , Cs108Library4A .HostCommands hostCommand ,
76
- int qValue , int repeat , boolean resetCount ,
77
- TextView registerRunTime , TextView registerTagGot , TextView registerVoltageLevel ,
78
- TextView registerYieldView , TextView registerTotalView ) {
78
+ int qValue , int repeat , boolean resetCount , boolean bSkipClearFilter ,
79
+ TextView registerRunTime , TextView registerTagGot , TextView registerVoltageLevel , TextView registerYieldView , TextView registerTotalView ) {
79
80
this .button = button ;
80
81
this .registerTotal = textViewWriteCount ;
81
82
this .registerRunTime = registerRunTime ;
@@ -94,6 +95,7 @@ public AccessTask(Button button, TextView textViewWriteCount, boolean invalidReq
94
95
this .qValue = qValue ;
95
96
if (repeat > 255 ) repeat = 255 ;
96
97
this .repeat = repeat ;
98
+ this .bSkipClearFilter = bSkipClearFilter ;
97
99
if (resetCount ) {
98
100
total = 0 ;
99
101
tagList .clear ();
@@ -105,7 +107,7 @@ public void setRunnable(Runnable updateRunnable) {
105
107
}
106
108
107
109
void preExecute () {
108
- accessResult = null ;
110
+ accessResult = null ; MainActivity . csLibrary4A . appendToLog ( "accessResult is set null" );
109
111
playerO = MainActivity .sharedObjects .playerO ;
110
112
playerN = MainActivity .sharedObjects .playerN ;
111
113
//playerN.start();
@@ -149,14 +151,21 @@ else if (hostCommand == Cs108Library4A.HostCommands.CMD_18K6CKILL) {
149
151
invalidRequest = true ; MainActivity .csLibrary4A .appendToLog ("setAccessRetry is failed" );
150
152
}
151
153
}
154
+ MainActivity .csLibrary4A .appendToLog ("setSelectCriteria: invalidRequest = " + invalidRequest + ", repeat = " + repeat + ", bSkipClearFilter = " + bSkipClearFilter + ", powerLevel = " + powerLevel + ", skipSelect = " + skipSelect );
152
155
if (invalidRequest == false ) {
153
156
if (DEBUG ) MainActivity .csLibrary4A .appendToLog ("AccessTask(): powerLevel = " + powerLevel );
154
157
int matchRep = 1 ;
155
158
if (repeat > 1 ) matchRep = repeat ;
159
+ if (bSkipClearFilter == false ) {
160
+ MainActivity .csLibrary4A .appendToLog ("Going to setSelectCriteria disable" );
161
+ MainActivity .csLibrary4A .setSelectCriteriaDisable (-1 );
162
+ }
156
163
if (powerLevel < 0 || powerLevel > 330 ) invalidRequest = true ;
157
- else if (skipSelect ) { }
158
- else if (MainActivity .csLibrary4A .setSelectedTag (selectMask , selectBank , selectOffset , powerLevel , qValue , matchRep ) == false ) {
159
- invalidRequest = true ; MainActivity .csLibrary4A .appendToLog ("setSelectedTag is failed with selectMask = " + selectMask + ", selectBank = " + selectBank + ", selectOffset = " + selectOffset + ", powerLevel = " + powerLevel );
164
+ else if (skipSelect == false ) {
165
+ MainActivity .csLibrary4A .appendToLog ("setSelectCriteria: Going to setSelectTag" );
166
+ if (MainActivity .csLibrary4A .setSelectedTag (selectMask , selectBank , selectOffset , powerLevel , qValue , matchRep ) == false ) {
167
+ invalidRequest = true ; MainActivity .csLibrary4A .appendToLog ("setSelectedTag is failed with selectMask = " + selectMask + ", selectBank = " + selectBank + ", selectOffset = " + selectOffset + ", powerLevel = " + powerLevel );
168
+ }
160
169
}
161
170
}
162
171
gotInventory = false ;
@@ -173,10 +182,13 @@ else if (MainActivity.csLibrary4A.setSelectedTag(selectMask, selectBank, selectO
173
182
}
174
183
}
175
184
185
+ boolean accessCompleteReceived = false ;
186
+
176
187
@ Override
177
188
protected String doInBackground (Void ... a ) {
178
189
boolean ending = false ;
179
190
int iTimeOut = 5000 ;
191
+ accessCompleteReceived = false ;
180
192
181
193
while (MainActivity .csLibrary4A .isBleConnected () && isCancelled () == false && ending == false ) {
182
194
int batteryCount = MainActivity .csLibrary4A .getBatteryCount ();
@@ -195,6 +207,7 @@ else if (rx000pkgData != null) {
195
207
if (rx000pkgData .responseType == null ) {
196
208
publishProgress ("null response" );
197
209
} else if (rx000pkgData .responseType == Cs108Library4A .HostCmdResponseTypes .TYPE_18K6C_TAG_ACCESS ) {
210
+ accessCompleteReceived = true ;
198
211
MainActivity .csLibrary4A .appendToLog ("rx000pkgData.dataValues = " + MainActivity .csLibrary4A .byteArrayToString (rx000pkgData .dataValues ));
199
212
if (rx000pkgData .decodedError == null ) {
200
213
if (done == false ) {
@@ -208,6 +221,7 @@ else if (rx000pkgData != null) {
208
221
} else publishProgress (rx000pkgData .decodedError );
209
222
iTimeOut = 1000 ;
210
223
} else if (rx000pkgData .responseType == Cs108Library4A .HostCmdResponseTypes .TYPE_COMMAND_END ) {
224
+ if (hostCommand == Cs108Library4A .HostCommands .CMD_18K6CKILL && accessCompleteReceived == false ) accessResult = "" ;
211
225
MainActivity .csLibrary4A .appendToLog ("BtData: repeat = " + repeat + ", decodedError = " + rx000pkgData .decodedError + ", resultError = " + resultError );
212
226
if (rx000pkgData .decodedError != null ) { endingMessaage = rx000pkgData .decodedError ; ending = true ; }
213
227
else if (repeat > 0 && resultError .length () == 0 ) {
@@ -219,6 +233,7 @@ else if (repeat > 0 && resultError.length() == 0) {
219
233
ending = true ;
220
234
}
221
235
} else if (rx000pkgData .responseType == Cs108Library4A .HostCmdResponseTypes .TYPE_18K6C_INVENTORY ) {
236
+ accessTagEpc = MainActivity .csLibrary4A .byteArrayToString (rx000pkgData .decodedEpc );
222
237
done = false ;
223
238
publishProgress ("TT" , MainActivity .csLibrary4A .byteArrayToString (rx000pkgData .decodedEpc ));
224
239
} else {
0 commit comments