Skip to content

Commit cbe6c3a

Browse files
authored
Merge pull request #32 from cslrfid/release-2.3.4
Release 2.3.4
2 parents 2a27c07 + 4226dd7 commit cbe6c3a

24 files changed

+646
-203
lines changed

app/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
apply plugin: 'com.android.application'
22

33
android {
4-
compileSdkVersion 30
4+
compileSdkVersion 31
55
defaultConfig {
66
applicationId "com.csl.cs108ademoapp"
77
minSdkVersion 19
8-
targetSdkVersion 30
8+
targetSdkVersion 31
99
versionCode 34
10-
versionName "2.3.0"
10+
versionName "2.3.4"
1111
}
1212
}
1313

Binary file not shown.

app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
<service android:name=".CustomIME"
2020
android:label="@string/app_ime"
21+
android:exported="true"
2122
android:permission="android.permission.BIND_INPUT_METHOD">
2223
<intent-filter>
2324
<action android:name="android.view.InputMethod" />
@@ -27,6 +28,7 @@
2728

2829
<activity
2930
android:name=".MainActivity"
31+
android:exported="true"
3032
android:screenOrientation="portrait">
3133
<intent-filter>
3234
<action android:name="android.intent.action.MAIN" />

app/src/main/java/com/csl/cs108ademoapp/InventoryRfidTask.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,7 @@ else if (strTidCompared.matches("E2806894") && MainActivity.mDid.matches("E28068
425425

426426
double rssiGeiger = rssi;
427427
if (MainActivity.mCs108Library4a.getRssiDisplaySetting() != 0)
428-
rssiGeiger -= 106.98;
428+
rssiGeiger -= MainActivity.mCs108Library4a.dBuV_dBm_constant;
429429
if (geigerTagRssiView != null)
430430
geigerTagRssiView.setText(String.format("%.1f", rssiGeiger));
431431
if (geigerTagGotView != null) geigerTagGotView.setText(strEpc);

app/src/main/java/com/csl/cs108ademoapp/MainActivity.java

Lines changed: 4 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,15 @@
55
import android.content.Intent;
66
import android.content.IntentFilter;
77
import android.net.Uri;
8-
import android.nfc.NdefMessage;
9-
import android.nfc.NfcAdapter;
108
import android.os.Handler;
11-
import android.os.Parcelable;
9+
1210
import androidx.fragment.app.Fragment;
1311
import androidx.fragment.app.FragmentManager;
1412
import androidx.drawerlayout.widget.DrawerLayout;
1513
import android.os.Bundle;
1614
import androidx.appcompat.app.AppCompatActivity;
1715
import android.util.Log;
1816
import android.view.View;
19-
import android.view.inputmethod.InputMethodInfo;
20-
import android.view.inputmethod.InputMethodManager;
2117
import android.widget.AdapterView;
2218
import android.widget.ListView;
2319
import android.widget.TextView;
@@ -29,9 +25,6 @@
2925
import com.csl.cs108library4a.Cs108Library4A;
3026
import com.csl.cs108library4a.ReaderDevice;
3127

32-
import java.io.UnsupportedEncodingException;
33-
import java.util.List;
34-
3528
public class MainActivity extends AppCompatActivity {
3629
final boolean DEBUG = false; final String TAG = "Hello";
3730
public static boolean activityActive = false;
@@ -52,7 +45,6 @@ public class MainActivity extends AppCompatActivity {
5245
public static ReaderDevice tagSelected;
5346
Handler mHandler = new Handler();
5447

55-
public static NfcAdapter nfcAdapter = null;
5648
PendingIntent mPendingIntent;
5749
IntentFilter writeTagFilters[];
5850
String[][] techList;
@@ -85,28 +77,6 @@ protected void onCreate(Bundle savedInstanceState) {
8577
mCs108Library4a = new Cs108Library4A(mContext, mLogView);
8678
mSensorConnector = new SensorConnector(mContext);
8779

88-
InputMethodManager imeManager = (InputMethodManager) getApplicationContext().getSystemService(INPUT_METHOD_SERVICE);
89-
List<InputMethodInfo> lst = imeManager.getInputMethodList();
90-
for (InputMethodInfo info : lst) {
91-
// MainActivity.mCs108Library4a.appendToLog(info.getId() + " " + info.loadLabel(getPackageManager()).toString());
92-
}
93-
// Intent intent = new Intent(MainActivity.this, CustomIME.class);
94-
// startService(intent);
95-
// savedInstanceState = null;
96-
97-
nfcAdapter = NfcAdapter.getDefaultAdapter(this);
98-
if (nfcAdapter == null) MainActivity.mCs108Library4a.appendToLog("onNewIntent !!! This device doesn't support NFC");
99-
else if (nfcAdapter.isEnabled() == false) MainActivity.mCs108Library4a.appendToLog("onNewIntent !!! This device doesn't enable NFC");
100-
else {
101-
readFromIntent(getIntent());
102-
103-
mPendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
104-
IntentFilter tagDetected = new IntentFilter(NfcAdapter.ACTION_TAG_DISCOVERED);
105-
tagDetected.addCategory(Intent.CATEGORY_DEFAULT);
106-
writeTagFilters = new IntentFilter[] { tagDetected };
107-
techList = new String[][]{{android.nfc.tech.Ndef.class.getName()}, {android.nfc.tech.NdefFormatable.class.getName()}};
108-
}
109-
11080
super.onCreate(savedInstanceState);
11181
if (savedInstanceState == null) selectItem(DrawerPositions.MAIN);
11282
Log.i(TAG, "MainActivity.onCreate.onCreate: END");
@@ -128,15 +98,13 @@ protected void onStart() {
12898
@Override
12999
protected void onResume() {
130100
super.onResume();
131-
if (nfcAdapter != null && nfcAdapter.isEnabled()) nfcAdapter.enableForegroundDispatch(this, mPendingIntent, writeTagFilters, techList);
132101
activityActive = true; wedged = false;
133102
if (DEBUG) mCs108Library4a.appendToLog("MainActivity.onResume()");
134103
}
135104

136105
@Override
137106
protected void onPause() {
138107
if (DEBUG) mCs108Library4a.appendToLog("MainActivity.onPause()");
139-
if (nfcAdapter != null) nfcAdapter.disableForegroundDispatch(this);
140108
activityActive = false;
141109
super.onPause();
142110
}
@@ -290,7 +258,9 @@ public void onBackPressed() {
290258
public static boolean permissionRequesting;
291259
@Override
292260
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
293-
MainActivity.mCs108Library4a.appendToLog("onRequestPermissionsResult ====");
261+
MainActivity.mCs108Library4a.appendToLog("permissionRequesting: requestCode = " + requestCode + ", permissions is " + (permissions == null ? "null" : "valid") + ", grantResults is " + (grantResults == null ? "null" : "valid") );
262+
MainActivity.mCs108Library4a.appendToLog("permissionRequesting: permissions[" + permissions.length + "] = " + (permissions != null && permissions.length > 0 ? permissions[0] : ""));
263+
MainActivity.mCs108Library4a.appendToLog("permissionRequesting: grantResults[" + grantResults.length + "] = " + (grantResults != null && grantResults.length > 0 ? grantResults[0] : "") );
294264
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
295265
permissionRequesting = false;
296266
}
@@ -414,58 +384,9 @@ protected void onNewIntent(Intent intent) {
414384
super.onNewIntent(intent);
415385
mCs108Library4a.appendToLog("onNewIntent !!! intent.getAction = " + intent.getAction());
416386
readFromIntent(intent);
417-
// if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) {
418-
// }
419387
}
420388
private void readFromIntent(Intent intent) {
421389
mCs108Library4a.appendToLog("onNewIntent !!! readFromIntent entry");
422390
String action = intent.getAction();
423-
if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(action)
424-
|| NfcAdapter.ACTION_TECH_DISCOVERED.equals(action)
425-
|| NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action)) {
426-
mCs108Library4a.appendToLog("onNewIntent !!! readFromIntent getAction = " + action);
427-
Parcelable[] rawMsgs = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
428-
mCs108Library4a.appendToLog("onNewIntent !!! readFromIntent rawMsgs.length = " + rawMsgs.length);
429-
mCs108Library4a.appendToLog("onNewIntent !!! readFromIntent rawMsgs[0].toString = " + rawMsgs[0].toString());
430-
NdefMessage[] msgs = null;
431-
if (rawMsgs != null) {
432-
msgs = new NdefMessage[rawMsgs.length];
433-
for (int i = 0; i < rawMsgs.length; i++) {
434-
msgs[i] = (NdefMessage) rawMsgs[i];
435-
}
436-
}
437-
buildTagViews(msgs);
438-
}
439-
}
440-
441-
private void buildTagViews(NdefMessage[] msgs) {
442-
if (msgs == null || msgs.length == 0) return;
443-
mCs108Library4a.appendToLog("onNewIntent !!! buildTagViews msgs.length = " + msgs.length + ", msgs[0].getRecords().size = " + msgs[0].getRecords().length);
444-
445-
String text = "";
446-
for (int x = 0; x < msgs.length; x++) {
447-
for (int y = 0; y < msgs[0].getRecords().length; y++) {
448-
mCs108Library4a.appendToLog("onNewIntent !!! buildTagViews msgs[" + x + "][" + y + "].Inf = " + msgs[x].getRecords()[y].getTnf());
449-
mCs108Library4a.appendToLog("onNewIntent !!! buildTagViews msgs[" + x + "][" + y + "].Type = " + mCs108Library4a.byteArrayToString(msgs[x].getRecords()[y].getType()));
450-
mCs108Library4a.appendToLog("onNewIntent !!! buildTagViews msgs[" + x + "][" + y + "].Id = " + mCs108Library4a.byteArrayToString(msgs[x].getRecords()[y].getId()));
451-
mCs108Library4a.appendToLog("onNewIntent !!! buildTagViews msgs[" + x + "][" + y + "].Payload = " + mCs108Library4a.byteArrayToString(msgs[x].getRecords()[y].getPayload()));
452-
mCs108Library4a.appendToLog("onNewIntent !!! buildTagViews msgs[" + x + "][" + y + "].Class = " + msgs[x].getRecords()[y].getClass().toString());
453-
}}
454-
455-
byte[] payload = msgs[0].getRecords()[0].getPayload();
456-
mCs108Library4a.appendToLog("onNewIntent !!! buildTagViews payload.length = " + payload.length + ", with payload[0] = " + payload[0]);
457-
mCs108Library4a.appendToLog("onNewIntent !!! buildTagViews payload = " + mCs108Library4a.byteArrayToString(payload));
458-
String textEncoding = ((payload[0] & 128) == 0) ? "UTF-8" : "UTF-16"; // Get the Text Encoding
459-
int languageCodeLength = payload[0] & 0063; // Get the Language Code, e.g. "en"
460-
// String languageCode = new String(payload, 1, languageCodeLength, "US-ASCII");
461-
try {
462-
// Get the Text
463-
text = new String(payload, languageCodeLength + 1, payload.length - languageCodeLength - 1, textEncoding);
464-
mCs108Library4a.appendToLog("onNewIntent !!! buildTagViews text = " + text);
465-
} catch (UnsupportedEncodingException e) {
466-
mCs108Library4a.appendToLog("onNewIntent !!! buildTagViews UnsupportedEncoding" + e.toString());
467-
Log.e("UnsupportedEncoding", e.toString());
468-
}
469-
//tvNFCContent.setText("NFC Content: " + text);
470391
}
471392
}

app/src/main/java/com/csl/cs108ademoapp/SaveList2ExternalTask.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111
import android.os.Environment;
1212
import android.provider.Settings;
1313

14-
import androidx.core.app.ActivityCompat;
15-
1614
import com.csl.cs108library4a.Cs108Library4A;
1715
import com.csl.cs108library4a.ReaderDevice;
1816

@@ -379,8 +377,11 @@ public String save2File(String messageStr, boolean requestPermission) {
379377
if (mContext.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
380378
mCs108Library4a.appendToLog("WRITE_EXTERNAL_STORAGE Permission is required !!!");
381379
writeExtPermission = false;
382-
if (requestPermission) { MainActivity.permissionRequesting = true; requestPermissions((Activity) mContext, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
383-
return null; }
380+
if (requestPermission) {
381+
mCs108Library4a.appendToLog("requestPermissions WRITE_EXTERNAL_STORAGE 1");
382+
MainActivity.permissionRequesting = true; requestPermissions((Activity) mContext, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
383+
return null;
384+
}
384385
} else mCs108Library4a.appendToLog("WRITE_EXTERNAL_STORAGE Permission is GRANTED !!!");
385386
}
386387

app/src/main/java/com/csl/cs108ademoapp/adapters/FilterAdapter.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,11 @@
77

88
import com.csl.cs108ademoapp.fragments.SettingFilterPostFragment;
99
import com.csl.cs108ademoapp.fragments.SettingFilterPreFragment;
10+
import com.csl.cs108ademoapp.fragments.SettingFilterRssiFragment;
1011

1112
public class FilterAdapter extends FragmentStatePagerAdapter {
12-
private final int NO_OF_TABS = 2;
13-
public Fragment fragment0, fragment1;
13+
private final int NO_OF_TABS = 3;
14+
public Fragment fragment0, fragment1, fragment2;
1415

1516
@Override
1617
public Fragment getItem(int position) {
@@ -24,6 +25,10 @@ public Fragment getItem(int position) {
2425
fragment = new SettingFilterPostFragment();
2526
fragment1 = fragment;
2627
break;
28+
case 2:
29+
fragment = new SettingFilterRssiFragment();
30+
fragment2 = fragment;
31+
break;
2732
default:
2833
fragment = null;
2934
break;

app/src/main/java/com/csl/cs108ademoapp/adapters/ReaderListAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public View getView(int position, View convertView, ViewGroup parent) {
8686
rssiTextView.setVisibility(View.VISIBLE);
8787
double rssiValue = reader.getRssi();
8888
if (MainActivity.mCs108Library4a.getRssiDisplaySetting() != 0 && rssiValue > 0)
89-
rssiValue -= 106.98;
89+
rssiValue -= MainActivity.mCs108Library4a.dBuV_dBm_constant;
9090
rssiTextView.setText(String.format("%.1f", rssiValue));
9191
}
9292

app/src/main/java/com/csl/cs108ademoapp/fragments/AccessEm4325PassiveFragment.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,8 @@
55
import android.view.LayoutInflater;
66
import android.view.View;
77
import android.view.ViewGroup;
8-
import android.widget.AdapterView;
9-
import android.widget.ArrayAdapter;
108
import android.widget.Button;
11-
import android.widget.CheckBox;
129
import android.widget.EditText;
13-
import android.widget.LinearLayout;
14-
import android.widget.Spinner;
1510
import android.widget.TextView;
1611
import android.widget.Toast;
1712

app/src/main/java/com/csl/cs108ademoapp/fragments/ConnectionFragment.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,6 @@ public void run() {
167167

168168
private class DeviceScanTask extends AsyncTask<Void, String, String> {
169169
private long timeMillisUpdate = System.currentTimeMillis();
170-
boolean usbDeviceFound = false;
171170
ArrayList<ReaderDevice> readersListOld = new ArrayList<ReaderDevice>();
172171
boolean wait4process = false; boolean scanning = false;
173172

app/src/main/java/com/csl/cs108ademoapp/fragments/InventoryRfidSearchFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
import com.csl.cs108library4a.ReaderDevice;
3232

3333
public class InventoryRfidSearchFragment extends CommonFragment {
34-
final double dBuV_dBm_constant = 106.98;
34+
double dBuV_dBm_constant = MainActivity.mCs108Library4a.dBuV_dBm_constant;
3535
final int labelMin = -90;
3636
final int labelMax = -10;
3737

app/src/main/java/com/csl/cs108ademoapp/fragments/InventoryRfidiMultiFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ public void onItemClick(AdapterView<?> parent, View view, int position, long id)
217217
rfidRunTime = (TextView) getActivity().findViewById(R.id.inventoryRfidRunTime1);
218218
rfidVoltageLevel = (TextView) getActivity().findViewById(R.id.inventoryRfidVoltageLevel1);
219219
TextView rfidFilterOn = (TextView) getActivity().findViewById(R.id.inventoryRfidFilterOn1);
220-
if (mDid != null || (MainActivity.mCs108Library4a.getSelectEnable() == false && MainActivity.mCs108Library4a.getInvMatchEnable() == false))
220+
if (mDid != null || (MainActivity.mCs108Library4a.getSelectEnable() == false && MainActivity.mCs108Library4a.getInvMatchEnable() == false && MainActivity.mCs108Library4a.getRssiFilterEnable() == false))
221221
rfidFilterOn.setVisibility(View.INVISIBLE);
222222

223223
rfidYieldView = (TextView) getActivity().findViewById(R.id.inventoryRfidYield1);

app/src/main/java/com/csl/cs108ademoapp/fragments/SettingAdminFragment.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.csl.cs108ademoapp.fragments;
22

3-
import android.inputmethodservice.Keyboard;
43
import android.os.Bundle;
54
import android.os.Handler;
65
import android.text.InputFilter;

app/src/main/java/com/csl/cs108ademoapp/fragments/SettingFilterFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public class SettingFilterFragment extends CommonFragment {
1818
private ViewPager viewPager;
1919
FilterAdapter mAdapter;
2020

21-
private String[] tabs = {"Pre-filter", "Post-filter"};
21+
private String[] tabs = {"Pre-filter", "Post-filter", "Rssi-filter"};
2222

2323
@Override
2424
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

0 commit comments

Comments
 (0)