[6.7.0] loading fun

This commit is contained in:
EmArrow
2024-09-20 19:29:45 +08:00
parent fc1e415f5c
commit 243ab08a58
14 changed files with 180 additions and 119 deletions

View File

@@ -429,7 +429,6 @@
android:layout_width="@dimen/dp_1046"
android:layout_height="match_parent"
android:elevation="100dp"
android:visibility="visible"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -96,7 +96,7 @@ class BindingCarNetWorkManager private constructor() {
"3" -> showModifyBindingCarDialog()
"null" -> TipToast.shortTip("当前工控机没有入库")
}
updateCarVrIconRes(info.getData().brandId)
// updateCarVrIconRes(info.getData().brandId)
} else {
SharedPrefsMgr.getInstance()
.putString(SharedPrefsConstants.CAR_INFO, "")
@@ -155,7 +155,7 @@ class BindingCarNetWorkManager private constructor() {
}
callBack.invoke(info)
bindLog(mapOf("bindingStatus" to true, "bindMsg" to info))
updateCarVrIconRes(info.data.brandId)
// updateCarVrIconRes(info.data.brandId)
}
}

View File

@@ -48,11 +48,13 @@ class TabSwitchView @JvmOverloads constructor(
private fun notifyView() {
if (isCheck) {
ivTabDefault.visibility = View.GONE
ivTabClick.visibility = View.VISIBLE
ivTabClickBg.visibility = View.VISIBLE
} else {
ivTabClick.visibility = View.GONE
ivTabClickBg.visibility = View.GONE
ivTabDefault.visibility = View.VISIBLE
}
}

View File

@@ -43,6 +43,9 @@ import system_master.SystemStatusInfo
private fun String.parsePlateNo(): String {
return substring(0, 2) + " " + substring(2)
}
private fun String.parsePlateNoTel(): String {
return takeLast(6)
}
private fun String.parsePhoneNo(): String {
return take(3) + "****" + takeLast(4)
@@ -178,7 +181,7 @@ class CarInfoTabView @JvmOverloads constructor(
return
}
tvCarNo.visibility = VISIBLE
tvCarNo.text = it.parsePlateNo()
tvCarNo.text = it.parsePlateNoTel()
}
}

View File

@@ -2,21 +2,28 @@ package com.mogo.eagle.core.function.hmi.ui.tools
import android.annotation.SuppressLint
import android.content.Context
import android.graphics.Color
import android.graphics.RectF
import android.graphics.drawable.ClipDrawable
import android.graphics.drawable.GradientDrawable
import android.graphics.drawable.LayerDrawable
import android.view.Gravity
import android.view.View
import android.widget.ImageView
import android.widget.ProgressBar
import android.widget.TextView
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.content.ContextCompat
import com.mogo.eagle.core.data.map.MogoLocation
import com.mogo.eagle.core.function.call.hmi.CallerHmiListenerManager
import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog
import com.mogo.eagle.core.function.hmi.ui.utils.HmiActionLog.Companion.hmiAction
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.map.MogoData.Companion.mogoMapData
import me.jessyan.autosize.utils.AutoSizeUtils
/**
* 离线地图缓存
*/
@@ -31,6 +38,7 @@ class OfflineMapDialog(context: Context) : BaseFloatDialog(context) {
private var rightView: TextView? = null
private var okView: TextView? = null
private var cacheTipView: TextView? = null
private var downloadingTip: TextView? = null
private var progressBar: ProgressBar? = null
private var downloadPercentView: TextView? = null
@@ -57,6 +65,7 @@ class OfflineMapDialog(context: Context) : BaseFloatDialog(context) {
okView = findViewById(R.id.tv_cache_ok)
cacheTipView = findViewById(R.id.tv_cache_tips)
downloadResultImg = findViewById(R.id.ivDownLoadStatus)
downloadingTip = findViewById(R.id.tv_down_loading)
leftView?.setOnClickListener {
when {
@@ -118,15 +127,19 @@ class OfflineMapDialog(context: Context) : BaseFloatDialog(context) {
}
}
@SuppressLint("SetTextI18n")
private fun updateProgress(progress: Int) {
if (this@OfflineMapDialog.isShowing) {
progressBar?.let {
if (it.visibility == View.VISIBLE) {
it.progress = if (progress in 1..5) 5 else progress
val p = AutoSizeUtils.dp2px(context, 770f) * (it.progress / 100.0) - AutoSizeUtils.dp2px(context, 30f)
CallerLogger.i("$M_HMI$TAG", "updateProgress: $p , pro:${it.progress}")
downloadPercentView?.translationX = p.toFloat()
downloadPercentView?.text = "${it.progress}%"
}
}
downloadPercentView?.text = "$progress%"
if (progress == 100) {
showNewContent(isLoading = false, true)
CallerHmiListenerManager.invokeHDDataCacheStatus(true)
@@ -137,11 +150,9 @@ class OfflineMapDialog(context: Context) : BaseFloatDialog(context) {
private fun change2NewStyle() {
val titleParams = offlineTitleView?.layoutParams as ConstraintLayout.LayoutParams
titleParams.topMargin = AutoSizeUtils.dp2px(context, 52f)
progressBar?.visibility = View.VISIBLE
downloadPercentView?.visibility = View.VISIBLE
okView?.visibility = View.VISIBLE
leftView?.visibility = View.GONE
rightView?.visibility = View.GONE
cacheTipView?.visibility = View.INVISIBLE
@@ -153,36 +164,42 @@ class OfflineMapDialog(context: Context) : BaseFloatDialog(context) {
change2NewStyle()
when {
isLoading -> {
downloadResultImg?.visibility = View.GONE
offlineTitleView?.visibility = View.GONE
downloadingTip?.visibility = View.VISIBLE
okView?.text = context.resources.getString(R.string.cancel)
offlineTitleView?.text = context.resources.getString(R.string.offline_downloading)
}
else -> {
when {
isSuccess -> {
okView?.visibility = View.VISIBLE
okView?.text = context.resources.getString(R.string.ok_tip)
offlineTitleView?.visibility = View.VISIBLE
offlineTitleView?.text =
context.resources.getString(R.string.offline_download_success)
progressBar?.visibility = View.GONE
downloadPercentView?.visibility = View.GONE
downloadResultImg?.background =
ContextCompat.getDrawable(context, R.drawable.icon_map_cache_success)
downloadingTip?.visibility = View.GONE
downloadResultImg?.visibility = View.VISIBLE
downloadResultImg?.setImageDrawable(context.resources.getDrawable(R.drawable.icon_map_cache_success))
hmiAction("$M_HMI$TAG", mapOf("cacheMap" to true))
}
else -> {
isRetry = true
isConfirm = false
offlineTitleView?.visibility = View.VISIBLE
offlineTitleView?.text =
context.resources.getString(R.string.offline_download_failure)
okView?.visibility = View.GONE
progressBar?.visibility = View.GONE
downloadPercentView?.visibility = View.GONE
downloadingTip?.visibility = View.GONE
leftView?.visibility = View.VISIBLE
leftView?.text = context.resources.getString(R.string.ok_tip)
rightView?.visibility = View.VISIBLE
rightView?.text = context.resources.getString(R.string.retry)
downloadResultImg?.background =
ContextCompat.getDrawable(context, R.drawable.icon_map_cache_failed)
downloadResultImg?.visibility = View.VISIBLE
downloadResultImg?.setImageDrawable(context.resources.getDrawable(R.drawable.icon_map_cache_failed))
hmiAction("$M_HMI$TAG", mapOf("cacheMap" to false))
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -3,40 +3,45 @@
<!-- 设置背景色 -->
<item android:id="@android:id/background">
<shape>
<corners android:radius="21dp" />
<solid android:color="@android:color/transparent" />
<stroke android:color="#7CF6FF" android:width="2dp" />
<corners android:radius="10dp" />
<solid android:color="@color/color_1C1C1C" />
<stroke
android:width="2dp"
android:color="@color/color_161618" />
<size android:width="10dp" />
</shape>
</item>
<!-- <item android:id="@android:id/secondaryProgress"-->
<!-- android:start="1.5dp"-->
<!-- android:end="1.5dp"-->
<!-- android:top="1.5dp"-->
<!-- android:bottom="1.5dp"-->
<!-- >-->
<!-- <scale android:scaleWidth="100%">-->
<!-- <shape>-->
<!-- <corners android:radius="21dp" />-->
<!-- <solid android:color="@android:color/holo_green_light" />-->
<!-- </shape>-->
<!-- </scale>-->
<!-- </item>-->
<!-- <item android:id="@android:id/secondaryProgress"-->
<!-- android:start="1.5dp"-->
<!-- android:end="1.5dp"-->
<!-- android:top="1.5dp"-->
<!-- android:bottom="1.5dp"-->
<!-- >-->
<!-- <scale android:scaleWidth="100%">-->
<!-- <shape>-->
<!-- <corners android:radius="21dp" />-->
<!-- <solid android:color="@android:color/holo_green_light" />-->
<!-- </shape>-->
<!-- </scale>-->
<!-- </item>-->
<!-- 设置进度条颜色 -->
<item android:id="@android:id/progress"
android:start="2dp"
android:end="2dp"
android:top="2dp"
<item
android:id="@android:id/progress"
android:bottom="2dp"
>
android:end="2dp"
android:start="2dp"
android:top="2dp">
<scale android:scaleWidth="100%">
<shape>
<corners android:radius="21dp" />
<corners android:radius="10dp" />
<gradient
android:angle="0"
android:endColor="#00E5FF"
android:startColor="#374171" />
android:centerColor="#32C3E1"
android:endColor="#44FCCF"
android:startColor="#1870FF" />
<size android:width="20dp" />
</shape>
</scale>
</item>

View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 设置背景色 -->
<item
android:id="@android:id/background"
android:width="@dimen/dp_760"
android:height="@dimen/dp_10"
android:gravity="center_vertical">
<shape>
<corners android:radius="10dp" />
<solid android:color="@color/color_1C1C1C" />
<stroke
android:width="2dp"
android:color="@color/color_161618" />
</shape>
</item>
<!-- <item android:id="@android:id/secondaryProgress"-->
<!-- android:start="1.5dp"-->
<!-- android:end="1.5dp"-->
<!-- android:top="1.5dp"-->
<!-- android:bottom="1.5dp"-->
<!-- >-->
<!-- <scale android:scaleWidth="100%">-->
<!-- <shape>-->
<!-- <corners android:radius="21dp" />-->
<!-- <solid android:color="@android:color/holo_green_light" />-->
<!-- </shape>-->
<!-- </scale>-->
<!-- </item>-->
<!-- 设置进度条颜色 -->
<item
android:id="@android:id/progress"
android:width="@dimen/dp_770"
android:height="@dimen/dp_50"
android:gravity="center_vertical"
android:left="@dimen/dp_0">
<scale
android:drawable="@drawable/icon_progress_patch"
android:scaleWidth="100%" />
</item>
</layer-list>

View File

@@ -1,96 +1,71 @@
<?xml version="1.0" encoding="utf-8"?>
<com.mogo.eagle.core.widget.RoundConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
<com.mogo.eagle.core.widget.RoundConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="@dimen/dp_840"
android:layout_height="@dimen/dp_470"
android:background="@color/dialog_bg_color"
app:roundLayoutRadius="@dimen/dp_32"
>
android:layout_width="@dimen/dp_900"
android:layout_height="@dimen/dp_620"
android:background="@drawable/bg_bone_dialog"
app:roundLayoutRadius="@dimen/dp_50">
<TextView
android:id="@+id/tv_reboot_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<ImageView
android:id="@+id/ivRebootNotice"
android:layout_width="@dimen/dp_140"
android:layout_height="@dimen/dp_140"
android:layout_marginTop="@dimen/dp_87"
android:src="@drawable/icon_reboot_system"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:text="@string/check_system_reboot_title"
android:textSize="@dimen/dp_56"
android:textColor="#FFFFFFFF"
android:layout_marginTop="@dimen/dp_40"
/>
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_reboot_tips"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_reboot_title"
android:layout_marginTop="@dimen/dp_30"
android:text="@string/check_system_reboot_content"
android:textColor="#FFFFFFFF"
android:textSize="@dimen/dp_43"
android:layout_marginTop="@dimen/dp_40"
/>
android:textSize="@dimen/dp_45"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/ivRebootNotice" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_reboot_tips"
android:layout_marginTop="@dimen/dp_10"
android:text="@string/check_system_reboot_tips"
android:textColor="@color/color_FF0006"
android:textSize="@dimen/sp_38"
android:layout_marginTop="@dimen/dp_20"
/>
<View
android:id="@+id/view_horizontal_line"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_2"
android:background="#66B8BFE8"
android:textSize="@dimen/dp_36"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toTopOf="@id/view_vertical_line"
/>
<View
android:id="@+id/view_vertical_line"
android:layout_width="@dimen/dp_2"
android:layout_height="@dimen/dp_120"
android:background="#66B8BFE8"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
/>
app:layout_constraintTop_toBottomOf="@id/tv_reboot_tips" />
<TextView
android:id="@+id/tv_reboot_confirm"
android:layout_width="@dimen/dp_400"
android:layout_width="@dimen/dp_356"
android:layout_height="@dimen/dp_120"
android:text="@string/confirm"
android:textColor="#FFFFFFFF"
android:textSize="46dp"
android:layout_marginStart="@dimen/dp_65"
android:layout_marginBottom="@dimen/dp_62"
android:background="@drawable/bg_map_offline_btn"
android:gravity="center"
android:text="@string/confirm"
android:textColor="@color/color_2EACFF"
android:textSize="@dimen/dp_40"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@id/view_vertical_line"
/>
app:layout_constraintLeft_toLeftOf="parent" />
<TextView
android:id="@+id/tv_reboot_cancel"
android:layout_width="@dimen/dp_400"
android:layout_width="@dimen/dp_356"
android:layout_height="@dimen/dp_120"
android:text="@string/cancel"
android:textColor="#FFFFFFFF"
android:textSize="46dp"
android:layout_marginEnd="@dimen/dp_65"
android:layout_marginBottom="@dimen/dp_62"
android:background="@drawable/bg_map_offline_btn"
android:gravity="center"
android:text="@string/cancel"
android:textColor="@color/white"
android:textSize="@dimen/dp_40"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toRightOf="@id/view_vertical_line"
app:layout_constraintRight_toRightOf="parent"
/>
app:layout_constraintRight_toRightOf="parent" />
</com.mogo.eagle.core.widget.RoundConstraintLayout>

View File

@@ -4,8 +4,8 @@
android:id="@+id/roundRootLayout"
android:layout_width="@dimen/dp_900"
android:layout_height="@dimen/dp_620"
android:background="@drawable/bg_map_offline_cache"
app:roundLayoutRadius="32dp">
android:background="@drawable/bg_bone_dialog"
app:roundLayoutRadius="@dimen/dp_50">
<ImageView
android:id="@+id/ivDownLoadStatus"
@@ -41,32 +41,45 @@
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_cache_title" />
<TextView
android:id="@+id/tv_down_loading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_79"
android:text="@string/offline_downloading"
android:textColor="@color/white"
android:textSize="@dimen/dp_45"
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="800dp"
android:layout_height="42dp"
android:layout_marginTop="113dp"
android:layout_width="@dimen/dp_770"
android:layout_height="@dimen/dp_50"
android:layout_marginTop="@dimen/dp_296"
android:max="100"
android:progress="0"
android:progressDrawable="@drawable/progressbar_corner_bg"
android:progress="5"
android:visibility="gone"
android:paddingStart="@dimen/dp_0"
android:paddingEnd="@dimen/dp_0"
android:progressDrawable="@drawable/progressbar_corner_bg_test"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_cache_title" />
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tvDownloadProgress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:text="0%"
android:textColor="#06D1ED"
android:textSize="43dp"
android:layout_marginTop="@dimen/dp_235"
android:textColor="@color/white"
android:textSize="@dimen/dp_36"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/progressBar" />
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintLeft_toLeftOf="@id/progressBar" />
<TextView
android:id="@+id/tv_cache_confirm"
@@ -98,16 +111,17 @@
<TextView
android:id="@+id/tv_cache_ok"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_width="@dimen/dp_356"
android:layout_height="@dimen/dp_120"
android:gravity="center"
android:layout_marginBottom="@dimen/dp_62"
android:text="@string/ok_tip"
android:textColor="#FFFFFFFF"
android:textSize="46dp"
android:textColor="@color/white"
android:textSize="@dimen/dp_40"
android:visibility="gone"
android:background="@drawable/bg_map_offline_btn"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@id/view_vertical_line"
app:layout_constraintTop_toBottomOf="@id/view_horizontal_line" />
app:layout_constraintRight_toRightOf="parent"/>
</com.mogo.eagle.core.widget.RoundConstraintLayout>

View File

@@ -101,6 +101,7 @@
android:layout_height="@dimen/dp_72"
android:layout_marginStart="@dimen/dp_16"
android:background="@drawable/bg_tab_car_no"
android:gravity="center"
android:textColor="@color/white"
android:textSize="@dimen/dp_32"
android:visibility="gone"

View File

@@ -19,6 +19,8 @@
<color name="color_000000">#000000</color>
<color name="color_B3_000000">#B3000000</color>
<color name="color_8F0005">#8F0005</color>
<color name="color_1C1C1C">#1C1C1C</color>
<color name="color_161618">#161618</color>
<color name="color_2EACFF">#2EACFF</color>
<color name="color_FF0006">#FF0006</color>
<color name="color_0099dd">#0099dd</color>