|
|
@@ -1,14 +1,21 @@
|
|
|
package com.grkj.iscs.features.main.dialog.hardware_manage
|
|
|
|
|
|
import android.view.View
|
|
|
+import com.grkj.data.data.EventConstants
|
|
|
import com.grkj.data.model.vo.AddRfidTokenDataVo
|
|
|
import com.grkj.iscs.R
|
|
|
import com.grkj.iscs.databinding.DialogAddRfidTokenBinding
|
|
|
+import com.grkj.shared.model.EventBean
|
|
|
import com.grkj.ui_base.utils.CommonUtils
|
|
|
+import com.grkj.ui_base.utils.event.RFIDCardReadEvent
|
|
|
import com.grkj.ui_base.utils.extension.tipDialog
|
|
|
import com.kongzue.dialogx.dialogs.CustomDialog
|
|
|
import com.kongzue.dialogx.dialogs.PopTip
|
|
|
+import com.kongzue.dialogx.interfaces.DialogLifecycleCallback
|
|
|
import com.kongzue.dialogx.interfaces.OnBindView
|
|
|
+import org.greenrobot.eventbus.EventBus
|
|
|
+import org.greenrobot.eventbus.Subscribe
|
|
|
+import org.greenrobot.eventbus.ThreadMode
|
|
|
|
|
|
/**
|
|
|
* 新增 RFID 标签对话框,基于 DialogX
|
|
|
@@ -23,12 +30,22 @@ class AddRfidTokenDialog(
|
|
|
|
|
|
override fun onBind(dialog: CustomDialog?, v: View) {
|
|
|
binding = DialogAddRfidTokenBinding.bind(v)
|
|
|
+ dialog?.isCancelable = false
|
|
|
dialog?.setMaskColor(CommonUtils.getColor(com.grkj.ui_base.R.color.scrim))
|
|
|
-
|
|
|
+ if (!EventBus.getDefault().isRegistered(this)) {
|
|
|
+ EventBus.getDefault().register(this)
|
|
|
+ }
|
|
|
+ dialog?.setDialogLifecycleCallback(object : DialogLifecycleCallback<CustomDialog>() {
|
|
|
+ override fun onDismiss(dialog: CustomDialog?) {
|
|
|
+ super.onDismiss(dialog)
|
|
|
+ if (EventBus.getDefault().isRegistered(this)) {
|
|
|
+ EventBus.getDefault().unregister(this)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
// 取消/关闭
|
|
|
binding.cancel.setOnClickListener { dialog?.dismiss() }
|
|
|
binding.closeIv.setOnClickListener { dialog?.dismiss() }
|
|
|
-
|
|
|
// 确认
|
|
|
binding.confirm.setOnClickListener {
|
|
|
val code = binding.rfidCodeEt.text.trim().toString()
|
|
|
@@ -62,6 +79,17 @@ class AddRfidTokenDialog(
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Subscribe(threadMode = ThreadMode.MAIN)
|
|
|
+ open fun onEvent(event: EventBean<*>) {
|
|
|
+ when (event.code) {
|
|
|
+ EventConstants.EVENT_RFID_CARD_READ -> {
|
|
|
+ (event.data as RFIDCardReadEvent).let {
|
|
|
+ binding.rfidEt.setText(it.rfidNo)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
companion object {
|
|
|
/**
|
|
|
* 显示新增 RFID 标签对话框并设置回调
|