From 3f30d0fa40188e846fc4d5364a7a6005abfb02a6 Mon Sep 17 00:00:00 2001 From: xiaowusky Date: Tue, 12 Mar 2024 10:27:35 +0800 Subject: [PATCH] =?UTF-8?q?desc:=E6=8C=89=E9=94=AE=E5=8F=96=E6=B6=88dialog?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yinuo/safetywatcher/watcher/base/BaseActivity.kt | 7 ------- .../yinuo/safetywatcher/watcher/ui/view/CommonDialog.kt | 7 +++++++ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/base/BaseActivity.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/base/BaseActivity.kt index 51bc31b..f4a9f0d 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/base/BaseActivity.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/base/BaseActivity.kt @@ -53,8 +53,6 @@ abstract class BaseActivity : AppCompatActivity() { var lastFocusView: View? = null - var lastDialogCancelable = false - override fun onCreate(savedInstanceState: Bundle?) { setViewFactory() super.onCreate(null) @@ -143,7 +141,6 @@ abstract class BaseActivity : AppCompatActivity() { loadingDialog = CommonDialog(resId) loadingDialog!!.isCancelable = cancelable loadingDialog!!.show(supportFragmentManager, "loading") - lastDialogCancelable = cancelable } } @@ -156,7 +153,6 @@ abstract class BaseActivity : AppCompatActivity() { lifecycleScope.launchWhenResumed { loadingDialog?.dismiss() loadingDialog = null - lastDialogCancelable = false } } @@ -238,9 +234,6 @@ abstract class BaseActivity : AppCompatActivity() { var isLeftRightLongPress = false override fun dispatchKeyEvent(event: KeyEvent): Boolean { // LogUtils.w("cyy dispatchKeyEvent keyCode = ${event?.keyCode} count = ${event?.repeatCount} acton = ${event?.action}") - if (lastDialogCancelable){ - closeLoadingDialog() - } val action = event.action if (KeyEvent.ACTION_DOWN == action) { return dealActionDown(event) diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/view/CommonDialog.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/view/CommonDialog.kt index 1902848..c5cd487 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/view/CommonDialog.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/view/CommonDialog.kt @@ -25,6 +25,13 @@ class CommonDialog(private val tipResID:Int = R.string.sync_data_tip) : DialogFr ): View? { dialogBinding = LayoutSyncDialogBinding.inflate(inflater, container, false) dialogBinding!!.tip.text = getString(tipResID) + this.dialog?.setOnKeyListener { dialog, keyCode, event -> + if (isCancelable) { + dialog.dismiss() + return@setOnKeyListener true + } + return@setOnKeyListener false + } return dialogBinding!!.root }