Browse Source

refactor(更新)
- 登录界面控制钥匙信息任务执行

周文健 2 months ago
parent
commit
0acf3147cc

+ 7 - 1
app/src/main/java/com/grkj/iscs/ISCSApplication.kt

@@ -58,6 +58,12 @@ import java.util.Locale
 class ISCSApplication : Application() {
     private val logger: Logger = LoggerFactory.getLogger(ISCSApplication::class.java)
 
+    companion object{
+        /**
+         * 检查钥匙信息任务
+         */
+        val checkKeyInfoTask: CheckKeyInfoTask by lazy { CheckKeyInfoTask() }
+    }
     /**
      * 程序创建
      */
@@ -123,7 +129,7 @@ class ISCSApplication : Application() {
 
             EventConstants.EVENT_START_MODBUS_COMPLETE -> {
                 if (ISCSConfig.isInit) {
-                    val jobList = CronJobScanner.scanJobs(CheckKeyInfoTask())
+                    val jobList = CronJobScanner.scanJobs(checkKeyInfoTask)
                     logger.info("扫描任务结果:${jobList.toJson()},开始注册")
                     GlobalManager.cronJobManager.registerJobs(jobList)
                 }

+ 4 - 0
app/src/main/java/com/grkj/iscs/features/login/activity/LoginActivity.kt

@@ -17,6 +17,7 @@ import com.drake.brv.utils.setup
 import com.grkj.data.data.MainDomainData
 import com.grkj.data.enums.LoginResultEnum
 import com.grkj.data.model.local.LoginMenuEntity
+import com.grkj.iscs.ISCSApplication
 import com.grkj.iscs.R
 import com.grkj.iscs.databinding.ActivityLoginBinding
 import com.grkj.iscs.databinding.ItemLoginMethodBinding
@@ -32,6 +33,7 @@ import com.grkj.ui_base.utils.extension.getAppVersionName
 import com.grkj.shared.utils.extension.toByteArrays
 import com.grkj.shared.utils.extension.toHexStrings
 import com.grkj.shared.utils.i18n.I18nManager
+import com.grkj.ui_base.service.CheckKeyInfoTask
 import com.grkj.ui_base.utils.fingerprint.FingerprintUtil
 import com.sik.sikcore.extension.setDebouncedClickListener
 import com.sik.sikimage.ImageConvertUtils
@@ -189,6 +191,7 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>() {
 
     override fun onResume() {
         super.onResume()
+        ISCSApplication.checkKeyInfoTask.isInLogin = true
         MainDomainData.clear()
         FingerprintUtil.init(this)
         FingerprintUtil.start()
@@ -217,6 +220,7 @@ class LoginActivity : BaseActivity<ActivityLoginBinding>() {
         super.onStop()
         cardNo = ""
         FingerprintUtil.stop()
+        ISCSApplication.checkKeyInfoTask.isInLogin = false
     }
 
     override fun dispatchKeyEvent(event: KeyEvent): Boolean {

+ 1 - 1
ui-base/src/main/java/com/grkj/ui_base/service/CheckKeyInfoTask.kt

@@ -18,7 +18,7 @@ class CheckKeyInfoTask {
     /**
      * 是否在登录界面
      */
-    private var isInLogin: Boolean = false
+    var isInLogin: Boolean = false
         set(value) {
             field = value
             if (value) {