v2.0.11 버전

DB Open 후 No close 상태 처리
기타 안정화
This commit is contained in:
ritoseo 2025-10-21 22:39:20 +09:00
parent 1d1d7912a2
commit 37279a6a9a
10 changed files with 119 additions and 32 deletions

View File

@ -20,9 +20,10 @@ android {
defaultConfig { defaultConfig {
applicationId "kr.co.enicom.acs" applicationId "kr.co.enicom.acs"
minSdkVersion 26 minSdkVersion 26
//noinspection ExpiredTargetSdkVersion
targetSdkVersion 30 targetSdkVersion 30
versionCode 207 versionCode 200000011
versionName "2.0.7" versionName "2.0.11"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
ndk.abiFilters 'armeabi-v7a' ndk.abiFilters 'armeabi-v7a'
} }

View File

@ -107,7 +107,7 @@ public class H1Device {
} }
public int executeCommand(byte[] cmd) { public int executeCommand(byte[] cmd) {
Log.d("H1Device", "executeCommand() start"); //Log.d("H1Device", "executeCommand() start");
if (null == this.mDeviceConnection) { if (null == this.mDeviceConnection) {
return ERR_H1DEVICE_ARGUMENT; return ERR_H1DEVICE_ARGUMENT;
} else { } else {
@ -120,7 +120,7 @@ public class H1Device {
return ERR_H1DEVICE_RESPONSE; return ERR_H1DEVICE_RESPONSE;
} else { } else {
this.mDeviceConnection.releaseInterface(this.mInterface); this.mDeviceConnection.releaseInterface(this.mInterface);
Log.d("H1Device", "executeCommand() end"); //Log.d("H1Device", "executeCommand() end");
return 0; return 0;
} }
} }
@ -176,7 +176,7 @@ public class H1Device {
Log.d("H1Device", "receiveResponse() receiveDataLen() failed."); Log.d("H1Device", "receiveResponse() receiveDataLen() failed.");
return false; return false;
} else { } else {
Log.d("H1Device", "receiveResponse() mResDataLength=" + this.mResDataLength); //Log.d("H1Device", "receiveResponse() mResDataLength=" + this.mResDataLength);
if (!this.receiveData()) { if (!this.receiveData()) {
Log.d("H1Device", "receiveResponse() receiveData() 1 failed."); Log.d("H1Device", "receiveResponse() receiveData() 1 failed.");
return false; return false;
@ -224,13 +224,14 @@ public class H1Device {
} else { } else {
this.mResData = ByteBuffer.allocate(this.mResDataLength); this.mResData = ByteBuffer.allocate(this.mResDataLength);
int maxPacketSize = this.mEndpointIn.getMaxPacketSize(); int maxPacketSize = this.mEndpointIn.getMaxPacketSize();
Log.d("H1Device", "receiveData() maxPacketSize=" + maxPacketSize); //Log.d("H1Device", "receiveData() maxPacketSize=" + maxPacketSize);
if (this.mResDataLength <= maxPacketSize) { if (this.mResDataLength <= maxPacketSize) {
byte[] rData = new byte[this.mResDataLength]; byte[] rData = new byte[this.mResDataLength];
if (!this.bulkTransfer(this.mDeviceConnection, this.mEndpointIn, rData, this.mResDataLength, BULK_TIMEOUT)) { if (!this.bulkTransfer(this.mDeviceConnection, this.mEndpointIn, rData, this.mResDataLength, BULK_TIMEOUT)) {
Log.d("H1Device", "receiveData() failed 1."); Log.d("H1Device", "receiveData() failed 1.");
return false; return false;
} else { } else {
Log.d("H1Device", "receiveData() mResDataLength=" + mResDataLength);
this.mResData.put(rData); this.mResData.put(rData);
return true; return true;
} }
@ -247,6 +248,7 @@ public class H1Device {
return false; return false;
} }
//Log.d("H1Device", "receiveData() packetSize=" + packetSize);
this.mResData.put(rData); this.mResData.put(rData);
} }
@ -267,7 +269,7 @@ public class H1Device {
return false; return false;
} else { } else {
this.mResCode = data[0]; this.mResCode = data[0];
Log.d("H1Device", "receiveCode() mResCode=" + this.mResCode); //Log.d("H1Device", "receiveCode() mResCode=" + this.mResCode);
return true; return true;
} }
} }

View File

@ -60,6 +60,7 @@ public class BaseService extends Service {
public static GpioManager mGpioManager = null; public static GpioManager mGpioManager = null;
public static boolean mIsNeedUsbReset = false; public static boolean mIsNeedUsbReset = false;
public static boolean mIsServiceStarted = false; public static boolean mIsServiceStarted = false;
public static boolean mIsServiceReady = false;
// public static RitoUtil mRitoUtil = null; // public static RitoUtil mRitoUtil = null;
// public static ArrayBlockingQueue<Bitmap> mRBitmapFrameQueue = new ArrayBlockingQueue<Bitmap>(1); // public static ArrayBlockingQueue<Bitmap> mRBitmapFrameQueue = new ArrayBlockingQueue<Bitmap>(1);
@ -100,8 +101,13 @@ public class BaseService extends Service {
public void forceStatusOrder(int order) { public void forceStatusOrder(int order) {
synchronized (mLock) { synchronized (mLock) {
if(order == GlobalInfo.DOOR_CONTROL_STATUS_OPEN_LOCK || order == GlobalInfo.DOOR_CONTROL_STATUS_OPEN) {
mCurrentOrder = DOOR_CONTROL_STATUS_CLOSE;
mNextOrder = order; mNextOrder = order;
mCurrentOrder = order; } else {
mNextOrder = order;
mCurrentOrder = DOOR_CONTROL_STATUS_OPEN_LOCK;
}
} }
} }
@ -233,6 +239,21 @@ public class BaseService extends Service {
@Override @Override
public void run() { public void run() {
mIsAlive = true; mIsAlive = true;
if (GlobalInfo.mUseDoorControlTime == 1) {
try {
sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (GlobalInfo.checkIsDoorControlOpenTime()) {
mDoorManager.forceStatusOrder(DOOR_CONTROL_STATUS_OPEN_LOCK);
GlobalInfo.mDoorControlSentLastTime = SystemClock.uptimeMillis();
} else {
mDoorManager.forceStatusOrder(DOOR_CONTROL_STATUS_CLOSE);
}
}
while(mIsAlive) { while(mIsAlive) {
try { try {
sleep(1000); sleep(1000);
@ -311,7 +332,7 @@ public class BaseService extends Service {
long curTime = SystemClock.uptimeMillis(); long curTime = SystemClock.uptimeMillis();
if (GlobalInfo.mDoorControlTimeStatus != 1) { if (GlobalInfo.mDoorControlTimeStatus != 1) {
//mDoorManager.controlDoor(true, -1); //mDoorManager.controlDoor(true, -1);
mDoorManager.queueControlOrder(DOOR_CONTROL_STATUS_OPEN_LOCK); mDoorManager.forceStatusOrder(DOOR_CONTROL_STATUS_OPEN_LOCK);
GlobalInfo.mDoorControlSentLastTime = curTime; GlobalInfo.mDoorControlSentLastTime = curTime;
if (MainActivity.INSTANCE != null) { if (MainActivity.INSTANCE != null) {
MainActivity.INSTANCE.turnToBaseUI(); MainActivity.INSTANCE.turnToBaseUI();
@ -319,7 +340,7 @@ public class BaseService extends Service {
} }
GlobalInfo.mDoorControlTimeStatus = 1; GlobalInfo.mDoorControlTimeStatus = 1;
if(curTime - GlobalInfo.mDoorControlSentLastTime >= 5 * 60 * 1000) { // 5분 주기 OPENLOCK if(curTime - GlobalInfo.mDoorControlSentLastTime >= 5 * 60 * 1000) { // 5분 주기 OPENLOCK
mDoorManager.queueControlOrder(DOOR_CONTROL_STATUS_OPEN_LOCK); mDoorManager.forceStatusOrder(DOOR_CONTROL_STATUS_OPEN_LOCK);
GlobalInfo.mDoorControlSentLastTime = curTime; GlobalInfo.mDoorControlSentLastTime = curTime;
} }
} else { } else {
@ -656,8 +677,8 @@ public class BaseService extends Service {
} }
INSTANCE = this; INSTANCE = this;
mIsServiceReady = true;
return START_NOT_STICKY; return START_NOT_STICKY;
} }

View File

@ -126,6 +126,7 @@ public class GlobalInfo {
public static int DCU_DEVICE_TYPE_NICOM = 0; public static int DCU_DEVICE_TYPE_NICOM = 0;
public static int DCU_DEVICE_TYPE_UNION = 1; public static int DCU_DEVICE_TYPE_UNION = 1;
public static int DOOR_CONTROL_STATUS_NONE = -1;
public static int DOOR_CONTROL_STATUS_OPEN = 0; public static int DOOR_CONTROL_STATUS_OPEN = 0;
public static int DOOR_CONTROL_STATUS_CLOSE = 1; public static int DOOR_CONTROL_STATUS_CLOSE = 1;
public static int DOOR_CONTROL_STATUS_OPEN_LOCK = 2; public static int DOOR_CONTROL_STATUS_OPEN_LOCK = 2;
@ -319,6 +320,8 @@ public class GlobalInfo {
if(count > 0) if(count > 0)
return; return;
} }
cursor.close(); // added by ritoseo - 2025-10-14
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
@ -339,6 +342,8 @@ public class GlobalInfo {
GlobalInfo.mServerAddressSlave = cursor.getString(2); GlobalInfo.mServerAddressSlave = cursor.getString(2);
GlobalInfo.mServerPortSlave = cursor.getInt(3); GlobalInfo.mServerPortSlave = cursor.getInt(3);
} }
cursor.close(); // added by ritoseo - 2025-10-14
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@ -372,6 +377,8 @@ public class GlobalInfo {
cursor.moveToNext(); cursor.moveToNext();
result = true; result = true;
} }
cursor.close(); // added by ritoseo - 2025-10-14
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@ -738,6 +745,8 @@ public class GlobalInfo {
info.mResultCode = cursor.getInt(7); info.mResultCode = cursor.getInt(7);
info.mRfidCode = cursor.getString(8); info.mRfidCode = cursor.getString(8);
} }
cursor.close(); // added by ritoseo - 2025-10-14
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@ -775,9 +784,12 @@ public class GlobalInfo {
if (cursor != null) { if (cursor != null) {
int count = cursor.getCount(); int count = cursor.getCount();
if(count > 0) { if(count > 0) {
cursor.close(); // added by ritoseo - 2025-10-14
_database.close(); _database.close();
return false; return false;
} }
cursor.close(); // added by ritoseo - 2025-10-14
} }
} catch(Exception e) { } catch(Exception e) {
} }
@ -972,7 +984,7 @@ public class GlobalInfo {
try { try {
//Log.w("RITO", "ScanQuery : " + sql ); //Log.w("RITO", "ScanQuery : " + sql );
Cursor cursor = database.rawQuery(sql, null); Cursor cursor = database.rawQuery(sql, null);
if(cursor != null){ if(cursor != null) {
int count = cursor.getCount(); int count = cursor.getCount();
for(int i = 0; i< count ; i++){ for(int i = 0; i< count ; i++){
cursor.moveToNext(); cursor.moveToNext();
@ -1004,9 +1016,13 @@ public class GlobalInfo {
_info.mPermitDate = cursor.getString(19); _info.mPermitDate = cursor.getString(19);
_info.mPermitTime = cursor.getString(20); _info.mPermitTime = cursor.getString(20);
_info.makeSafe(); _info.makeSafe();
cursor.close(); // added by ritoseo - 2025-10-14
database.close(); database.close();
return _info; return _info;
} }
cursor.close(); // added by ritoseo - 2025-10-14
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@ -1042,7 +1058,7 @@ public class GlobalInfo {
String sql = "select id, name, authority, password, rfidcode, veincode, idx, oprno, johapnum, user_reg_date, rfid_reg_date, vein_reg_date, fingercode, finger_reg_date, facecode, face_reg_date, rfidcode2, veincode2, fingercode2, permit_date, permit_time from userinfo"; String sql = "select id, name, authority, password, rfidcode, veincode, idx, oprno, johapnum, user_reg_date, rfid_reg_date, vein_reg_date, fingercode, finger_reg_date, facecode, face_reg_date, rfidcode2, veincode2, fingercode2, permit_date, permit_time from userinfo";
try { try {
Cursor cursor = database.rawQuery(sql, null); Cursor cursor = database.rawQuery(sql, null);
if(cursor != null){ if(cursor != null) {
int count = cursor.getCount(); int count = cursor.getCount();
Log.w(TAG, "User Count : " + count); Log.w(TAG, "User Count : " + count);
@ -1080,6 +1096,8 @@ public class GlobalInfo {
//Log.w(TAG, "User #"+i+" : " + _info.mName); //Log.w(TAG, "User #"+i+" : " + _info.mName);
mUserList.add(_info); mUserList.add(_info);
} }
cursor.close(); // added by ritoseo - 2025-10-14
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@ -1138,7 +1156,7 @@ public class GlobalInfo {
String sql = "select address, port, address_slave, port_slave, update_addr, update_port, update_protocol from serverinfo where idx = 0"; String sql = "select address, port, address_slave, port_slave, update_addr, update_port, update_protocol from serverinfo where idx = 0";
try { try {
Cursor cursor = database.rawQuery(sql, null); Cursor cursor = database.rawQuery(sql, null);
if(cursor != null){ if(cursor != null) {
int count = cursor.getCount(); int count = cursor.getCount();
Log.w(TAG, "ServerInfo Count : " + count); Log.w(TAG, "ServerInfo Count : " + count);
@ -1153,6 +1171,8 @@ public class GlobalInfo {
GlobalInfo.mUpdateServerPort = cursor.getInt(5); GlobalInfo.mUpdateServerPort = cursor.getInt(5);
GlobalInfo.mUpdateProtocol = cursor.getInt(6); GlobalInfo.mUpdateProtocol = cursor.getInt(6);
} }
cursor.close(); // added by ritoseo - 2025-10-14
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@ -1166,7 +1186,7 @@ public class GlobalInfo {
" from settings where idx = 0"; " from settings where idx = 0";
try { try {
Cursor cursor = database.rawQuery(sql, null); Cursor cursor = database.rawQuery(sql, null);
if(cursor != null){ if(cursor != null) {
int count = cursor.getCount(); int count = cursor.getCount();
Log.w(TAG, "settings Count : " + count); Log.w(TAG, "settings Count : " + count);
@ -1216,6 +1236,8 @@ public class GlobalInfo {
Log.w("RITO", "mAutoForgery : " + GlobalInfo.mAutoForgery); Log.w("RITO", "mAutoForgery : " + GlobalInfo.mAutoForgery);
Log.w("RITO", "mAutoMaskWear : " + GlobalInfo.mAutoMaskWear); Log.w("RITO", "mAutoMaskWear : " + GlobalInfo.mAutoMaskWear);
} }
cursor.close(); // added by ritoseo - 2025-10-14
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@ -1575,7 +1597,7 @@ public class GlobalInfo {
Log.w(TAG, "Log Query : " + sql); Log.w(TAG, "Log Query : " + sql);
try { try {
Cursor cursor = _database.rawQuery(sql, null); Cursor cursor = _database.rawQuery(sql, null);
if(cursor != null){ if(cursor != null) {
int count = cursor.getCount(); int count = cursor.getCount();
Log.d(TAG, "Log Count : " + count); Log.d(TAG, "Log Count : " + count);
@ -1606,6 +1628,8 @@ public class GlobalInfo {
logList.add(_info); logList.add(_info);
} }
cursor.close(); // added by ritoseo - 2025-10-14
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@ -1644,7 +1668,7 @@ public class GlobalInfo {
Log.w(TAG, "AdminLog Query : " + sql); Log.w(TAG, "AdminLog Query : " + sql);
try { try {
Cursor cursor = _database.rawQuery(sql, null); Cursor cursor = _database.rawQuery(sql, null);
if(cursor != null){ if(cursor != null) {
int count = cursor.getCount(); int count = cursor.getCount();
Log.d(TAG, "AdminLog Count : " + count); Log.d(TAG, "AdminLog Count : " + count);
@ -1677,6 +1701,8 @@ public class GlobalInfo {
logList.add(_info); logList.add(_info);
} }
cursor.close(); // added by ritoseo - 2025-10-14
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@ -1713,7 +1739,7 @@ public class GlobalInfo {
} }
try { try {
Cursor cursor = _database.rawQuery(sql, null); Cursor cursor = _database.rawQuery(sql, null);
if(cursor != null){ if(cursor != null) {
int count = cursor.getCount(); int count = cursor.getCount();
Log.d(TAG, "Log Count : " + count); Log.d(TAG, "Log Count : " + count);
@ -1735,6 +1761,8 @@ public class GlobalInfo {
_info.mAttendanceCode = cursor.getInt(7); _info.mAttendanceCode = cursor.getInt(7);
logList.add(_info); logList.add(_info);
} }
cursor.close(); // added by ritoseo - 2025-10-14
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@ -1770,7 +1798,7 @@ public class GlobalInfo {
} }
try { try {
Cursor cursor = _database.rawQuery(sql, null); Cursor cursor = _database.rawQuery(sql, null);
if(cursor != null){ if(cursor != null) {
int count = cursor.getCount(); int count = cursor.getCount();
Log.d(TAG, "Log Count : " + count); Log.d(TAG, "Log Count : " + count);
@ -1792,6 +1820,8 @@ public class GlobalInfo {
_info.mAttendanceCode = cursor.getInt(7); _info.mAttendanceCode = cursor.getInt(7);
logList.add(_info); logList.add(_info);
} }
cursor.close(); // added by ritoseo - 2025-10-14
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@ -1830,7 +1860,7 @@ public class GlobalInfo {
Log.w(TAG, "User Query : " + sql); Log.w(TAG, "User Query : " + sql);
try { try {
Cursor cursor = _database.rawQuery(sql, null); Cursor cursor = _database.rawQuery(sql, null);
if(cursor != null){ if(cursor != null) {
int count = cursor.getCount(); int count = cursor.getCount();
Log.d(TAG, "User Count : " + count); Log.d(TAG, "User Count : " + count);
@ -1867,6 +1897,8 @@ public class GlobalInfo {
_info.makeSafe(); _info.makeSafe();
userList.add(_info); userList.add(_info);
} }
cursor.close(); // added by ritoseo - 2025-10-14
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@ -1897,7 +1929,7 @@ public class GlobalInfo {
try { try {
Cursor cursor = _database.rawQuery(sql, null); Cursor cursor = _database.rawQuery(sql, null);
if(cursor != null){ if(cursor != null) {
int count = cursor.getCount(); int count = cursor.getCount();
Log.d(TAG, "User Count : " + count); Log.d(TAG, "User Count : " + count);
@ -1934,6 +1966,8 @@ public class GlobalInfo {
_info.makeSafe(); _info.makeSafe();
userList.add(_info); userList.add(_info);
} }
cursor.close(); // added by ritoseo - 2025-10-14
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@ -2303,6 +2337,8 @@ public class GlobalInfo {
cursor.moveToNext(); cursor.moveToNext();
tableCount = cursor.getInt(0); tableCount = cursor.getInt(0);
} }
cursor.close(); // added by ritoseo - 2025-10-14
} }
} catch (Exception e) { } catch (Exception e) {
@ -2336,6 +2372,8 @@ public class GlobalInfo {
cursor.moveToNext(); cursor.moveToNext();
tableCount = cursor.getInt(0); tableCount = cursor.getInt(0);
} }
cursor.close(); // added by ritoseo - 2025-10-14
} }
} catch (Exception e) { } catch (Exception e) {
@ -2456,7 +2494,7 @@ public class GlobalInfo {
return false; return false;
int currentMinutes = getCurrentMinutesInDay(); int currentMinutes = getCurrentMinutesInDay();
if(currentMinutes >= mDoorControlTimeStart && currentMinutes <= mDoorControlTimeEnd) if(currentMinutes >= mDoorControlTimeStart && currentMinutes < mDoorControlTimeEnd)
return true; return true;
return false; return false;

View File

@ -1743,8 +1743,15 @@ public class MainActivity extends AppCompatActivity implements RfidManager.resul
new Thread("DelayedSetter") { new Thread("DelayedSetter") {
@Override @Override
public void run() { public void run() {
while(!BaseService.mIsServiceReady) {
try { try {
sleep(500); sleep(100);
} catch (Exception e) {
e.printStackTrace();
}
}
try {
sleep(200);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
@ -2077,6 +2084,11 @@ public class MainActivity extends AppCompatActivity implements RfidManager.resul
GlobalInfo.mAttendanceMode = GlobalInfo.ATTENDANCE_MODE_NONE; GlobalInfo.mAttendanceMode = GlobalInfo.ATTENDANCE_MODE_NONE;
} }
if(GlobalInfo.checkIsDoorControlOpenTime()) {
mIsOnRfidVerifyingProcess = false;
return;
}
if(logResult.mId.length() > 0) { if(logResult.mId.length() > 0) {
//Toast.makeText(this,"인증 성공 [" + logResult.mName + "]", Toast.LENGTH_SHORT).show(); //Toast.makeText(this,"인증 성공 [" + logResult.mName + "]", Toast.LENGTH_SHORT).show();

View File

@ -158,6 +158,7 @@ public class RfidManager implements SerialInputOutputManager.Listener {
mSerialThread = new Thread() { mSerialThread = new Thread() {
byte[] accData = new byte[128]; byte[] accData = new byte[128];
int accFilled = 0; int accFilled = 0;
int failedCount = 0;
int PACKET_LENGTH = GlobalInfo.BLE_RFID_CODE_LENGTH + 2; int PACKET_LENGTH = GlobalInfo.BLE_RFID_CODE_LENGTH + 2;
@Override @Override
public void run() { public void run() {
@ -209,20 +210,30 @@ public class RfidManager implements SerialInputOutputManager.Listener {
sleep(50); sleep(50);
} catch (InterruptedException e) { } catch (InterruptedException e) {
} }
if(acmHandle < 0) {
acmHandle = mSerialManager.OpenSerial("/dev/ttyACM0", 115200);
if(acmHandle < 0) {
if(failedCount < 10000) {
failedCount++;
}
Log.e(RfidManager.class.getName(), "Error to open BLE Reader Module[ttyACM0]!");
try {
sleep(500 * failedCount);
} catch (InterruptedException e) {
}
} else {
failedCount = 0;
Log.d(RfidManager.class.getName(), "Success to open BLE Reader Module[ttyACM0] :-)");
}
}
} }
} }
}; };
mSerialThread.start(); mSerialThread.start();
} }
if(acmHandle < 0) {
acmHandle = mSerialManager.OpenSerial("/dev/ttyACM0", 115200);
if(acmHandle < 0) {
Log.e(RfidManager.class.getName(), "Error to open BLE Reader Module[ttyACM0]!");
} else {
Log.d(RfidManager.class.getName(), "Success to open BLE Reader Module[ttyACM0] :-)");
}
}
} }
@Override @Override
@ -254,6 +265,8 @@ public class RfidManager implements SerialInputOutputManager.Listener {
} }
//mNotifyTarget.onRfidResult("success", dataToHexString(data)); //mNotifyTarget.onRfidResult("success", dataToHexString(data));
} }
} else {
Log.w(RfidManager.class.getName(), "There is no NotifyTarget Exist for RFID Reader!");
} }
} }

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.