[dev_opt_2.15.0]工具箱系统版本View更改

This commit is contained in:
xuxinchao
2023-03-30 17:38:42 +08:00
parent c8ef1d7a52
commit 86df90cd10
6 changed files with 87 additions and 28 deletions

View File

@@ -20,10 +20,7 @@ import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.function.hmi.ui.map.OfflineMapDialog
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI
import com.mogo.eagle.core.utilcode.util.AppUtils
import com.mogo.eagle.core.utilcode.util.ThreadUtils
import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.eagle.core.utilcode.util.*
import kotlinx.android.synthetic.main.view_system_version.view.*
@@ -151,7 +148,7 @@ class SystemVersionView @JvmOverloads constructor(
if(AdUpgradeStateHelper.isConfirmUpgrade()){
//将角标改为“下载中”
ivAdStatus?.setImageResource(R.drawable.icon_downloading)
ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background)
// ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background)
//设置状态为不可升级
AdUpgradeStateHelper.setUpgradeableStatus(false)
}
@@ -202,48 +199,48 @@ class SystemVersionView @JvmOverloads constructor(
}
}
ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background)
// ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background)
}
AdUpgradeStateHelper.isDownloadFailed(status) -> {
//下载失败,将状态设为“最新版”角标,并隐藏进度条
ivAdStatus?.setImageResource(R.drawable.icon_latest_version)
adCircularProgressView?.visibility = View.GONE
ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background)
// ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background)
AdUpgradeStateHelper.setConfirmUpgrade(false)
}
AdUpgradeStateHelper.isDownloadFinish(status) ->{
//升级中,将状态设为“升级中”角标,并隐藏进度条
ivAdStatus?.setImageResource(R.drawable.icon_upgrading)
adCircularProgressView?.visibility = View.GONE
ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background)
// ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background)
AdUpgradeStateHelper.setConfirmUpgrade(false)
}
AdUpgradeStateHelper.isUpgrading(status) ->{
//升级中,将状态设为“升级中”角标,并隐藏进度条
ivAdStatus?.setImageResource(R.drawable.icon_upgrading)
adCircularProgressView?.visibility = View.GONE
ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background)
// ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background)
AdUpgradeStateHelper.setConfirmUpgrade(false)
}
AdUpgradeStateHelper.isUpgradeSuccess(status) -> {
//升级成功,将状态设为“最新版”角标,并隐藏进度条
ivAdStatus?.setImageResource(R.drawable.icon_latest_version)
adCircularProgressView?.visibility = View.GONE
ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background)
// ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background)
AdUpgradeStateHelper.setConfirmUpgrade(false)
}
AdUpgradeStateHelper.isUpgradeFailed(status) -> {
//升级失败,将状态设为“升级失败”角标,并隐藏进度条
ivAdStatus?.setImageResource(R.drawable.icon_upgrade_failed)
adCircularProgressView?.visibility = View.GONE
ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background)
// ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background)
AdUpgradeStateHelper.setConfirmUpgrade(false)
}
else -> {
//其他状态,均显示“最新版”,并隐藏进度条
ivAdStatus?.setImageResource(R.drawable.icon_latest_version)
adCircularProgressView?.visibility = View.GONE
ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background)
// ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background)
AdUpgradeStateHelper.setConfirmUpgrade(false)
}
}
@@ -278,7 +275,8 @@ class SystemVersionView @JvmOverloads constructor(
tvAdVersionContent?.let {
// it.text = AdasManager.getInstance().getAdasConfig().getDockVersion())
if (!dockerVersion.isNullOrEmpty()) {
it.text = dockerVersion
// it.text = dockerVersion
it.text = ParseVersionUtils.parseVersion(dockerVersion)
}
}
}
@@ -337,13 +335,13 @@ class SystemVersionView @JvmOverloads constructor(
//有更新任务,将状态设为“可升级”角标,并隐藏进度条
ivAdStatus?.setImageResource(R.drawable.icon_upgradeable)
adCircularProgressView?.visibility = View.GONE
ivAdVersion?.setBackgroundResource(R.drawable.version_upgradeable_background)
// ivAdVersion?.setBackgroundResource(R.drawable.version_upgradeable_background)
AdUpgradeStateHelper.setUpgradeableStatus(true)
}else{
ToastUtils.showLong("已是最新版本")
ivAdStatus?.setImageResource(R.drawable.icon_latest_version)
adCircularProgressView?.visibility = View.GONE
ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background)
// ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background)
AdUpgradeStateHelper.setUpgradeableStatus(false)
}
}
@@ -354,7 +352,7 @@ class SystemVersionView @JvmOverloads constructor(
override fun pushServerConfirm() {
//将角标改为“下载中”
ivAdStatus?.setImageResource(R.drawable.icon_downloading)
ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background)
// ivAdVersion?.setBackgroundResource(R.drawable.version_latest_background)
//设置状态为不可升级
AdUpgradeStateHelper.setUpgradeableStatus(false)
//设置进度条为隐藏

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -10,10 +10,8 @@
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_marginStart="113dp"
android:src="@drawable/icon_pad"
android:src="@drawable/icon_version_pad"
android:layout_marginTop="40dp"
android:background="@drawable/version_latest_background"
android:padding="12dp"
android:clickable="true"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -63,9 +61,7 @@
app:layout_constraintBottom_toBottomOf="@id/ivPadVersion"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginStart="405dp"
android:src="@drawable/icon_ad"
android:padding="12dp"
android:background="@drawable/version_latest_background"
android:src="@drawable/icon_version_ad"
/>
<com.mogo.eagle.core.function.hmi.ui.widget.CircularProgressView
@@ -107,10 +103,10 @@
<TextView
android:id="@+id/tvAdVersionContent"
android:layout_width="250dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="@id/ivAdVersion"
app:layout_constraintRight_toRightOf="@id/ivAdVersion"
app:layout_constraintLeft_toLeftOf="@id/tvAdVersionTitle"
app:layout_constraintRight_toRightOf="@id/tvAdVersionTitle"
app:layout_constraintTop_toBottomOf="@id/tvAdVersionTitle"
app:layout_constraintBottom_toBottomOf="parent"
android:textColor="#FFA7B6F0"
@@ -127,9 +123,7 @@
app:layout_constraintBottom_toBottomOf="@id/ivAdVersion"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginStart="680dp"
android:src="@drawable/icon_hd_map"
android:padding="12dp"
android:background="@drawable/version_latest_background"
android:src="@drawable/icon_version_hd_map"
/>
<ImageView

View File

@@ -0,0 +1,67 @@
package com.mogo.eagle.core.utilcode.util;
import android.text.TextUtils;
import android.util.Log;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 工控机版本转换工具类
*/
public class ParseVersionUtils {
private final static Pattern pattern = Pattern.compile("\\d+\\.\\d+\\.\\d+");
public static String parseVersion(String ver) {
String version = "";
if (!TextUtils.isEmpty(ver)) {
try {
Matcher matcher = pattern.matcher(ver);
if (matcher.find()) {
String group = matcher.group();
if (!TextUtils.isEmpty(group)) {
version = group;
}
}
} catch (Exception e) {
Log.e("AdasManager", "版本解析失败=" + ver, e);
}
}
return version;
}
/**
* 解析版本 格式 xxx.xxx.xxx(x的数量不固定)
* 如果用于比较仅适用于非个位数非0的字符串例如"12.03.04" 解析出为120304可能无法正常对比
* 目前已用于DockerVersion和MaserVersion的解析
*
* @param isUseAll 是否使用全部截取数据 true表示 12.34.56 截取之后 123456 false表示12.34.56 截取之后 12
* @param ver 版本字符串 例如:"MAP-taxi_RoboTaxi_df_2.8.0.3_20220928_test" 解析结果为280
* @return -1表示解析失败
*/
public static int parseVersion(boolean isUseAll, String ver) {
int version = -1;
if (!TextUtils.isEmpty(ver)) {
try {
Matcher matcher = pattern.matcher(ver);
if (matcher.find()) {
String group = matcher.group();
if (!TextUtils.isEmpty(group)) {
if (isUseAll) {
group = group.replace(".", "");
} else {
group = group.split("\\.")[0];
}
version = Integer.parseInt(group);
}
}
} catch (Exception e) {
Log.e("AdasManager", "版本解析失败=" + ver, e);
}
}
return version;
}
}