From 94588078f322bb195b836c2e4edde8e225f63254 Mon Sep 17 00:00:00 2001 From: renwj Date: Fri, 27 May 2022 12:08:22 +0800 Subject: [PATCH] =?UTF-8?q?[=E7=8A=B6=E6=80=81=E6=A0=8F]=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo_core_function_devatools/status/StatusManager.kt | 7 +++---- .../status/model/StatusModel.kt | 8 ++++---- .../mogo_core_function_devatools/status/ui/StatusView.kt | 3 --- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt index 765655b9f2..742ef3ef8d 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt @@ -1,7 +1,6 @@ package com.zhjt.mogo_core_function_devatools.status import android.content.* -import android.util.* import android.view.* import androidx.core.view.* import androidx.lifecycle.* @@ -10,7 +9,6 @@ import androidx.lifecycle.Lifecycle.Event.ON_CREATE import androidx.lifecycle.Lifecycle.Event.ON_DESTROY import com.mogo.eagle.core.utilcode.kotlin.* import com.zhjt.mogo_core_function_devatools.ext.* -import com.zhjt.mogo_core_function_devatools.status.entity.* import com.zhjt.mogo_core_function_devatools.status.entity.CanStatus import com.zhjt.mogo_core_function_devatools.status.entity.GpsStatus import com.zhjt.mogo_core_function_devatools.status.entity.IpcStatus @@ -24,7 +22,6 @@ import com.zhjt.mogo_core_function_devatools.status.flow.can.CanImpl import com.zhjt.mogo_core_function_devatools.status.flow.gps.GpsImpl import com.zhjt.mogo_core_function_devatools.status.flow.ipc.IpcImpl import com.zhjt.mogo_core_function_devatools.status.flow.nets.NetsImpl -import com.zhjt.mogo_core_function_devatools.status.flow.rtk.* import com.zhjt.mogo_core_function_devatools.status.flow.rtk.RTKImpl import com.zhjt.mogo_core_function_devatools.status.flow.trace.TracingImpl import com.zhjt.mogo_core_function_devatools.status.ui.* @@ -78,7 +75,6 @@ object StatusManager { hidePop?.invoke() val content = StatusView(model, ctx) content.doOnAttach { - Log.d("OOOO", "--- onAttach -----") for (f in flows) { f.onCreate() } @@ -93,6 +89,9 @@ object StatusManager { } private fun onDestroy(ctx: Context) { + flows.forEach { + it.onDestroy() + } flows.clear() hidePop?.invoke() } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/model/StatusModel.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/model/StatusModel.kt index 67e36a34b4..d1cf719460 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/model/StatusModel.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/model/StatusModel.kt @@ -30,7 +30,7 @@ internal class StatusModel : ViewModel() { val status: MutableLiveData>> = MutableLiveData() - private val preValue by lazy { AtomicReference>>() } + private val old by lazy { AtomicReference>>() } init { @@ -38,11 +38,11 @@ internal class StatusModel : ViewModel() { } fun update(s: Status) { - synchronized(preValue) { - val v = preValue.get()?.second ?: status.value?.second ?: throw IllegalStateException("live data can't be null.") + synchronized(old) { + val v = old.get()?.second ?: status.value?.second ?: throw IllegalStateException("live data can't be null.") val nv = ArrayList(v).also { it.updateOrInsert(s) } val data = Pair(getExceptionStatus(nv), nv) - preValue.set(data) + old.set(data) status.postValue(data) } } 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 e8dcf1b2a7..2322a958a8 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 @@ -15,7 +15,6 @@ import androidx.recyclerview.widget.* import com.mogo.eagle.core.utilcode.kotlin.* import com.mogo.eagle.core.utilcode.rv.divider.* import com.zhjt.mogo_core_function_devatools.R -import com.zhjt.mogo_core_function_devatools.status.entity.* import com.zhjt.mogo_core_function_devatools.status.entity.Status import com.zhjt.mogo_core_function_devatools.status.model.StatusModel import com.zhjt.mogo_core_function_devatools.status.ui.adapter.StatusAdapter @@ -75,8 +74,6 @@ internal class StatusView(private val model: StatusModel, ctx: Context): Constra val adapter = model.status.value?.let { data -> StatusAdapter(context, data.second) }?.also { adapter -> itx.adapter = adapter } adapter?.let { _ -> model.status.observeForever(Observer>> { data -> - Log.d("OOOO", "--- observeForever -----") - if (data.first != null) { dot.visibility = View.VISIBLE } else {