From 58c5d8a0494dab7683628fd0d97c550d86825f87 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Fri, 14 Feb 2025 14:53:24 +0800 Subject: [PATCH] =?UTF-8?q?[6.10.0]=E6=95=B0=E6=8D=AE=E8=90=BD=E7=9B=98?= =?UTF-8?q?=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/function/hmi/ui/MoGoHmiProvider.kt | 8 +- .../hmi/ui/diskcopy/CopyBagSuccessDialog.kt | 6 +- .../ui/diskcopy/DiskCopyExceptionDialog.kt | 7 +- .../function/hmi/ui/diskcopy/DiskCopyView.kt | 166 ++++++++++++++---- .../adapter/DiskCopyCalendarAdapter.kt | 16 +- .../drawable-xhdpi/bg_current_select_date.png | Bin 0 -> 5636 bytes .../progressbar_disk_not_enough_space.xml | 29 +++ .../res/layout/dialog_copy_bag_success.xml | 4 +- .../res/layout/dialog_disk_copy_exception.xml | 6 +- .../main/res/layout/item_calendar_content.xml | 2 +- .../data/deva/diskcopy/CopyCalendarInfo.kt | 7 +- .../api/hmi/warning/IMoGoHmiProvider.kt | 4 +- .../function/call/hmi/CallerHmiManager.kt | 8 +- 13 files changed, 211 insertions(+), 52 deletions(-) create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/bg_current_select_date.png create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable/progressbar_disk_not_enough_space.xml diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt index d77d232eb4..ba66a8430a 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiProvider.kt @@ -739,10 +739,10 @@ class MoGoHmiProvider : IMoGoHmiProvider { /** * 展示数据落盘拷贝成功对话框 */ - override fun showCopyBagSuccessDialog() { + override fun showCopyBagSuccessDialog(title: String,content: String) { ThreadUtils.runOnUiThread{ context?.let{ - val copyBagSuccessDialog = CopyBagSuccessDialog(it) + val copyBagSuccessDialog = CopyBagSuccessDialog(it,title, content) copyBagSuccessDialog.show() } } @@ -751,10 +751,10 @@ class MoGoHmiProvider : IMoGoHmiProvider { /** * 展示数据落盘辅助工具-异常情况及建议操作弹窗 */ - override fun showDiskCopyExceptionDialog() { + override fun showDiskCopyExceptionDialog(title: String,content: String) { ThreadUtils.runOnUiThread{ context?.let{ - val diskCopyExceptionDialog = DiskCopyExceptionDialog(it) + val diskCopyExceptionDialog = DiskCopyExceptionDialog(it, title, content) diskCopyExceptionDialog.show() } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/CopyBagSuccessDialog.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/CopyBagSuccessDialog.kt index 070cbd7d90..da2277a672 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/CopyBagSuccessDialog.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/CopyBagSuccessDialog.kt @@ -5,11 +5,13 @@ import androidx.lifecycle.LifecycleObserver import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog import kotlinx.android.synthetic.main.dialog_copy_bag_success.tvCopyBagSuccessClose +import kotlinx.android.synthetic.main.dialog_copy_bag_success.tvCopyBagSuccessContent +import kotlinx.android.synthetic.main.dialog_copy_bag_success.tvCopyBagSuccessTitle /** * 数据落盘拷贝成功对话框 */ -class CopyBagSuccessDialog(context: Context) : +class CopyBagSuccessDialog(context: Context,private val title: String,private val content: String) : BaseFloatDialog(context,TAG), LifecycleObserver { companion object { @@ -23,6 +25,8 @@ class CopyBagSuccessDialog(context: Context) : } private fun initView(){ + tvCopyBagSuccessTitle.text = title + tvCopyBagSuccessContent.text = content tvCopyBagSuccessClose.setOnClickListener { dismiss() } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/DiskCopyExceptionDialog.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/DiskCopyExceptionDialog.kt index cbbf9bbd02..0771cf5be0 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/DiskCopyExceptionDialog.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/DiskCopyExceptionDialog.kt @@ -5,11 +5,13 @@ import androidx.lifecycle.LifecycleObserver import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog import kotlinx.android.synthetic.main.dialog_disk_copy_exception.tvCopyExceptionClose +import kotlinx.android.synthetic.main.dialog_disk_copy_exception.tvCopyExceptionContent +import kotlinx.android.synthetic.main.dialog_disk_copy_exception.tvCopyExceptionTitle /** * 数据落盘辅助工具-异常情况及建议操作弹窗 */ -class DiskCopyExceptionDialog(context: Context) : +class DiskCopyExceptionDialog(context: Context,private var title: String,private var content: String) : BaseFloatDialog(context,TAG), LifecycleObserver { companion object { @@ -23,7 +25,8 @@ class DiskCopyExceptionDialog(context: Context) : } private fun initView(){ - + tvCopyExceptionTitle.text = title + tvCopyExceptionContent.text = content //关闭异常弹窗 tvCopyExceptionClose.setOnClickListener { dismiss() diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/DiskCopyView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/DiskCopyView.kt index ac04c9f65a..da6298a66f 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/DiskCopyView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/DiskCopyView.kt @@ -5,6 +5,7 @@ import android.util.AttributeSet import android.view.LayoutInflater import android.view.View import androidx.constraintlayout.widget.ConstraintLayout +import androidx.core.content.ContextCompat import androidx.recyclerview.widget.GridLayoutManager import com.mogo.eagle.core.data.deva.diskcopy.CopyCalendarInfo import com.mogo.eagle.core.function.api.devatools.IDiskCopyListener @@ -76,15 +77,13 @@ class DiskCopyView @JvmOverloads constructor( tvCurrentWeek.text = parseWeekDescribe(info.currentDayOfWeek) if(info.canCopy){ //开始拷贝数据 - tvCopyStatus.text = resources.getString(R.string.copy_bag_start) - tvCopyStatus.setTextColor(context.getColor(R.color.color_copy_bag_start)) copyStatus = 1 currentCopyDate = info.ipcDateFormat.toInt() + notifyCopyStatusDisplay(copyStatus) }else{ //所选日期无法拷贝 - tvCopyStatus.text = resources.getString(R.string.date_cannot_copy) - tvCopyStatus.setTextColor(context.getColor(R.color.color_date_cannot_copy)) copyStatus = 5 + notifyCopyStatusDisplay(copyStatus) } } }) @@ -92,21 +91,32 @@ class DiskCopyView @JvmOverloads constructor( rvCalendar.layoutManager = gridLayoutManager //拷贝状态 tvCopyStatus.setOnClickListener { - if(copyStatus == 1){ - //开始拷贝数据 - CallerAutoPilotControlManager.sendCopyBagCopyDate(currentCopyDate) - }else if(copyStatus == 2){ - //拷贝中 - ToastUtils.showShort("正在拷贝中...") - }else if(copyStatus == 3){ - //拷贝成功 - ToastUtils.showShort("当前日期数据已拷贝成功") - }else if(copyStatus == 4){ - //剩余空间不足 - ToastUtils.showShort("当前硬盘剩余空间不足") - }else if(copyStatus == 5){ - //所选日期无法拷贝 - ToastUtils.showShort("所选日期无法拷贝") + when (copyStatus) { + 1 -> { + //开始拷贝数据 + val result = CallerAutoPilotControlManager.sendCopyBagCopyDate(currentCopyDate) + if(result){ + //将当前拷贝状态置为拷贝中 + copyStatus = 2 + notifyCopyStatusDisplay(copyStatus) + } + } + 2 -> { + //拷贝中 + ToastUtils.showShort("正在拷贝中...") + } + 3 -> { + //拷贝成功 + ToastUtils.showShort("当前日期数据已拷贝成功") + } + 4 -> { + //剩余空间不足 + ToastUtils.showShort("当前硬盘剩余空间不足") + } + 5 -> { + //所选日期无法拷贝 + ToastUtils.showShort("所选日期无法拷贝") + } } } //拔出硬盘 @@ -122,11 +132,16 @@ class DiskCopyView @JvmOverloads constructor( //数据日期 viewDiskCopyDate.setOnClickListener { - //隐藏当前视图 - pbDiskCopyProgress.visibility = View.GONE - groupDiskCopy.visibility = View.GONE - //展示日历 - groupDateSelect.visibility = View.VISIBLE + if(copyStatus == 2){ + //数据拷贝中,不可再选择日期 + ToastUtils.showShort("数据拷贝中,不可再次选择日期,请耐心等待") + }else{ + //隐藏当前视图 + pbDiskCopyProgress.visibility = View.GONE + groupDiskCopy.visibility = View.GONE + //展示日历 + groupDateSelect.visibility = View.VISIBLE + } } } @@ -275,7 +290,7 @@ class DiskCopyView @JvmOverloads constructor( calendarList.add(CopyCalendarInfo(false,threeDaysAgo.toString(),threeDaysAgoOfIpc,threeDaysAgoOfUi,threeDaysAgoOfWeek)) calendarList.add(CopyCalendarInfo(false,twoDaysAgo.toString(),twoDaysAgoOfIpc,twoDaysAgoOfUi,twoDaysAgoOfWeek)) calendarList.add(CopyCalendarInfo(false,yesterday.toString(),yesterdayOfIpc,yesterdayOfUi,yesterdayOfWeek)) - calendarList.add(CopyCalendarInfo(false,today.toString(),todayOfIpc,todayOfUi,todayOfWeek)) + calendarList.add(CopyCalendarInfo(false,today.toString(),todayOfIpc,todayOfUi,todayOfWeek, isSelected = true)) diskCopyCalendarAdapter?.setData(calendarList) //展示当天日期 tvCurrentDate.text = todayOfUi @@ -287,6 +302,59 @@ class DiskCopyView @JvmOverloads constructor( } } + /** + * 刷新当前拔出硬盘图标显示状态 + */ + private fun notifyCopyStatusDisplay(copyStatus: Int,copyProgress: Int = 0){ + if(copyStatus == 2){ + //拷贝中,显示黄色图标 + ivDiskUnplug.setImageDrawable( + ContextCompat.getDrawable( + context, + R.drawable.icon_disk_unplug_copying + )) + }else{ + //显示蓝色图标 + ivDiskUnplug.setImageDrawable( + ContextCompat.getDrawable( + context, + R.drawable.icon_disk_unplug_connected + )) + } + when(copyStatus){ + //默认状态 + 0->{ + + } + //开始拷贝数据 + 1->{ + tvCopyStatus.text = resources.getString(R.string.copy_bag_start) + tvCopyStatus.setTextColor(context.getColor(R.color.color_copy_bag_start)) + } + //拷贝中 + 2->{ + tvCopyStatus.text = String.format(resources.getString(R.string.disk_copy_progress),copyProgress) + tvCopyStatus.setTextColor(context.getColor(R.color.color_disk_copy_progress)) + } + //拷贝成功 + 3->{ + tvCopyStatus.text = resources.getString(R.string.copy_bag_success) + tvCopyStatus.setTextColor(context.getColor(R.color.color_copy_bag_success)) + } + //剩余空间不足 + 4->{ + tvCopyStatus.text = resources.getString(R.string.disk_not_enough_space) + tvCopyStatus.setTextColor(context.getColor(R.color.color_disk_not_enough_space)) + } + //所选日期无法拷贝 + 5->{ + tvCopyStatus.text = resources.getString(R.string.date_cannot_copy) + tvCopyStatus.setTextColor(context.getColor(R.color.color_date_cannot_copy)) + } + } + + } + private fun parseWeekDescribe(currentWeek: Int?): String{ return when(currentWeek){ //星期日 @@ -359,6 +427,24 @@ class DiskCopyView @JvmOverloads constructor( } } //挂载成功的信息集合 + Logger.i(TAG,"磁盘空间不足提示: 移动硬盘剩余空间不足,建议更换硬盘="+diskCopy.mountSuccess.tips) + if(diskCopy.mountSuccess.tips.isNotEmpty()){ + //如果磁盘空间不足字段不为空(默认设置的不足100G会提示空间不足,如果收到拷贝开始时会再检查本次拷贝总大小和剩余空间,如果剩余空间不满足本次拷贝也会提示不足) + //则更换磁盘空间进度条展示样式,并且进行弹窗提示 + pbDiskUsedSpaces.progressDrawable = ContextCompat.getDrawable( + context, + R.drawable.progressbar_disk_not_enough_space + ) + //数据拷贝工具异常 + CallerHmiManager.showDiskCopyExceptionDialog("数据拷贝工具异常",diskCopy.mountSuccess.tips) + copyStatus = 4 + notifyCopyStatusDisplay(copyStatus) + }else{ + pbDiskUsedSpaces.progressDrawable = ContextCompat.getDrawable( + context, + R.drawable.progressbar_disk_used_space + ) + } Logger.i(TAG,"磁盘总空间="+diskCopy.mountSuccess.totalSize) Logger.i(TAG,"磁盘剩余空间="+diskCopy.mountSuccess.diskFree) //磁盘剩余空间显示 @@ -368,9 +454,6 @@ class DiskCopyView @JvmOverloads constructor( tvDiskUsedPercent.text = String.format(resources.getString(R.string.disk_used_percent),diskUsedPercent) //磁盘已用空间百分比进度条 pbDiskUsedSpaces.progress = diskUsedPercent - Logger.i(TAG,"磁盘空间不足提示: 移动硬盘剩余空间不足,建议更换硬盘="+diskCopy.mountSuccess.tips) - //TODO 需要确定字段具体示意 - Logger.i(TAG,"可拷贝日期数量="+diskCopy.mountSuccess.datesCount) diskCopy.mountSuccess.datesList.forEach { Logger.i(TAG, "可拷贝日期=$it") @@ -385,8 +468,9 @@ class DiskCopyView @JvmOverloads constructor( diskCopyCalendarAdapter?.setData(calendarList) //挂载异常: 移动硬盘挂载失败,请重插或更换硬盘 Logger.i(TAG,"挂载异常="+diskCopy.mountError) - - + if(diskCopy.mountError.isNotEmpty()){ + CallerHmiManager.showDiskCopyExceptionDialog("数据拷贝工具异常",diskCopy.mountError) + } //需要拷贝的文件总大小 Logger.i(TAG,"需要拷贝的文件总大小="+diskCopy.copyTotalSize) //已拷贝大小 @@ -400,22 +484,38 @@ class DiskCopyView @JvmOverloads constructor( val copyProgress = (diskCopy.copiedSize*100/diskCopy.copyTotalSize).toInt() pbDiskCopyProgress.progress = copyProgress //拷贝状态控件显示当前拷贝进度 - tvCopyStatus.text = String.format(resources.getString(R.string.disk_copy_progress),copyProgress) - tvCopyStatus.setTextColor(context.getColor(R.color.color_disk_copy_progress)) + copyStatus = 2 + notifyCopyStatusDisplay(copyStatus) } //拷贝剩余时间 Logger.i(TAG,"拷贝剩余时间="+diskCopy.freeTime) //拷贝是否成功,是-True,否-False Logger.i(TAG,"拷贝是否成功,是-True,否-False="+diskCopy.copyStatus) + if(diskCopy.copyStatus){ + //将当前拷贝状态置为拷贝成功 + copyStatus = 3 + notifyCopyStatusDisplay(copyStatus) + CallerHmiManager.showCopyBagSuccessDialog("数据拷贝完成",diskCopy.successInfo) + } //拷贝异常提示,如域控间连接超时拷贝失败,建议查看各域控是否在线,不在线请重启车辆再试 Logger.i(TAG,"拷贝异常提示="+diskCopy.copyErr) - + if(diskCopy.copyErr.isNotEmpty()){ + //拷贝异常 + CallerHmiManager.showDiskCopyExceptionDialog("数据拷贝工具异常",diskCopy.copyErr) + } //即将中止数据拷贝并安全弹出硬盘,是否继续操作? Logger.i(TAG,"即将中止数据拷贝并安全弹出硬盘,是否继续操作?="+diskCopy.abortData) //硬盘是否已安全弹出,是-True,否-False Logger.i(TAG,"硬盘是否已安全弹出,是-True,否-False="+diskCopy.diskUnmount) + if(diskCopy.diskUnmount){ + ToastUtils.showShort("硬盘已安全弹出") + } //硬盘弹出失败提示:安全弹出失败,建议车辆下电后拔走硬盘 Logger.i(TAG,"硬盘弹出失败提示="+diskCopy.unmountErr) + if(diskCopy.unmountErr.isNotEmpty()){ + //硬盘安全弹出异常 + CallerHmiManager.showDiskCopyExceptionDialog("硬盘安全弹出异常",diskCopy.unmountErr) + } //拷贝成功的信息提示,如当前车辆拷贝的各类型的包各有多少个 Logger.i(TAG,"拷贝成功的信息提示="+diskCopy.successInfo) } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/adapter/DiskCopyCalendarAdapter.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/adapter/DiskCopyCalendarAdapter.kt index fbf73453fd..8e79cdd736 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/adapter/DiskCopyCalendarAdapter.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/adapter/DiskCopyCalendarAdapter.kt @@ -5,6 +5,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView +import androidx.appcompat.content.res.AppCompatResources import androidx.recyclerview.widget.RecyclerView import com.mogo.eagle.core.data.deva.diskcopy.CopyCalendarInfo import com.mogo.eagle.core.function.hmi.R @@ -17,7 +18,7 @@ class DiskCopyCalendarAdapter(private val context: Context): RecyclerView.Adapte private var data: ArrayList ?= null private val title: Int = 0 private var dateSelectListener: DateSelectListener ?= null - + private var previousDate: CopyCalendarInfo ?= null fun setData(list: ArrayList){ data = list @@ -53,7 +54,20 @@ class DiskCopyCalendarAdapter(private val context: Context): RecyclerView.Adapte }else{ holder.tvCalendarContent.setTextColor(context.getColor(R.color.color_disk_copy_date)) } + if(dateInfo.isSelected){ + holder.tvCalendarContent.background = AppCompatResources + .getDrawable(context,R.drawable.bg_current_select_date) + previousDate = dateInfo + }else{ + holder.tvCalendarContent.background = null + } holder.tvCalendarContent.setOnClickListener { + previousDate?.isSelected = false + dateInfo.isSelected = true + holder.tvCalendarContent.background = AppCompatResources + .getDrawable(context,R.drawable.bg_current_select_date) + previousDate = dateInfo + notifyDataSetChanged() dateSelectListener?.onDateSelect(dateInfo) } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/bg_current_select_date.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/bg_current_select_date.png new file mode 100644 index 0000000000000000000000000000000000000000..734b583af952bd58b92cb0f27c4d44c9e2f89738 GIT binary patch literal 5636 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 + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_copy_bag_success.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_copy_bag_success.xml index 98cab912e3..4c98667b05 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_copy_bag_success.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_copy_bag_success.xml @@ -32,12 +32,14 @@ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_disk_copy_exception.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_disk_copy_exception.xml index 2a46d817e8..7c38e66a03 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_disk_copy_exception.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_disk_copy_exception.xml @@ -26,18 +26,22 @@ app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@id/ivCopyException" android:layout_marginTop="@dimen/dp_30" + android:layout_marginStart="@dimen/dp_30" + android:layout_marginEnd="@dimen/dp_30" android:textColor="@color/white" android:textSize="@dimen/sp_45" /> diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_calendar_content.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_calendar_content.xml index 84acafb0e7..d7bf291ebf 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_calendar_content.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_calendar_content.xml @@ -2,7 +2,7 @@