From 75f557ed6d4e94ec93313f31dbab5b1914d6b791 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 26 Dec 2024 17:31:22 +0800 Subject: [PATCH] =?UTF-8?q?[6.8.4]=20[fea]=20[all]=20[=E8=AE=BF=E5=AE=A2?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E6=A0=87=E8=AF=86]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wigets/dialog/CommonDialogStatus.kt | 4 ++-- .../mogo/och/data/db/exception/DbException.kt | 1 - .../och/facade/view/OchCustomViewProvider.kt | 1 - .../repository/db/repository/TaskSiteDb.kt | 6 ++--- .../offline/ui/fragment/OfflineFragment.kt | 5 +++++ .../offline/ui/sattusbar/OfflineStateView.kt | 21 ++++++++++++++++++ .../offline/ui/switchline/SwitchLineView.kt | 11 ++++----- .../drawable-nodpi/offline_status_icon.png | Bin 0 -> 1626 bytes .../main/res/layout/offline_status_bar.xml | 17 ++++++++++++++ .../function/hmi/bone/tab/CarInfoTabView.kt | 16 +++++++++++++ .../src/main/res/values/color.xml | 1 + .../src/main/res/values/strings.xml | 2 ++ 12 files changed, 73 insertions(+), 12 deletions(-) create mode 100644 OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/sattusbar/OfflineStateView.kt create mode 100644 OCH/offline/driver/src/main/res/drawable-nodpi/offline_status_icon.png create mode 100644 OCH/offline/driver/src/main/res/layout/offline_status_bar.xml diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonDialogStatus.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonDialogStatus.kt index 78c037b8b7..1116bb868e 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonDialogStatus.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonDialogStatus.kt @@ -176,8 +176,8 @@ class CommonDialogStatus: BaseFloatDialog, LifecycleObserver { var statusEnum: Status = Status.ask var titleStr:String = "" var tipsStr:String = "" - var confirmStr:String = "" - var cancelStr:String = "" + var confirmStr:String = ResourcesUtils.getString(R.string.confirm) + var cancelStr:String = ResourcesUtils.getString(R.string.cancel) var countDownValue: Int = 0 var showClose:Boolean =false var cancelTextColor:Int = R.color.common_ffffffff diff --git a/OCH/common/data/src/main/java/com/mogo/och/data/db/exception/DbException.kt b/OCH/common/data/src/main/java/com/mogo/och/data/db/exception/DbException.kt index 024a3e277f..771aa95ce1 100644 --- a/OCH/common/data/src/main/java/com/mogo/och/data/db/exception/DbException.kt +++ b/OCH/common/data/src/main/java/com/mogo/och/data/db/exception/DbException.kt @@ -3,7 +3,6 @@ package com.mogo.och.data.db.exception class DbException: RuntimeException { var code:Int = 0 var msg:String = "" - constructor() : super() constructor(code:Int, message: String) : super("${code}_${message}"){ this.code = code this.msg = message diff --git a/OCH/facade/src/main/java/com/mogo/och/facade/view/OchCustomViewProvider.kt b/OCH/facade/src/main/java/com/mogo/och/facade/view/OchCustomViewProvider.kt index 47010619ee..f3506c099d 100644 --- a/OCH/facade/src/main/java/com/mogo/och/facade/view/OchCustomViewProvider.kt +++ b/OCH/facade/src/main/java/com/mogo/och/facade/view/OchCustomViewProvider.kt @@ -24,7 +24,6 @@ class OchCustomViewProvider : IOchCustomViewProvider { override fun init(context: Context?) { CallerLogger.d(TAG, "init") - getCommontService(context) } private fun getCommontService(context: Context?){ diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/repository/TaskSiteDb.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/repository/TaskSiteDb.kt index 59fe4ec27e..96e15bc2aa 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/repository/TaskSiteDb.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/repository/db/repository/TaskSiteDb.kt @@ -39,7 +39,7 @@ object TaskSiteDb : IDbRepository { var startTime = System.currentTimeMillis() val querySites = SiteDb.querySiteByLineId(linId)?.distinctBy { it.siteId } if (querySites.isNullOrEmpty()) { - throw DbException("没有站点数据") + throw DbException(DbException.NEEDSYNDATA,"没有站点数据") } CallerLogger.d(TAG, "查询站点用时:${System.currentTimeMillis() - startTime}") startTime = System.currentTimeMillis() @@ -50,7 +50,7 @@ object TaskSiteDb : IDbRepository { ) CallerLogger.d(TAG, "数据转换用时:${System.currentTimeMillis() - startTime}") if (toTaskSiteDatas.size < 2) { - throw DbException("站点数据不全请稍后再试") + throw DbException(DbException.NEEDSYNDATA,"站点数据不全请稍后再试") } // 把线路所有的站点搬迁到运行中表格中 startTime = System.currentTimeMillis() @@ -123,7 +123,7 @@ object TaskSiteDb : IDbRepository { // 获取线路的站点 val querySites = SiteDb.querySiteByLineId(lineInfo.lineId!!)?.distinctBy { it.siteId } if (querySites.isNullOrEmpty()) { - throw DbException("没有站点数据") + throw DbException(DbException.NEEDSYNDATA,"没有站点数据") } // val toTaskSiteDatas = TaskSiteDataBean.toTaskSiteDatas( // querySites, diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/fragment/OfflineFragment.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/fragment/OfflineFragment.kt index 9c1fc5dd83..bade145d39 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/fragment/OfflineFragment.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/fragment/OfflineFragment.kt @@ -5,10 +5,12 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.mogo.commons.mvp.MvpFragment +import com.mogo.eagle.core.function.call.hmi.CallerHmiManager import com.mogo.eagle.core.function.call.och.CallerEagleBaseFunctionCall4OchManager import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS import com.mogo.och.bridge.ui.drawline.LineView import com.mogo.och.offline.R +import com.mogo.och.offline.ui.sattusbar.OfflineStateView import kotlinx.android.synthetic.main.offline_base_fragment.mapContainerLayout /** @@ -54,6 +56,9 @@ class OfflineFragment : MvpFragment() { override fun onResume() { super.onResume() mapContainerLayout?.onResume() + context?.let { + CallerHmiManager.updateStatusBarLeftView(true,"OFFLINEICON", OfflineStateView(it)) + } } override fun onCreateView( diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/sattusbar/OfflineStateView.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/sattusbar/OfflineStateView.kt new file mode 100644 index 0000000000..18c8a40bd7 --- /dev/null +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/sattusbar/OfflineStateView.kt @@ -0,0 +1,21 @@ +package com.mogo.och.offline.ui.sattusbar + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import androidx.constraintlayout.widget.ConstraintLayout +import com.mogo.och.offline.R + +class OfflineStateView @JvmOverloads constructor( + context: Context, attrs: AttributeSet? = null +) : ConstraintLayout(context, attrs){ + + companion object { + const val TAG = "OfflineStateView" + } + + init { + LayoutInflater.from(context).inflate(R.layout.offline_status_bar, this, true) + } + +} \ No newline at end of file diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/switchline/SwitchLineView.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/switchline/SwitchLineView.kt index 85b7ed1501..720d6e49a7 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/switchline/SwitchLineView.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/ui/switchline/SwitchLineView.kt @@ -6,6 +6,7 @@ import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater import android.view.View +import androidx.constraintlayout.widget.ConstraintLayout import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.findViewTreeViewModelStoreOwner import com.mogo.eagle.core.utilcode.kotlin.onClick @@ -29,16 +30,16 @@ import kotlinx.android.synthetic.main.offline_switch_line.view.switch_line_rv import me.jessyan.autosize.utils.AutoSizeUtils -class SwitchLineView: WindowRelativeLayout, SwtichLineModel.SwtichLineViewCallback { +class SwitchLineView: ConstraintLayout, SwtichLineModel.SwtichLineViewCallback { - constructor(context: Context?) : super(context) + constructor(context: Context) : super(context) - constructor(context: Context?, attributeSet: AttributeSet) : super(context, attributeSet) + constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet) - constructor(context: Context?, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr) + constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super(context, attributeSet, defStyleAttr) - constructor(context: Context?, attributeSet: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attributeSet, defStyleAttr, defStyleRes) + constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int, defStyleRes: Int) : super(context, attributeSet, defStyleAttr, defStyleRes) companion object { diff --git a/OCH/offline/driver/src/main/res/drawable-nodpi/offline_status_icon.png b/OCH/offline/driver/src/main/res/drawable-nodpi/offline_status_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6bc0c0ad00c73906d18930a4bcb36704d60b3176 GIT binary patch literal 1626 zcmV-g2BrClP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91HlPCl1ONa40RR91HUIzs0P{mGqyPW~#7RU!RA>e5SZiopMHD{gW>eGJ zSVd@qr3FzDL{qv+(c)%}ZBp=6mC{O4{9_eKu~0z}Z2xG5f?&Z%=#L5-L{O=UAVN}` zxLIp8k7|DupH*8G8xT!uWAoU1{O0Z>GxzS}J~sK|4lH}lnRCAHoSA!P<_=M<)kdH; z0<{sSjlkRp@SIqENxn{AO|y0<39TZwu5uW}{+*c4Qq1b(HL0Jf&zeQ7dSTMv9;3_b zM~I{g6wMV9KS{*hG-18Qw-3x#@D0>m)xu;Xxd8=rBZKP$WkK{U3hd&R)X{)(CEcx( zJpnspII#;w^&%{2QHlvM(woHyNL<3bDl;ad$vq_UToH~LVi_Q^Qbc&SRI_;{S<*(r z?a=C#$!N@bIiA{Q*g`0g3zLz={dkNHgImYSUF92+Z^mmJ@?g6gOCBJ6SW z*J(b2*e%?WeqXZ%7WHHT2g?^5ucX-Yj|g0*1^-R9wT;((+Naq{iZXOtCt3D8aJXD^ z8mHMs*YM4s{HfUjiP7G%*z_K-=|xRpS-;b7Q7Ti%7cmg0l%8wLFklKhbPGLWax!rR z&F~*!UZk-<$t{BiG~Kr-BW=6k{Gt{xP4&{m&FQ~1n{P4vjLq;}V9|>@O)~k4Z)Ue+ zHukh;UPLp_Oll_oV)(*H?lEbkhg(NxOq+i#8!J6#guU6+{c8~lV{^Z<`D6dIB|JSC zE{+mm#mo^3qwLu)k6K63&wXADlOxaN<3CDajRt<>(g{Nkqj)h)jsTcZ3j5XI89%?m z(8DNR43i@OW|YEyF?skVQxBtgFkBq|F(VWv-xxF&-Dl`w6c2`rBLHUj!Yu18gGcB= z`D*=2!xlhsVu4|VxH*i@@=EB!cx~z!zKp-q;1`o!AL`WMU}R$#7w~}Xa1;!|gwTaK zG|c)D2#0dnD#L9!u?K5T3}THaH@4APSqXhsRL~;$R2gkM0&#;uC3KL^*X_pV{zb#? zQgDsXK#iFLKvADAdOJ$-!476T6Cqoq!W1XIdRG%O?kIA<^IcsekBi78V=`)%wuo$^8#fV2Kj!{=fs^vv8$iQ|Azu$6wYJs@{KmFq} z*F|HPqdT~Da5QfS`(Ks96uF#8UPrd1Ar>pnPkv)$aRLj*_kNr!`9xbha_BPDb}Nbf zD%7w=DWv5J!@3q~DR5y}-n)>9di>mN z2s7|>*xTIPE%JVVu5$xppmt*U@AlZs7y=cBJH)$@{0G3(muj_%zCaUo&qTd{&))lI zo(JAj`02T2unpXcZQvu=eKkF}Y(Q=~KLMvpHOFbp-d5b)eyG_Zi?~_dj9GdYK>B6T zKiCf9ezyZ(%e`}SvPHd9dQsSTd3&{sQlpZ^aya>-lD{QD{l=fNGo zNE$doPvCue&#+Zdaj?PRf=uReahbhp#Ya(wTk46I{D9Eag>aTWtW=u{`aB9)fqSt6 zcWM-8aDRDirK`TmGsa8Q$KPC0L>Gu-k7-2nD`vSSH4+@Uot!k2SFBtZ(W7PK>z@zF%Xv#Kw~}mS3nMFoeM{R< zm_Fn9;Hi>m^VH#Rf?I>Pa=B?HQ>;*!I?ov`WoQelnB0~pHzS+!g^Ao~coQEt^@Y@2 z+@9RbT#BEp^FFqLbn$^ZZW literal 0 HcmV?d00001 diff --git a/OCH/offline/driver/src/main/res/layout/offline_status_bar.xml b/OCH/offline/driver/src/main/res/layout/offline_status_bar.xml new file mode 100644 index 0000000000..b81a43cf2d --- /dev/null +++ b/OCH/offline/driver/src/main/res/layout/offline_status_bar.xml @@ -0,0 +1,17 @@ + + + + + + \ 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/bone/tab/CarInfoTabView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/CarInfoTabView.kt index 48e85e6b67..ba203427fd 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/CarInfoTabView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/bone/tab/CarInfoTabView.kt @@ -7,6 +7,7 @@ import androidx.constraintlayout.widget.ConstraintLayout import com.mogo.commons.debug.DebugConfig import com.mogo.commons.storage.SharedPrefsMgr import com.mogo.eagle.core.data.app.AppConfigInfo +import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.api.datacenter.IDataCenterBizListener import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener @@ -154,6 +155,14 @@ class CarInfoTabView @JvmOverloads constructor( MogoData.mogoMapData.get()?.isCityDataCached { updateHDDataCacheStatus(it) } + + if(FunctionBuildConfig.isOffLine){ + tvCarLoginInfo.visibility = VISIBLE + tvCarLoginInfo.text = resources.getString(R.string.tab_login_norphone) + tvCarLoginInfo.setTextColor(resources.getColor(R.color.color_FFFFCD3D)) + tvCarExit.text = resources.getString(R.string.tab_login_gophone) + tvCarExit.setTextColor(resources.getColor(R.color.color_FF2EACFF)) + } } private fun showCurrentPadVersion() { @@ -168,6 +177,13 @@ class CarInfoTabView @JvmOverloads constructor( } else { tvCarLoginInfo.text = "" } + if(FunctionBuildConfig.isOffLine){ + tvCarLoginInfo.visibility = VISIBLE + tvCarLoginInfo.text = resources.getString(R.string.tab_login_norphone) + tvCarLoginInfo.setTextColor(resources.getColor(R.color.color_FFFFCD3D)) + tvCarExit.text = resources.getString(R.string.tab_login_gophone) + tvCarExit.setTextColor(resources.getColor(R.color.color_FF2EACFF)) + } } } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/values/color.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/values/color.xml index fdf2677575..aade1c74ce 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/values/color.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/values/color.xml @@ -45,6 +45,7 @@ #E6FFFFFF #D945D3FF #D93261B6 + #FFCD3D #FF999900 #FFCC0000 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 fb0ef99aa8..d907aec677 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 @@ -14,6 +14,8 @@ HDMAP: ADMAP: 检查更新 + 访客(未登录) + 登录 最小化 日志