From 50a163694608202588fb17ffaafb2e613a86802a Mon Sep 17 00:00:00 2001 From: renwj Date: Thu, 27 Jan 2022 15:12:34 +0800 Subject: [PATCH] =?UTF-8?q?[Reminder]=E4=BC=98=E5=8C=96View=E7=9A=84?= =?UTF-8?q?=E7=94=9F=E5=91=BD=E5=91=A8=E6=9C=9F=E6=84=9F=E7=9F=A5=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eagle/core/utilcode/reminder/api/IReminder.kt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/reminder/api/IReminder.kt b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/reminder/api/IReminder.kt index d7f6422a03..98e50ab69b 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/reminder/api/IReminder.kt +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/reminder/api/IReminder.kt @@ -7,6 +7,7 @@ import android.view.View import android.widget.ListPopupWindow import android.widget.PopupWindow import androidx.annotation.IntRange +import androidx.core.view.ViewCompat import androidx.core.view.doOnAttach import androidx.core.view.doOnDetach import androidx.lifecycle.* @@ -111,6 +112,13 @@ interface IReminder : Comparable { private val lifecycle = LifecycleRegistry(this) init { + if (ViewCompat.isAttachedToWindow(this@lifecycleOwner)) { + lifecycle.let { + if (it.currentState.isAtLeast(Lifecycle.State.INITIALIZED)) { + it.currentState = Lifecycle.State.CREATED + } + } + } addOnAttachStateChangeListener(object : View.OnAttachStateChangeListener { override fun onViewAttachedToWindow(v: View?) { lifecycle.let { @@ -154,7 +162,7 @@ interface IReminder : Comparable { override fun getLifecycle(): Lifecycle { val contentView = this@lifecycleOwner.contentView - ?: throw IllegalStateException("Please ensure ${this@lifecycleOwner.javaClass.simpleName}'s getContentView() can't return null.") + ?: throw IllegalStateException("please ensure ${this@lifecycleOwner.javaClass.simpleName}'s getContentView() can't return null.") if (!register) { contentView.lifecycleOwner.lifecycle.addObserver(this) register = true @@ -182,7 +190,7 @@ interface IReminder : Comparable { private var register = false override fun getLifecycle(): Lifecycle { - val contentView = listView ?: throw IllegalStateException("Please ensure ${this@lifecycleOwner.javaClass.simpleName}'s getListView[() can't return null.") + val contentView = listView ?: throw IllegalStateException("please ensure ${this@lifecycleOwner.javaClass.simpleName}'s getListView[() can't return null.") if (!register) { contentView.lifecycleOwner.lifecycle.addObserver(this) register = true