Skip to content

Commit 9ba73f9

Browse files
authored
Merge pull request #47 from cslrfid/develop-eng
Develop eng
2 parents 1827282 + ad69212 commit 9ba73f9

File tree

195 files changed

+24344
-9671
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

195 files changed

+24344
-9671
lines changed

Diff for: app/build.gradle

+12-6
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,24 @@
11
apply plugin: 'com.android.application'
22

33
android {
4-
compileSdkVersion 33
4+
namespace 'com.csl.cs108ademoapp'
5+
buildFeatures {
6+
buildConfig true
7+
}
8+
9+
compileSdk 34
510
defaultConfig {
611
applicationId "com.csl.cs108ademoapp"
7-
minSdkVersion 19
8-
targetSdkVersion 33
9-
versionCode 38
10-
versionName "2.8.22"
12+
minSdk 21
13+
targetSdk 34
14+
versionCode 39
15+
versionName "2.10.2"
1116
}
1217
}
1318

1419
dependencies {
1520
implementation fileTree(include: ['*.jar'], dir: 'libs')
21+
implementation 'com.google.android.material:material:1.11.0'
1622
implementation project(':cs108library4a')
17-
implementation 'com.google.android.material:material:1.9.0'
23+
implementation project(':cslibrary4a')
1824
}
-245 KB
Binary file not shown.
279 KB
Binary file not shown.

Diff for: app/release/cs108ademo-20220811-v2.7.0-app-debug.zip

-2.8 MB
Binary file not shown.
-2.41 MB
Binary file not shown.
-6.48 MB
Binary file not shown.
6.67 MB
Binary file not shown.

Diff for: app/src/main/AndroidManifest.xml

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3-
package="com.csl.cs108ademoapp">
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
43

54
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
65
<uses-permission android:name="android.permission.INTERNET" />
@@ -18,7 +17,7 @@
1817
android:requestLegacyExternalStorage="true"
1918
android:theme="@style/AppTheme">
2019

21-
<service android:name=".CustomIME"
20+
<service android:name="CustomIME"
2221
android:label="@string/app_ime"
2322
android:exported="true"
2423
android:permission="android.permission.BIND_INPUT_METHOD">
@@ -29,7 +28,7 @@
2928
</service>
3029

3130
<activity
32-
android:name=".MainActivity"
31+
android:name="MainActivity"
3332
android:exported="true"
3433
android:screenOrientation="portrait">
3534
<intent-filter>

Diff for: app/src/main/java/com/csl/cs108ademoapp/AccessTask.java

+22-7
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ public enum TaskCancelRReason {
1818
}
1919
public TaskCancelRReason taskCancelReason;
2020
public String accessResult;
21+
public String accessTagEpc;
2122
Handler mHandler = new Handler();
2223
Runnable updateRunnable = null;
2324

@@ -46,6 +47,7 @@ public enum TaskCancelRReason {
4647

4748
boolean gotInventory;
4849
int batteryCountInventory_old;
50+
boolean bSkipClearFilter = false;
4951

5052
public AccessTask(Button button, boolean invalidRequest,
5153
String selectMask, int selectBank, int selectOffset,
@@ -73,9 +75,8 @@ public AccessTask(Button button, boolean invalidRequest,
7375
public AccessTask(Button button, TextView textViewWriteCount, boolean invalidRequest,
7476
String selectMask, int selectBank, int selectOffset,
7577
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) {
7980
this.button = button;
8081
this.registerTotal = textViewWriteCount;
8182
this.registerRunTime = registerRunTime;
@@ -94,6 +95,7 @@ public AccessTask(Button button, TextView textViewWriteCount, boolean invalidReq
9495
this.qValue = qValue;
9596
if (repeat > 255) repeat = 255;
9697
this.repeat = repeat;
98+
this.bSkipClearFilter = bSkipClearFilter;
9799
if (resetCount) {
98100
total = 0;
99101
tagList.clear();
@@ -105,7 +107,7 @@ public void setRunnable(Runnable updateRunnable) {
105107
}
106108

107109
void preExecute() {
108-
accessResult = null;
110+
accessResult = null; MainActivity.csLibrary4A.appendToLog("accessResult is set null");
109111
playerO = MainActivity.sharedObjects.playerO;
110112
playerN = MainActivity.sharedObjects.playerN;
111113
//playerN.start();
@@ -149,14 +151,21 @@ else if (hostCommand == Cs108Library4A.HostCommands.CMD_18K6CKILL) {
149151
invalidRequest = true; MainActivity.csLibrary4A.appendToLog("setAccessRetry is failed");
150152
}
151153
}
154+
MainActivity.csLibrary4A.appendToLog("setSelectCriteria: invalidRequest = " + invalidRequest + ", repeat = " + repeat + ", bSkipClearFilter = " + bSkipClearFilter + ", powerLevel = " + powerLevel + ", skipSelect = " + skipSelect);
152155
if (invalidRequest == false) {
153156
if (DEBUG) MainActivity.csLibrary4A.appendToLog("AccessTask(): powerLevel = " + powerLevel);
154157
int matchRep = 1;
155158
if (repeat > 1) matchRep = repeat;
159+
if (bSkipClearFilter == false) {
160+
MainActivity.csLibrary4A.appendToLog("Going to setSelectCriteria disable");
161+
MainActivity.csLibrary4A.setSelectCriteriaDisable(-1);
162+
}
156163
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+
}
160169
}
161170
}
162171
gotInventory = false;
@@ -173,10 +182,13 @@ else if (MainActivity.csLibrary4A.setSelectedTag(selectMask, selectBank, selectO
173182
}
174183
}
175184

185+
boolean accessCompleteReceived = false;
186+
176187
@Override
177188
protected String doInBackground(Void... a) {
178189
boolean ending = false;
179190
int iTimeOut = 5000;
191+
accessCompleteReceived = false;
180192

181193
while (MainActivity.csLibrary4A.isBleConnected() && isCancelled() == false && ending == false) {
182194
int batteryCount = MainActivity.csLibrary4A.getBatteryCount();
@@ -195,6 +207,7 @@ else if (rx000pkgData != null) {
195207
if (rx000pkgData.responseType == null) {
196208
publishProgress("null response");
197209
} else if (rx000pkgData.responseType == Cs108Library4A.HostCmdResponseTypes.TYPE_18K6C_TAG_ACCESS) {
210+
accessCompleteReceived = true;
198211
MainActivity.csLibrary4A.appendToLog("rx000pkgData.dataValues = " + MainActivity.csLibrary4A.byteArrayToString(rx000pkgData.dataValues));
199212
if (rx000pkgData.decodedError == null) {
200213
if (done == false) {
@@ -208,6 +221,7 @@ else if (rx000pkgData != null) {
208221
} else publishProgress(rx000pkgData.decodedError);
209222
iTimeOut = 1000;
210223
} else if (rx000pkgData.responseType == Cs108Library4A.HostCmdResponseTypes.TYPE_COMMAND_END) {
224+
if (hostCommand == Cs108Library4A.HostCommands.CMD_18K6CKILL && accessCompleteReceived == false) accessResult = "";
211225
MainActivity.csLibrary4A.appendToLog("BtData: repeat = " + repeat + ", decodedError = " + rx000pkgData.decodedError + ", resultError = " + resultError);
212226
if (rx000pkgData.decodedError != null) { endingMessaage = rx000pkgData.decodedError; ending = true; }
213227
else if (repeat > 0 && resultError.length() == 0) {
@@ -219,6 +233,7 @@ else if (repeat > 0 && resultError.length() == 0) {
219233
ending = true;
220234
}
221235
} else if (rx000pkgData.responseType == Cs108Library4A.HostCmdResponseTypes.TYPE_18K6C_INVENTORY) {
236+
accessTagEpc = MainActivity.csLibrary4A.byteArrayToString(rx000pkgData.decodedEpc);
222237
done = false;
223238
publishProgress("TT", MainActivity.csLibrary4A.byteArrayToString(rx000pkgData.decodedEpc));
224239
} else {

Diff for: app/src/main/java/com/csl/cs108ademoapp/AccessTask1.java

+13-4
Original file line numberDiff line numberDiff line change
@@ -144,10 +144,19 @@ else if (isResultReady == false) {
144144
}
145145
public String accessResult;
146146
public String getResult() {
147-
MainActivity.csLibrary4A.appendToLog("HelloA: accessResult=" + accessResult);
148-
if (accessTask == null) return null;
149-
if (accessTask.getStatus() != AsyncTask.Status.FINISHED) return null;
150-
if (button.getText().toString().indexOf("ING") > 0) return null;
147+
MainActivity.csLibrary4A.appendToLog("HelloA: accessResult = " + accessResult);
148+
if (accessTask == null) {
149+
MainActivity.csLibrary4A.appendToLog("accessTask is null");
150+
return null;
151+
}
152+
if (accessTask.getStatus() != AsyncTask.Status.FINISHED) {
153+
MainActivity.csLibrary4A.appendToLog("accessTask.getStatus is not finished");
154+
return null;
155+
}
156+
if (button.getText().toString().indexOf("ING") > 0) {
157+
MainActivity.csLibrary4A.appendToLog("button is still ing");
158+
return null;
159+
}
151160
return accessResult;
152161
}
153162

Diff for: app/src/main/java/com/csl/cs108ademoapp/CustomIME.java

+7-6
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ public View onCreateInputView() {
2929
super.onCreateInputView();;
3030
mHandler.post(serviceRunnable);
3131
KeyboardView keyboardView = null;
32-
if (false) {
32+
if (true) {
3333
keyboardView = (KeyboardView) getLayoutInflater().inflate(R.layout.keyboard_view, null);
34-
Keyboard keyboard = new Keyboard(this, R.xml.number_pad);
34+
Keyboard keyboard = new Keyboard(this, R.xml.number_pad1);
3535
keyboardView.setKeyboard(keyboard);
3636
//keyboardView.setOnKeyboardActionListener(this);
3737
}
@@ -51,8 +51,9 @@ public void onDestroy() {
5151
@Override
5252
public void run() {
5353
String strCurrentIME = Settings.Secure.getString(getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
54-
appendToLog("CustomIME Debug 0 with " + strCurrentIME);
55-
if (strCurrentIME.contains("com.csl.cs108ademoapp") == false) return;
54+
String strCompare = getPackageName();
55+
appendToLog("CustomIME Debug 0 with strCurrentIME = " + strCurrentIME + ", strCompare = " + strCompare);
56+
if (strCurrentIME.contains(strCompare) == false) return;
5657

5758
mHandler.postDelayed(serviceRunnable, 1000);
5859
if (MainActivity.sharedObjects == null) return;
@@ -86,8 +87,8 @@ public void run() {
8687
if (matched == false && strEpc != null) {
8788
epcArrayList.add(strEpc);
8889
InputConnection ic = getCurrentInputConnection();
89-
strEpc = (MainActivity.wedgePrefix != null ? MainActivity.wedgePrefix : "") + strEpc
90-
+ (MainActivity.wedgeSuffix != null ? MainActivity.wedgeSuffix : "");
90+
if (MainActivity.wedgePrefix != null) strEpc = MainActivity.wedgePrefix + strEpc;
91+
if (MainActivity.wedgeSuffix != null) strEpc += MainActivity.wedgeSuffix;
9192
switch (MainActivity.wedgeDelimiter) {
9293
default:
9394
strEpc += "\n";

Diff for: app/src/main/java/com/csl/cs108ademoapp/CustomPopupWindow.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ public void popupStart(String message, boolean wait) {
2525
popupWindow = new PopupWindow(popupView, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
2626
popupWindow.showAtLocation(popupView, Gravity.CENTER, 0, 0);
2727
TextView textViewDismiss = (TextView)popupView.findViewById(R.id.dismissMessage);
28-
int iLenghtMax = 300;
29-
if (message.length() > iLenghtMax) message = message.substring(0, iLenghtMax) + " .....";
28+
//int iLenghtMax = 300;
29+
//if (message.length() > iLenghtMax) message = message.substring(0, iLenghtMax) + " .....";
3030
csLibrary4A.appendToLog("SaveList2ExternalTask: popupStart message = " + message);
3131
textViewDismiss.setText(message);
3232
Button btnDismiss = (Button)popupView.findViewById(R.id.dismiss);

Diff for: app/src/main/java/com/csl/cs108ademoapp/DrawerListContent.java

+38-35
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,15 @@ public enum DrawerPositions {
2222
SETTING, FILTER, READWRITE, SECURITY,
2323

2424
IMPINVENTORY, IMP775, IMPAUTOTUNE,
25+
ALIEN,
2526
UCODE8, UCODEDNA,
2627
BAPCARD, COLDCHAIN, AURASENSE,
28+
KILOWAY,
29+
LONGJING,
2730
AXZON, RFMICRON,
2831
FDMICRO,
2932
CTESIUS,
30-
ASYGNTAG, LEDTAG,
33+
ASYGNTAG,
3134

3235
REGISTER, READWRITEUSER, WEDGE, DIRECTWEDGE, SIMINVENTORY,
3336
BLANK;
@@ -46,22 +49,24 @@ public static DrawerPositions toDrawerPosition(int x) {
4649
case 9: return SECURITY;
4750

4851
case 10: return IMPINVENTORY;
49-
case 11: return UCODE8;
50-
case 12: return UCODEDNA;
51-
case 13: return BAPCARD;
52-
case 14: return COLDCHAIN;
53-
case 15: return AURASENSE;
54-
case 16: return AXZON;
52+
case 11: return ALIEN;
53+
case 12: return UCODE8;
54+
case 13: return UCODEDNA;
55+
case 14: return BAPCARD;
56+
case 15: return COLDCHAIN;
57+
case 16: return AURASENSE;
58+
case 17: return KILOWAY;
59+
case 18: return LONGJING;
60+
case 19: return AXZON;
5561
//case 15: return RFMICRON;
56-
case 17: return FDMICRO;
57-
case 18: return CTESIUS;
58-
case 19: return ASYGNTAG;
59-
case 20: return LEDTAG;
60-
61-
case 21: return REGISTER;
62-
case 22: return READWRITEUSER;
63-
case 23: return WEDGE;
64-
case 24: return DIRECTWEDGE;
62+
case 20: return FDMICRO;
63+
case 21: return CTESIUS;
64+
case 22: return ASYGNTAG;
65+
66+
case 23: return REGISTER;
67+
case 24: return READWRITEUSER;
68+
case 25: return WEDGE;
69+
case 26: return DIRECTWEDGE;
6570
}
6671
return null;
6772
}
@@ -80,25 +85,23 @@ public static DrawerPositions toDrawerPosition(int x) {
8085
addItem(new DrawerItem("8", "Read/Write", R.drawable.dl_access));
8186
addItem(new DrawerItem("9", "Security", R.drawable.dl_access));
8287

83-
addItem(new DrawerItem("10", "Impinj", R.drawable.dl_loc));
84-
//addItem(new DrawerItem("10", "Impinj M775", R.drawable.dl_loc));
85-
//addItem(new DrawerItem("11", "Impinj Autotune", R.drawable.dl_loc));
86-
addItem(new DrawerItem("11", "NXP UCODE 8", R.drawable.dl_loc));
87-
addItem(new DrawerItem("12", "NXP UCODE DNA", R.drawable.dl_loc));
88-
addItem(new DrawerItem("13", "uEm CS9010 BAP ID Card", R.drawable.dl_loc));
89-
addItem(new DrawerItem("14", "uEm Cold Chain CS8300", R.drawable.dl_loc));
90-
addItem(new DrawerItem("15", "uEm Aura-sense", R.drawable.dl_loc));
91-
addItem(new DrawerItem("16", "Axzon", R.drawable.dl_loc));
92-
//addItem(new DrawerItem("17", "Axzon Magnus", R.drawable.dl_loc));
93-
addItem(new DrawerItem("17", "FM13DT160", R.drawable.dl_loc));
94-
addItem(new DrawerItem("18", "Johar CTESIUS", R.drawable.dl_loc));
95-
addItem(new DrawerItem("19", "Asygn AS321x", R.drawable.dl_loc));
96-
addItem(new DrawerItem("20", "Led Tag", R.drawable.dl_rr));
97-
98-
addItem(new DrawerItem("21", "Register Tag", R.drawable.dl_rr));
99-
addItem(new DrawerItem("22", "Large sized memory read/write", R.drawable.dl_rr));
100-
addItem(new DrawerItem("23", "Wedge", R.drawable.dl_rr));
101-
addItem(new DrawerItem("24", "Direct Wedge", R.drawable.dl_rr));
88+
addItem(new DrawerItem("10", "Impinj Special Features", R.drawable.dl_loc));
89+
addItem(new DrawerItem("11", "Alien", R.drawable.dl_loc));
90+
addItem(new DrawerItem("12", "NXP UCODE 8", R.drawable.dl_loc));
91+
addItem(new DrawerItem("13", "NXP UCODE DNA", R.drawable.dl_loc));
92+
addItem(new DrawerItem("14", "uEm CS9010 BAP ID Card", R.drawable.dl_loc));
93+
addItem(new DrawerItem("15", "uEm Cold Chain CS8300", R.drawable.dl_loc));
94+
addItem(new DrawerItem("16", "uEm Aura-sense", R.drawable.dl_loc));
95+
addItem(new DrawerItem("17", "Kiloway KX2005X-BL", R.drawable.dl_rr));
96+
addItem(new DrawerItem("18", "Axzon", R.drawable.dl_loc));
97+
addItem(new DrawerItem("19", "FM13DT160", R.drawable.dl_loc));
98+
addItem(new DrawerItem("20", "Landa CTESIUS", R.drawable.dl_loc));
99+
addItem(new DrawerItem("21", "Asygn AS321x", R.drawable.dl_loc));
100+
101+
addItem(new DrawerItem("22", "Register Tag", R.drawable.dl_rr));
102+
addItem(new DrawerItem("23", "Large sized memory read/write", R.drawable.dl_rr));
103+
addItem(new DrawerItem("24", "Wedge", R.drawable.dl_rr));
104+
addItem(new DrawerItem("25", "Direct Wedge", R.drawable.dl_rr));
102105
}
103106

104107
private static void addItem(DrawerItem item) {

Diff for: app/src/main/java/com/csl/cs108ademoapp/InventoryBarcodeTask.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import android.widget.Toast;
99

1010
import com.csl.cs108ademoapp.adapters.ReaderListAdapter;
11-
import com.csl.cs108library4a.ReaderDevice;
11+
import com.csl.cslibrary4a.ReaderDevice;
1212

1313
import java.util.ArrayList;
1414

0 commit comments

Comments
 (0)