From c3499a512462b6ce39b189861fe99b4f7d7bbc20 Mon Sep 17 00:00:00 2001 From: renwj Date: Tue, 11 Jun 2024 20:39:17 +0800 Subject: [PATCH] =?UTF-8?q?[6.4.4][=E7=8A=B6=E6=80=81=E6=A0=8F]=20?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E7=8A=B6=E6=80=81=E6=A0=8F=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo_core_function_devatools/status/ui/StatusView.kt | 6 +++--- .../java/com/mogo/eagle/core/utilcode/kotlin/Extensions.kt | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/StatusView.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/StatusView.kt index 235c2631e4..dc180f0e9c 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/StatusView.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/StatusView.kt @@ -60,9 +60,9 @@ internal class StatusView(private val model: StatusModel, ctx: Context): Constra } } - onDetach { - observer?.also { model.status.removeObserver(it) } - } +// onDetach { +// observer?.also { model.status.removeObserver(it) } +// } } override fun onVisibilityChanged(changedView: View, visibility: Int) { diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/kotlin/Extensions.kt b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/kotlin/Extensions.kt index 1f7106f581..a39239dd0d 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/kotlin/Extensions.kt +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/kotlin/Extensions.kt @@ -75,9 +75,10 @@ val T.lifecycleOwner: LifecycleOwner override fun onViewDetachedFromWindow(v: View) { lifecycle.let { - if (it.currentState.isAtLeast(Lifecycle.State.RESUMED)) { + if (ViewCompat.isAttachedToWindow(v) && it.currentState.isAtLeast(Lifecycle.State.RESUMED)) { this@lifecycleOwner.removeOnAttachStateChangeListener(this) it.currentState = Lifecycle.State.DESTROYED + setTag(R.id.view_lifecycle_owner, null) } } }