diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt index 5401c0a2cf..99e2eec422 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/DevaToolsProvider.kt @@ -163,7 +163,7 @@ class DevaToolsProvider : IDevaToolsProvider, IAppStateListener { if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { CallerHmiManager.toggleSafetyStopCarWarning(false) AppStateManager.currentActivity()?.also { - AIAssist.getInstance(it).speakTTSVoice("请接管恢复停车状态") + AIAssist.getInstance(it).speakTTSVoice("请接管恢复车辆状态") } } } 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 new file mode 100644 index 0000000000..cbbf9bbd02 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/DiskCopyExceptionDialog.kt @@ -0,0 +1,43 @@ +package com.mogo.eagle.core.function.hmi.ui.diskcopy + +import android.content.Context +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 + +/** + * 数据落盘辅助工具-异常情况及建议操作弹窗 + */ +class DiskCopyExceptionDialog(context: Context) : + BaseFloatDialog(context,TAG), LifecycleObserver { + + companion object { + private const val TAG = "DiskCopyExceptionDialog" + } + + init{ + setContentView(R.layout.dialog_disk_copy_exception) + setCanceledOnTouchOutside(false) + initView() + } + + private fun initView(){ + + //关闭异常弹窗 + tvCopyExceptionClose.setOnClickListener { + dismiss() + } + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + + } + +} \ No newline at end of file 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 new file mode 100644 index 0000000000..74d2d64680 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/DiskCopyView.kt @@ -0,0 +1,79 @@ +package com.mogo.eagle.core.function.hmi.ui.diskcopy + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import android.view.View +import androidx.constraintlayout.widget.ConstraintLayout +import androidx.recyclerview.widget.GridLayoutManager +import com.mogo.eagle.core.data.deva.diskcopy.CopyCalendarInfo +import com.mogo.eagle.core.function.hmi.R +import com.mogo.eagle.core.function.hmi.ui.diskcopy.adapter.DiskCopyCalendarAdapter +import kotlinx.android.synthetic.main.view_disk_copy.view.groupDateSelect +import kotlinx.android.synthetic.main.view_disk_copy.view.groupDiskCopy +import kotlinx.android.synthetic.main.view_disk_copy.view.pbDiskCopyProgress +import kotlinx.android.synthetic.main.view_disk_copy.view.rvCalendar +import kotlinx.android.synthetic.main.view_disk_copy.view.viewDiskCopyDate + +/** + * 数据落盘辅助工具 + */ +class DiskCopyView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : ConstraintLayout(context, attrs, defStyleAttr){ + + companion object { + const val TAG = "DiskCopyView" + } + + private var diskCopyCalendarAdapter: DiskCopyCalendarAdapter ?= null + private var calendarList: ArrayList = ArrayList() + + init{ + LayoutInflater.from(context).inflate(R.layout.view_disk_copy, this, true) + initView() + initData() + } + + private fun initView(){ + val gridLayoutManager = GridLayoutManager(context,7) + diskCopyCalendarAdapter = DiskCopyCalendarAdapter() + rvCalendar.adapter = diskCopyCalendarAdapter + rvCalendar.layoutManager = gridLayoutManager + + viewDiskCopyDate.setOnClickListener { + //隐藏当前视图 + pbDiskCopyProgress.visibility = View.GONE + groupDiskCopy.visibility = View.GONE + //展示日历 + groupDateSelect.visibility = View.VISIBLE + } + } + + private fun initData(){ + //添加日历星期标题头 + calendarList.add(CopyCalendarInfo(true,"日")) + calendarList.add(CopyCalendarInfo(true,"一")) + calendarList.add(CopyCalendarInfo(true,"二")) + calendarList.add(CopyCalendarInfo(true,"三")) + calendarList.add(CopyCalendarInfo(true,"四")) + calendarList.add(CopyCalendarInfo(true,"五")) + calendarList.add(CopyCalendarInfo(true,"六")) + + + diskCopyCalendarAdapter?.setData(calendarList) + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + + } + +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/TerminateCopyDataDialog.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/TerminateCopyDataDialog.kt new file mode 100644 index 0000000000..645d87acc8 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/TerminateCopyDataDialog.kt @@ -0,0 +1,38 @@ +package com.mogo.eagle.core.function.hmi.ui.diskcopy + +import android.content.Context +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_terminate_copy_data.tvCopyTerminateCancel +import kotlinx.android.synthetic.main.dialog_terminate_copy_data.tvCopyTerminateConfirm + +/** + * 数据落盘-终止数据拷贝确认弹窗 + */ +class TerminateCopyDataDialog(context: Context) : + BaseFloatDialog(context,TAG), LifecycleObserver { + + companion object { + private const val TAG = "TerminateCopyDataDialog" + } + + init{ + setContentView(R.layout.dialog_terminate_copy_data) + setCanceledOnTouchOutside(false) + initView() + } + + private fun initView(){ + //确认终止数据拷贝 + tvCopyTerminateConfirm.setOnClickListener { + //TODO + dismiss() + } + //取消终止数据拷贝 + tvCopyTerminateCancel.setOnClickListener { + //TODO + dismiss() + } + } +} \ No newline at end of file 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 new file mode 100644 index 0000000000..c011cc4b91 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/diskcopy/adapter/DiskCopyCalendarAdapter.kt @@ -0,0 +1,73 @@ +package com.mogo.eagle.core.function.hmi.ui.diskcopy.adapter + +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.mogo.eagle.core.data.deva.diskcopy.CopyCalendarInfo +import com.mogo.eagle.core.function.hmi.R + +/** + * 数据落盘日历适配器 + */ +class DiskCopyCalendarAdapter(): RecyclerView.Adapter() { + + private var data: ArrayList ?= null + + private val title: Int = 0 + + fun setData(list: ArrayList){ + data = list + notifyDataSetChanged() + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { + return when(viewType){ + title->{ + val view = LayoutInflater.from(parent.context).inflate(R.layout.item_calendar_title,parent,false) + CalendarTitleHolder(view) + } + else->{ + val view = LayoutInflater.from(parent.context).inflate(R.layout.item_calendar_content,parent,false) + CalendarContentHolder(view) + } + } + } + + override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { + when(holder){ + is CalendarTitleHolder->{ + data?.let { + holder.tvCalendarTitle.text = it[position].content + } + } + is CalendarContentHolder->{ + data?.let { + holder.tvCalendarContent.text = it[position].content + } + } + } + } + + override fun getItemCount() = data?.size ?: 0 + + override fun getItemViewType(position: Int): Int{ + return if(data!![position].isTitle){ + 0 + }else { + 1 + } + } + + //Title + class CalendarTitleHolder(itemView: View): RecyclerView.ViewHolder(itemView){ + var tvCalendarTitle: TextView = itemView.findViewById(R.id.tvCalendarTitle) + } + + //Content + class CalendarContentHolder(itemView: View): RecyclerView.ViewHolder(itemView){ + var tvCalendarContent: TextView = itemView.findViewById(R.id.tvCalendarContent) + } + +} \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/bg_disk_copy.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/bg_disk_copy.png new file mode 100644 index 0000000000..16eedd0bc3 Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/bg_disk_copy.png differ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_disk_copy_calendar.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_disk_copy_calendar.png new file mode 100644 index 0000000000..7e0d1496ae Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_disk_copy_calendar.png differ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_disk_copy_exception.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_disk_copy_exception.png new file mode 100644 index 0000000000..3e1e27d6bd Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_disk_copy_exception.png differ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_disk_copy_terminate.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_disk_copy_terminate.png new file mode 100644 index 0000000000..23b5882db7 Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_disk_copy_terminate.png differ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_disk_unplug_connected.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_disk_unplug_connected.png new file mode 100644 index 0000000000..ff96a8dc67 Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_disk_unplug_connected.png differ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_disk_unplug_copying.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_disk_unplug_copying.png new file mode 100644 index 0000000000..dd81604e4a Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable-xhdpi/icon_disk_unplug_copying.png differ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_disk_copy_date.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_disk_copy_date.xml new file mode 100644 index 0000000000..b221cde9cd --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_disk_copy_date.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/progressbar_disk_copy_progress.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/progressbar_disk_copy_progress.xml new file mode 100644 index 0000000000..0fa438a91f --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/progressbar_disk_copy_progress.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/progressbar_disk_used_space.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/progressbar_disk_used_space.xml new file mode 100644 index 0000000000..ea80583557 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/progressbar_disk_used_space.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file 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 new file mode 100644 index 0000000000..2a46d817e8 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_disk_copy_exception.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_terminate_copy_data.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_terminate_copy_data.xml new file mode 100644 index 0000000000..b436c4249a --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/dialog_terminate_copy_data.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + \ No newline at end of file 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 new file mode 100644 index 0000000000..04a51689e0 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_calendar_content.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_calendar_title.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_calendar_title.xml new file mode 100644 index 0000000000..d72180cb85 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/item_calendar_title.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_disk_copy.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_disk_copy.xml new file mode 100644 index 0000000000..0bf79e25cb --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_disk_copy.xml @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml index 8fbf618a17..23fac7f18c 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml @@ -269,4 +269,17 @@ FSM美化模式状态下异常标识 + 硬盘已接入 + 硬盘退出图标 + 数据日期 + 日期选择图标 + 选择日期 + 终止数据拷贝确认图标 + 终止数据拷贝 + 终止数据拷贝并安全弹出硬盘 + 确认 + 取消 + 数据落盘异常图标 + 关闭 + diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/diskcopy/CopyCalendarInfo.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/diskcopy/CopyCalendarInfo.kt new file mode 100644 index 0000000000..f9befb8821 --- /dev/null +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/deva/diskcopy/CopyCalendarInfo.kt @@ -0,0 +1,3 @@ +package com.mogo.eagle.core.data.deva.diskcopy + +data class CopyCalendarInfo(var isTitle: Boolean, var content: String) \ No newline at end of file