[dev_arch_opt_3.0] 优化TextView频繁调用setText导致的频繁绘制问题; 优化状态栏上工控机相关状态的处理逻辑

This commit is contained in:
renwj
2023-03-14 16:02:27 +08:00
parent 7e3abc88e0
commit 33a2f2dfe4
8 changed files with 112 additions and 53 deletions

View File

@@ -11,10 +11,12 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener
import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.function.main.AppListActivity
import com.mogo.eagle.core.utilcode.kotlin.*
import com.mogo.eagle.core.utilcode.util.ActivityUtils
import com.mogo.eagle.core.utilcode.util.AppUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import kotlinx.android.synthetic.main.view_version_name.view.*
import kotlinx.coroutines.*
/**
* @author XuXinChao
@@ -65,13 +67,16 @@ class VersionNameView @JvmOverloads constructor(
*/
@SuppressLint("SetTextI18n")
private fun showCurrentMapVersion() {
UiThreadHandler.post {
tvMapVersionName?.let {
if (!dockerVersion.isNullOrEmpty()) {
it.text = "MAP:${dockerVersion}"
val old = tvMapVersionName?.text
val version = dockerVersion
if (!version.isNullOrEmpty() && old != version) {
scope.launch {
tvMapVersionName?.also {
it.text = version
}
}
}
}
override fun onAttachedToWindow() {