|
|
@@ -1,6 +1,8 @@
|
|
|
package com.grkj.iscs.view.activity.test.fingerprint
|
|
|
|
|
|
import android.Manifest
|
|
|
+import android.R
|
|
|
+import android.app.AlertDialog
|
|
|
import android.graphics.Bitmap
|
|
|
import android.hardware.usb.UsbDevice
|
|
|
import android.hardware.usb.UsbManager
|
|
|
@@ -46,16 +48,16 @@ class FingerPrintActivity : BaseActivity<ActivityFingerPrintBinding>() {
|
|
|
2048
|
|
|
)
|
|
|
}
|
|
|
-// private val dbManager: DBManager = DBManager()
|
|
|
- private val strUid: String? = null
|
|
|
-// private var dbFileName: String? = null
|
|
|
+ private val dbManager: DBManager = DBManager()
|
|
|
+ private var strUid: String? = null
|
|
|
+ private var dbFileName: String? = null
|
|
|
|
|
|
|
|
|
override val viewBinding: ActivityFingerPrintBinding
|
|
|
get() = ActivityFingerPrintBinding.inflate(layoutInflater)
|
|
|
|
|
|
override fun initView() {
|
|
|
-// dbFileName = filesDir.absolutePath + "/zkfinger10.db"
|
|
|
+ dbFileName = filesDir.absolutePath + "/zkfinger10.db"
|
|
|
checkStoragePermission()
|
|
|
zkusbManager = ZKUSBManager(this.applicationContext, zkusbManagerListener)
|
|
|
zkusbManager?.registerUSBPermissionReceiver()
|
|
|
@@ -73,24 +75,91 @@ class FingerPrintActivity : BaseActivity<ActivityFingerPrintBinding>() {
|
|
|
}
|
|
|
|
|
|
mBinding?.stop?.setOnClickListener {
|
|
|
-
|
|
|
+ if (!bStarted) {
|
|
|
+ mBinding?.txtResult?.setText("Device not connected!")
|
|
|
+ return@setOnClickListener
|
|
|
+ }
|
|
|
+ closeDevice()
|
|
|
+ mBinding?.txtResult?.setText("Device closed!")
|
|
|
}
|
|
|
-
|
|
|
- mBinding?.register?.setOnClickListener {
|
|
|
|
|
|
+ mBinding?.register?.setOnClickListener {
|
|
|
+ if (bStarted) {
|
|
|
+ strUid = mBinding?.editID?.getText().toString()
|
|
|
+ if (null == strUid || strUid.isNullOrEmpty()) {
|
|
|
+ mBinding?.txtResult?.setText("Please input your user id")
|
|
|
+ bRegister = false
|
|
|
+ return@setOnClickListener
|
|
|
+ }
|
|
|
+ if (dbManager.isUserExited(strUid)) {
|
|
|
+ bRegister = false
|
|
|
+ mBinding?.txtResult?.setText("The user[$strUid] had registered!")
|
|
|
+ return@setOnClickListener
|
|
|
+ }
|
|
|
+ bRegister = true
|
|
|
+ enroll_index = 0
|
|
|
+ mBinding?.txtResult?.setText("Please press your finger 3 times.")
|
|
|
+ } else {
|
|
|
+ mBinding?.txtResult?.setText("Please start capture first")
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
- mBinding?.identify?.setOnClickListener {
|
|
|
|
|
|
+ mBinding?.identify?.setOnClickListener {
|
|
|
+ if (bStarted) {
|
|
|
+ bRegister = false
|
|
|
+ enroll_index = 0
|
|
|
+ } else {
|
|
|
+ mBinding?.txtResult?.setText("Please start capture first")
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
- mBinding?.delete?.setOnClickListener {
|
|
|
|
|
|
+
|
|
|
+ mBinding?.delete?.setOnClickListener {
|
|
|
+ if (bStarted) {
|
|
|
+ strUid = mBinding?.editID?.getText().toString()
|
|
|
+ if (null == strUid || strUid!!.isEmpty()) {
|
|
|
+ mBinding?.txtResult?.setText("Please input your user id")
|
|
|
+ return@setOnClickListener
|
|
|
+ }
|
|
|
+ if (!dbManager.isUserExited(strUid)) {
|
|
|
+ mBinding?.txtResult?.setText("The user no registered")
|
|
|
+ return@setOnClickListener
|
|
|
+ }
|
|
|
+ AlertDialog.Builder(this)
|
|
|
+ .setTitle("Do you want to delete the user ?")
|
|
|
+ .setIcon(R.drawable.ic_dialog_info)
|
|
|
+ .setPositiveButton("Yes") { dialog, which ->
|
|
|
+ if (dbManager.deleteUser(strUid)) {
|
|
|
+ ZKFingerService.del(strUid)
|
|
|
+ setResult("Delete success !")
|
|
|
+ } else {
|
|
|
+ setResult("Open db fail !")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .setNegativeButton(
|
|
|
+ "No"
|
|
|
+ ) { dialog, which -> }.show()
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
mBinding?.clear?.setOnClickListener {
|
|
|
-
|
|
|
+ if (bStarted) {
|
|
|
+ AlertDialog.Builder(this)
|
|
|
+ .setTitle("Do you want to delete all the users ?")
|
|
|
+ .setIcon(R.drawable.ic_dialog_info)
|
|
|
+ .setPositiveButton("Yes") { dialog, which ->
|
|
|
+ if (dbManager.clear()) {
|
|
|
+ ZKFingerService.clear()
|
|
|
+ setResult("Clear success!")
|
|
|
+ } else {
|
|
|
+ setResult("Open db fail!")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .setNegativeButton(
|
|
|
+ "no"
|
|
|
+ ) { dialog, which -> }
|
|
|
+ .show()
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
mBinding?.exit?.setOnClickListener {
|
|
|
@@ -194,19 +263,19 @@ class FingerPrintActivity : BaseActivity<ActivityFingerPrintBinding>() {
|
|
|
//fingerprintSensor?.setCaptureMode(1);
|
|
|
fingerprintSensor?.open(deviceIndex)
|
|
|
//load all templates form db
|
|
|
-// if (dbManager.opendb(dbFileName) && dbManager.getCount() > 0) {
|
|
|
-// val vUserList: HashMap<String, String> = dbManager.queryUserList()
|
|
|
-// var ret = 0
|
|
|
-// if (vUserList.size > 0) {
|
|
|
-// for ((strID, strFeature) in vUserList) {
|
|
|
-// val blobFeature = Base64.decode(strFeature, Base64.NO_WRAP)
|
|
|
-// ret = ZKFingerService.save(blobFeature, strID)
|
|
|
-// if (0 != ret) {
|
|
|
-// LogUtil.e("add [$strID] template failed, ret=$ret")
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
+ if (dbManager.opendb(dbFileName) && dbManager.getCount() > 0) {
|
|
|
+ val vUserList: HashMap<String, String> = dbManager.queryUserList()
|
|
|
+ var ret = 0
|
|
|
+ if (vUserList.size > 0) {
|
|
|
+ for ((strID, strFeature) in vUserList) {
|
|
|
+ val blobFeature = Base64.decode(strFeature, Base64.NO_WRAP)
|
|
|
+ ret = ZKFingerService.save(blobFeature, strID)
|
|
|
+ if (0 != ret) {
|
|
|
+ LogUtil.e("add [$strID] template failed, ret=$ret")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
run {
|
|
|
// device parameter
|
|
|
LogUtil.d("sdk version" + fingerprintSensor?.getSDK_Version())
|
|
|
@@ -320,7 +389,7 @@ class FingerPrintActivity : BaseActivity<ActivityFingerPrintBinding>() {
|
|
|
if (0 == retVal) {
|
|
|
val strFeature = Base64.encodeToString(regTemp, 0, ret, Base64.NO_WRAP)
|
|
|
println("haha : $strFeature")
|
|
|
-// dbManager.insertUser(strUid, strFeature)
|
|
|
+ dbManager.insertUser(strUid, strFeature)
|
|
|
setResult("enroll succ")
|
|
|
} else {
|
|
|
setResult("enroll fail, add template fail, ret=$retVal")
|