|
@@ -4,6 +4,7 @@ import com.grkj.iscs_mars.R
|
|
|
import com.grkj.iscs_mars.databinding.FragmentFingerprintConfigBinding
|
|
import com.grkj.iscs_mars.databinding.FragmentFingerprintConfigBinding
|
|
|
import com.grkj.iscs_mars.model.vo.characteristic.CharacteristicPageRespVO
|
|
import com.grkj.iscs_mars.model.vo.characteristic.CharacteristicPageRespVO
|
|
|
import com.grkj.iscs_mars.util.ToastUtils
|
|
import com.grkj.iscs_mars.util.ToastUtils
|
|
|
|
|
+import com.grkj.iscs_mars.util.log.LogUtil
|
|
|
import com.grkj.iscs_mars.view.base.BaseMvpFragment
|
|
import com.grkj.iscs_mars.view.base.BaseMvpFragment
|
|
|
import com.grkj.iscs_mars.view.dialog.FingerScanDialog
|
|
import com.grkj.iscs_mars.view.dialog.FingerScanDialog
|
|
|
import com.grkj.iscs_mars.view.dialog.TipDialog
|
|
import com.grkj.iscs_mars.view.dialog.TipDialog
|
|
@@ -11,6 +12,8 @@ import com.grkj.iscs_mars.view.iview.IFingerprintConfigView
|
|
|
import com.grkj.iscs_mars.view.presenter.FingerprintConfigPresenter
|
|
import com.grkj.iscs_mars.view.presenter.FingerprintConfigPresenter
|
|
|
import com.zhy.adapter.recyclerview.CommonAdapter
|
|
import com.zhy.adapter.recyclerview.CommonAdapter
|
|
|
import com.zhy.adapter.recyclerview.base.ViewHolder
|
|
import com.zhy.adapter.recyclerview.base.ViewHolder
|
|
|
|
|
+import java.util.UUID
|
|
|
|
|
+import kotlin.collections.joinToString
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 指纹设置页
|
|
* 指纹设置页
|
|
@@ -24,8 +27,9 @@ class FingerprintConfigFragment :
|
|
|
private var mFingerprintLimit: Int = 5
|
|
private var mFingerprintLimit: Int = 5
|
|
|
private var mFingerprintPressTimes: Int = 0
|
|
private var mFingerprintPressTimes: Int = 0
|
|
|
private var mFingerprintInputErrorTimes: Int = 0
|
|
private var mFingerprintInputErrorTimes: Int = 0
|
|
|
- private var mFingerprintGroupName: Long = 0L
|
|
|
|
|
|
|
+ private var mFingerprintGroupName: String = ""
|
|
|
private val maxPressTimes = 3
|
|
private val maxPressTimes = 3
|
|
|
|
|
+ private val inputFingerprintErrorTimes = 3
|
|
|
private val inputFingerprintIds: MutableList<Long> = mutableListOf()
|
|
private val inputFingerprintIds: MutableList<Long> = mutableListOf()
|
|
|
|
|
|
|
|
override val viewBinding: FragmentFingerprintConfigBinding
|
|
override val viewBinding: FragmentFingerprintConfigBinding
|
|
@@ -33,8 +37,8 @@ class FingerprintConfigFragment :
|
|
|
|
|
|
|
|
override fun initView() {
|
|
override fun initView() {
|
|
|
mBinding?.cbAddFinger?.setOnClickListener {
|
|
mBinding?.cbAddFinger?.setOnClickListener {
|
|
|
- if (mFingerList.size >= mFingerprintLimit) {
|
|
|
|
|
- ToastUtils.tip(getString(R.string.fingerprint_config_tip, mFingerprintLimit))
|
|
|
|
|
|
|
+ if (mFingerList.size >= mFingerprintLimit / 3) {
|
|
|
|
|
+ ToastUtils.tip(getString(R.string.fingerprint_config_tip, mFingerprintLimit / 3))
|
|
|
return@setOnClickListener
|
|
return@setOnClickListener
|
|
|
}
|
|
}
|
|
|
mFingerprintPressTimes = 0
|
|
mFingerprintPressTimes = 0
|
|
@@ -72,14 +76,14 @@ class FingerprintConfigFragment :
|
|
|
presenter?.getFingerprintLimit {
|
|
presenter?.getFingerprintLimit {
|
|
|
mFingerprintLimit = it
|
|
mFingerprintLimit = it
|
|
|
mBinding?.fingerprintLimitTv?.text =
|
|
mBinding?.fingerprintLimitTv?.text =
|
|
|
- getString(R.string.fingerprint_config_tip, mFingerprintLimit)
|
|
|
|
|
|
|
+ getString(R.string.fingerprint_config_tip, mFingerprintLimit / 3)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private fun refreshFingerList() {
|
|
private fun refreshFingerList() {
|
|
|
presenter?.getFingerPage {
|
|
presenter?.getFingerPage {
|
|
|
mFingerList.clear()
|
|
mFingerList.clear()
|
|
|
- it?.records?.groupBy { it.group }?.let {
|
|
|
|
|
|
|
+ it?.records?.groupBy { it.groupCode }?.let {
|
|
|
val fingerList = it.mapNotNull { it.key to it.value }.toMutableList()
|
|
val fingerList = it.mapNotNull { it.key to it.value }.toMutableList()
|
|
|
mFingerList.addAll(fingerList)
|
|
mFingerList.addAll(fingerList)
|
|
|
}
|
|
}
|
|
@@ -107,26 +111,40 @@ class FingerprintConfigFragment :
|
|
|
|
|
|
|
|
private fun showFingerScanDialog() {
|
|
private fun showFingerScanDialog() {
|
|
|
mFingerDialog ?: let {
|
|
mFingerDialog ?: let {
|
|
|
- mFingerprintGroupName = System.currentTimeMillis()
|
|
|
|
|
mFingerDialog = FingerScanDialog(requireContext()) {
|
|
mFingerDialog = FingerScanDialog(requireContext()) {
|
|
|
if (it != null) {
|
|
if (it != null) {
|
|
|
presenter?.insertFinger(it, "$mFingerprintGroupName") {
|
|
presenter?.insertFinger(it, "$mFingerprintGroupName") {
|
|
|
- if (it!=null) {
|
|
|
|
|
|
|
+ if (it != null) {
|
|
|
|
|
+ LogUtil.i("添加指纹:${it}")
|
|
|
|
|
+ inputFingerprintIds.add(it)
|
|
|
mFingerprintPressTimes++
|
|
mFingerprintPressTimes++
|
|
|
- if (mFingerprintPressTimes == 3) {
|
|
|
|
|
|
|
+ if (mFingerprintPressTimes == maxPressTimes) {
|
|
|
mFingerDialog?.dismiss()
|
|
mFingerDialog?.dismiss()
|
|
|
showTipDialog(
|
|
showTipDialog(
|
|
|
getString(R.string.fingerprint_add_success_tip),
|
|
getString(R.string.fingerprint_add_success_tip),
|
|
|
isAdd = true
|
|
isAdd = true
|
|
|
)
|
|
)
|
|
|
refreshFingerList()
|
|
refreshFingerList()
|
|
|
|
|
+ } else if (mFingerprintInputErrorTimes == inputFingerprintErrorTimes) {
|
|
|
|
|
+ mFingerprintGroupName = UUID.randomUUID().toString()
|
|
|
|
|
+ mFingerprintPressTimes = 0
|
|
|
|
|
+ mFingerprintInputErrorTimes = 0
|
|
|
|
|
+ presenter?.deleteFinger(inputFingerprintIds.joinToString(",")) {
|
|
|
|
|
+ refreshFingerList()
|
|
|
|
|
+ }
|
|
|
|
|
+ ToastUtils.tip(R.string.please_re_press_fingerprint_again)
|
|
|
} else {
|
|
} else {
|
|
|
ToastUtils.tip(R.string.please_press_fingerprint_again)
|
|
ToastUtils.tip(R.string.please_press_fingerprint_again)
|
|
|
}
|
|
}
|
|
|
- }else{
|
|
|
|
|
|
|
+ } else {
|
|
|
mFingerprintInputErrorTimes++
|
|
mFingerprintInputErrorTimes++
|
|
|
- if (mFingerprintInputErrorTimes+mFingerprintPressTimes>maxPressTimes){
|
|
|
|
|
- mFingerprintGroupName = System.currentTimeMillis()
|
|
|
|
|
|
|
+ if (mFingerprintInputErrorTimes == inputFingerprintErrorTimes) {
|
|
|
|
|
+ mFingerprintGroupName = UUID.randomUUID().toString()
|
|
|
|
|
+ mFingerprintPressTimes = 0
|
|
|
|
|
+ mFingerprintInputErrorTimes = 0
|
|
|
|
|
+ presenter?.deleteFinger(inputFingerprintIds.joinToString(",")) {
|
|
|
|
|
+ refreshFingerList()
|
|
|
|
|
+ }
|
|
|
ToastUtils.tip(R.string.please_re_press_fingerprint_again)
|
|
ToastUtils.tip(R.string.please_re_press_fingerprint_again)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -134,6 +152,9 @@ class FingerprintConfigFragment :
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ mFingerprintPressTimes = 0
|
|
|
|
|
+ mFingerprintInputErrorTimes = 0
|
|
|
|
|
+ mFingerprintGroupName = UUID.randomUUID().toString()
|
|
|
mFingerDialog?.show()
|
|
mFingerDialog?.show()
|
|
|
}
|
|
}
|
|
|
|
|
|