From 6ac65d7d54df6b2299b0c3e86f467cca585ad98b Mon Sep 17 00:00:00 2001 From: renwj Date: Tue, 26 Nov 2024 19:09:57 +0800 Subject: [PATCH 1/8] =?UTF-8?q?[6.8.0][=E9=A9=BE=E9=A9=B6=E4=BD=8D?= =?UTF-8?q?=E8=A7=86=E9=A2=91=E6=B5=81]=20=E4=BF=AE=E6=AD=A3=E8=BD=A6?= =?UTF-8?q?=E7=89=8C=E5=8F=B7=E8=8E=B7=E5=8F=96=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../video/DriveSeatVideoProviderImpl.kt | 6 +++-- .../hmi/ui/operate/OperatePanelLayout.kt | 22 ++++++++++++++++++- .../datacenter/CallerDataCenterBizListener.kt | 4 ++++ 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/driver/video/DriveSeatVideoProviderImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/driver/video/DriveSeatVideoProviderImpl.kt index 615fcdc64b..5acb76fdbc 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/driver/video/DriveSeatVideoProviderImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/driver/video/DriveSeatVideoProviderImpl.kt @@ -14,6 +14,7 @@ import com.mogo.eagle.core.function.api.driver.video.IDriveSeatVideoProvider.Eve import com.mogo.eagle.core.function.api.driver.video.IDriveSeatVideoProvider.Event.Failed import com.mogo.eagle.core.function.api.driver.video.IDriveSeatVideoProvider.Event.Loading import com.mogo.eagle.core.function.api.driver.video.IDriveSeatVideoProvider.Event.Playing +import com.mogo.eagle.core.function.call.datacenter.CallerDataCenterBizListener import com.mogo.eagle.core.network.MoGoRetrofitFactory import com.mogo.eagle.core.utilcode.util.AppStateManager import com.tencent.liteav.basic.log.TXCLog @@ -58,8 +59,9 @@ class DriveSeatVideoProviderImpl: IDriveSeatVideoProvider { override suspend fun requestVideoInfo(): VideoUrlData? { - val plateNumber = AppConfigInfo.plateNumber - if (TextUtils.isEmpty(plateNumber)) { + val plateNumber = CallerDataCenterBizListener.getPlateNumber() +// val plateNumber = "京A40188D" + if (plateNumber == null || TextUtils.isEmpty(plateNumber)) { Log.e(TAG, "-- isVideoLiveUsable -- plate number is empty.") return null } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt index 64c92eb7d6..15f15629b2 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt @@ -4,6 +4,7 @@ import android.content.Context import android.os.Bundle import android.util.AttributeSet import android.util.Log +import android.view.Gravity import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -54,6 +55,7 @@ import com.mogo.eagle.core.function.hmi.ui.operate.preferences.PreferenceWithWel import com.mogo.eagle.core.function.hmi.ui.tools.SweeperModeChangedConfirmDialog import com.mogo.eagle.core.function.hmi.ui.utils.HmiActionLog.Companion.hmiAction import com.mogo.eagle.core.function.hmi.ui.utils.SOPAnalyticsManager.clickEventAnalytics +import com.mogo.eagle.core.utilcode.floating.MoGoPopWindow import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger @@ -898,8 +900,14 @@ class OperatePanelLayout : LinearLayout { clickEventAnalytics("视频流驾驶位开关", isChecked) val map = HashMap() map["open"] = if (isChecked) "1" else "0" - map["playUrl"] = CallerDevaToolsManager.driveSeatVideoProvider()?.getLastData()?.livePlayUrl ?: "" + val playUrl = CallerDevaToolsManager.driveSeatVideoProvider()?.getLastData()?.livePlayUrl ?: "" + map["playUrl"] = playUrl CallerTelematicManager.sendMsgToAllClients(TelematicConstant.DRIVE_SEAT_VIDEO_STREAM_REQ, toJson(map).toByteArray()) + CallerDevaToolsManager.driveSeatVideoProvider()?.getDriveVideoView(playUrl) { event -> + Log.d(TAG, "event -> $event") + }?.also { + showVideoView(it) + } return false } } @@ -909,6 +917,18 @@ class OperatePanelLayout : LinearLayout { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { setPreferencesFromResource(R.xml.operate_panel_preference_details_business, rootKey) } + + private fun showVideoView(target: View) { + val activity = AppStateManager.currentActivity() ?: return + MoGoPopWindow.Builder() + .attachToActivity(activity) + .contentView(target) + .draggable(false) + .width(AutoSizeUtils.dp2px(activity, 640.0f)) + .height(AutoSizeUtils.dp2px(activity, 480.0f)) + .gravityInActivity(Gravity.CENTER) + .build().show() + } } class MoFangPreferenceFragmentCompat : OperatePanelDetailBase(), IMoGoMoFangProvider.OnMoFangStatusListener { diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/datacenter/CallerDataCenterBizListener.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/datacenter/CallerDataCenterBizListener.kt index a2c1e78652..e32ebbfd83 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/datacenter/CallerDataCenterBizListener.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/datacenter/CallerDataCenterBizListener.kt @@ -116,4 +116,8 @@ object CallerDataCenterBizListener : CallerBase() { fun getCarModel(): Carmodel? { return carModel } + + fun getPlateNumber(): String? { + return no + } } \ No newline at end of file From cb0435bb570def577b1d0e509e8cc4c1cdcdc513 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Tue, 26 Nov 2024 19:23:24 +0800 Subject: [PATCH 2/8] =?UTF-8?q?[6.8.0][Opt]=E8=B0=83=E6=95=B4=E8=A1=8C?= =?UTF-8?q?=E7=A8=8B=E5=85=A8=E8=A7=88=E5=9C=B0=E5=9B=BE=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E7=9A=84=E8=8C=83=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/eagle/core/function/view/TravelRealityView.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt index 95fc9a92a7..e6c1d08739 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/view/TravelRealityView.kt @@ -716,7 +716,9 @@ class TravelRealityView @JvmOverloads constructor( if (mLocation != null) { boundsBuilder.include(LatLng(mLocation!!.latitude, mLocation!!.longitude)) } - + mSiteList.forEach { + boundsBuilder.include(LatLng(it.latLng.lat!!, it.latLng.lon!!)) + } val cameraUpdate = CameraUpdateFactory.newLatLngBoundsRect( boundsBuilder.build(), AutoSizeUtils.dp2px(context, leftPadding.toFloat()), @@ -1335,7 +1337,9 @@ class TravelRealityView @JvmOverloads constructor( if (mLocation != null) { boundsBuilder.include(LatLng(mLocation!!.latitude, mLocation!!.longitude)) } - + mSiteList.forEach { + boundsBuilder.include(LatLng(it.latLng.lat!!, it.latLng.lon!!)) + } val cameraUpdate = CameraUpdateFactory.newLatLngBoundsRect( boundsBuilder.build(), AutoSizeUtils.dp2px(context, leftPadding.toFloat()), From 097f2e442b8c8de2d3ba9b7ddcf26e762aa47add Mon Sep 17 00:00:00 2001 From: renwj Date: Tue, 26 Nov 2024 19:27:25 +0800 Subject: [PATCH 3/8] =?UTF-8?q?[6.8.0][=E9=A9=BE=E9=A9=B6=E4=BD=8D?= =?UTF-8?q?=E8=A7=86=E9=A2=91=E6=B5=81]=20=E6=B3=A8=E6=8E=89=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/function/hmi/ui/operate/OperatePanelLayout.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt index 15f15629b2..acd053b9e8 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/OperatePanelLayout.kt @@ -903,11 +903,11 @@ class OperatePanelLayout : LinearLayout { val playUrl = CallerDevaToolsManager.driveSeatVideoProvider()?.getLastData()?.livePlayUrl ?: "" map["playUrl"] = playUrl CallerTelematicManager.sendMsgToAllClients(TelematicConstant.DRIVE_SEAT_VIDEO_STREAM_REQ, toJson(map).toByteArray()) - CallerDevaToolsManager.driveSeatVideoProvider()?.getDriveVideoView(playUrl) { event -> - Log.d(TAG, "event -> $event") - }?.also { - showVideoView(it) - } +// CallerDevaToolsManager.driveSeatVideoProvider()?.getDriveVideoView(playUrl) { event -> +// Log.d(TAG, "event -> $event") +// }?.also { +// showVideoView(it) +// } return false } } From f0aea6392ce5c6f2bc38938d2e2304e474e14003 Mon Sep 17 00:00:00 2001 From: renwj Date: Tue, 26 Nov 2024 19:31:26 +0800 Subject: [PATCH 4/8] =?UTF-8?q?[6.8.0][=E9=A9=BE=E9=A9=B6=E4=BD=8D?= =?UTF-8?q?=E8=A7=86=E9=A2=91=E6=B5=81]=20=E6=B7=BB=E5=8A=A0=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../driver/video/DriveSeatVideoProviderImpl.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/driver/video/DriveSeatVideoProviderImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/driver/video/DriveSeatVideoProviderImpl.kt index 5acb76fdbc..c66f53c011 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/driver/video/DriveSeatVideoProviderImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/driver/video/DriveSeatVideoProviderImpl.kt @@ -61,6 +61,7 @@ class DriveSeatVideoProviderImpl: IDriveSeatVideoProvider { override suspend fun requestVideoInfo(): VideoUrlData? { val plateNumber = CallerDataCenterBizListener.getPlateNumber() // val plateNumber = "京A40188D" + Log.d(TAG, "requestVideoInfo -> $plateNumber") if (plateNumber == null || TextUtils.isEmpty(plateNumber)) { Log.e(TAG, "-- isVideoLiveUsable -- plate number is empty.") return null From d06fc82727f6553e1ebd9f6ef9c97da7a3a7150c Mon Sep 17 00:00:00 2001 From: yangyakun Date: Tue, 26 Nov 2024 19:35:32 +0800 Subject: [PATCH 5/8] =?UTF-8?q?[6.8.0]=20[fix]=20[=E8=93=9D=E7=89=99?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E5=A4=B1=E8=B4=A5=E9=87=8D=E8=AF=95=E6=9C=BA?= =?UTF-8?q?=E5=88=B6=E4=BF=AE=E6=94=B9]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/manager/bluetooth/BleManager.kt | 15 ++++++--- .../bluetooth/OchBluetoothGattCallback.kt | 32 +++++++++++++------ 2 files changed, 34 insertions(+), 13 deletions(-) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/bluetooth/BleManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/bluetooth/BleManager.kt index 88aebeb641..304c8425a3 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/bluetooth/BleManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/bluetooth/BleManager.kt @@ -127,13 +127,20 @@ object BleManager : BaseBluetoothManager() { if(!scanList.contains(ochBluetoothGattCallback)){ scanList.add(ochBluetoothGattCallback) } - Log.d(TAG1, "超时返回 $ochBluetoothGattCallback scanList个数:${scanList.size}___sendDataIntDev个数:${sendDataIntDev.size}") + Log.d(TAG1, "超时返回 $ochBluetoothGattCallback scanList个数:${scanList}___sendDataIntDev个数:${sendDataIntDev}") } - fun removeFromScandAndWrite(ochBluetoothGattCallback: OchBluetoothGattCallback) { + @SuppressLint("MissingPermission") + fun removeFromScandAndWrite(ochBluetoothGattCallback: OchBluetoothGattCallback,trySend:Boolean) { sendDataIntDev.remove(ochBluetoothGattCallback) - scanList.remove(ochBluetoothGattCallback) - Log.d(TAG1, "链接超次 $ochBluetoothGattCallback scanList个数:${scanList.size}___sendDataIntDev个数:${sendDataIntDev.size}") + if(scanList.contains(ochBluetoothGattCallback)){ + val temp = ochBluetoothGattCallback.getSendData() + // 只发送第一条 + temp.firstNotNullOf {data-> + sendData2Wx(ochBluetoothGattCallback.device.name,data.key) + } + } + Log.d(TAG1, "链接超次 $ochBluetoothGattCallback scanList个数:${scanList}___sendDataIntDev个数:${sendDataIntDev}") } } \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/bluetooth/OchBluetoothGattCallback.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/bluetooth/OchBluetoothGattCallback.kt index 6cc472b179..5289010d56 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/bluetooth/OchBluetoothGattCallback.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/bluetooth/OchBluetoothGattCallback.kt @@ -45,23 +45,26 @@ class OchBluetoothGattCallback(device: BluetoothDevice) : BluetoothGattCallback( private var isDestory = false + private var connectStartTime = 0L + + private val connectTimeOUt = 25_000 + var isConnected:Boolean by Delegates.observable(false) { _, oldValue, newValue -> if (oldValue != newValue) { Log.i(TAG,"${device.name}:链接状态发生变化${newValue}") if(!newValue){ OchChainLogManager.writeChainLogBluetooth("连接","连接断开") - closeAndDestory() } } } private val TAG = "GattCallback" - fun closeAndDestory(){ + fun closeAndDestory(trySend:Boolean){ isDestory = true closeConn(false) - BleManager.removeFromScandAndWrite(this) + BleManager.removeFromScandAndWrite(this,trySend) } /** @@ -82,16 +85,21 @@ class OchBluetoothGattCallback(device: BluetoothDevice) : BluetoothGattCallback( gatt.discoverServices() //启动服务发现 }else{ isConnected = false + closeAndDestory(true) Log.i(TAG,"与[${dev.name}]连接断开") } }else{ Log.i(TAG,"与[${dev.name}]连接出错,错误码:$status") when (status) { 8 -> { - closeAndDestory() + closeAndDestory(false) } else -> { - connect() + if(System.currentTimeMillis()-connectStartTime>=connectTimeOUt){ + closeAndDestory(true) + }else { + connect() + } } } @@ -168,6 +176,7 @@ class OchBluetoothGattCallback(device: BluetoothDevice) : BluetoothGattCallback( mBluetoothGatt?.disconnect() mBluetoothGatt?.close() mBluetoothGatt = null + isConnected = false currentTryCount = 0 if(needCopy&&!isDestory) { BleManager.copy2ScanList(this) @@ -201,13 +210,13 @@ class OchBluetoothGattCallback(device: BluetoothDevice) : BluetoothGattCallback( waitSendData.remove(text) if(waitSendData.isEmpty()){ OchChainLogManager.writeChainLogBluetooth("写数据","写15s超时") - closeAndDestory() + closeAndDestory(true) } sendData() } }else{ OchChainLogManager.writeChainLogBluetooth("发现服务","server 为null 没有链接服务") - closeAndDestory() + closeAndDestory(false) } } @@ -221,7 +230,7 @@ class OchBluetoothGattCallback(device: BluetoothDevice) : BluetoothGattCallback( }else { if (isDestory) { OchChainLogManager.writeChainLogBluetooth("连接","已销毁") - closeAndDestory() + closeAndDestory(false) return } connect() @@ -229,6 +238,10 @@ class OchBluetoothGattCallback(device: BluetoothDevice) : BluetoothGattCallback( } } + fun getSendData():MutableMap{ + return waitSendData + } + /** * 链接成功后发送 * 写超时后 写下一条 @@ -253,13 +266,14 @@ class OchBluetoothGattCallback(device: BluetoothDevice) : BluetoothGattCallback( if(currentTryCount>maxTryCount||isDestory){ // 重新扫描该设备 OchChainLogManager.writeChainLogBluetooth("连接","超过次数") - closeAndDestory() + closeAndDestory(false) return } currentTryCount += 1 val temp = currentTryCount closeConn(false) currentTryCount = temp + connectStartTime = System.currentTimeMillis() mBluetoothGatt = _device.connectGatt(AbsMogoApplication.getApp(), false, this, TRANSPORT_LE) } From 9274957d2d6fd398d4885c53696887545963d305 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Tue, 26 Nov 2024 19:35:57 +0800 Subject: [PATCH 6/8] =?UTF-8?q?[6.8.0]=20[fix]=20[=E7=AB=99=E7=82=B9?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E5=85=BC=E5=AE=B9]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/och/weaknet/model/TicketModel.kt | 1 + .../weaknet/repository/writeoff/impl/WriteOffCacheRepository.kt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/TicketModel.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/TicketModel.kt index bced2561fa..a8cd1a38bc 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/TicketModel.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/model/TicketModel.kt @@ -208,6 +208,7 @@ object TicketModel { 1006 -> sendMessage2Driver("车票路线信息与当前车辆执行任务的路线信息不符合", phone,1006) 1008 -> sendMessage2Driver("车票剩余可用次数为0", phone,99) 6001 -> sendMessage2Driver("二维码已过期", phone,6001) + 6003 -> sendMessage2Driver("车票站点信息与当前车辆执行任务的站点信息不符合", phone,6003) 1012 -> sendMessage2Driver("当前用户下单路线非当前的车辆所属公司", phone,1012) else -> { try { diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/impl/WriteOffCacheRepository.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/impl/WriteOffCacheRepository.kt index b02e379e17..51fefe31db 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/impl/WriteOffCacheRepository.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/repository/writeoff/impl/WriteOffCacheRepository.kt @@ -164,7 +164,7 @@ class WriteOffCacheRepository : IWriteOffRepository { siteId = it.startStationId } else { throw DataException( - 1006, + 6003, "车票站点信息与当前车辆执行任务的站点信息不符合" ) } From 720e7da7a3ecfd64cbf2863892b8dd7bef50c62a Mon Sep 17 00:00:00 2001 From: renwj Date: Tue, 26 Nov 2024 19:40:21 +0800 Subject: [PATCH 7/8] =?UTF-8?q?[6.8.0][=E5=BA=94=E7=94=A8=E5=8D=87?= =?UTF-8?q?=E7=BA=A7]=20=E4=BC=98=E5=8C=96mac=E5=9C=B0=E5=9D=80=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo_core_function_devatools/binding/BindingCarManager.kt | 3 --- .../upgrade/UpgradeAppNetWorkManager.kt | 4 ++++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt index 758e79912e..2c388400a5 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/binding/BindingCarManager.kt @@ -78,9 +78,6 @@ object BindingCarManager : IMoGoAutopilotCarConfigListener, IMoGoCloudListener { "${M_DEVA}${TAG}", "onAutopilotCarConfig carConfigResp.macAddress = ${carConfigResp.macAddress} " ) - if (SharedPrefsMgr.getInstance().sn.isNullOrEmpty()) { - return - } this.carConfigResp = carConfigResp getBindingCarInfo(carConfigResp.macAddress, SharedPrefsMgr.getInstance().sn) } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt index 5ee1c75e46..3622d924ba 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt @@ -95,6 +95,10 @@ class UpgradeAppNetWorkManager private constructor() { Log.d(TAG, "getAppUpgradeInfo: -> records:" + records?.entries?.joinToString(",") { itx -> "key:${itx.key} -> value:[${itx.value.joinToString(",") { "${it.first},${it.second}" } }]"}) val versionCode = AppUtils.getAppVersionCode() val versionName = AppUtils.getAppVersionName() + val latestMacAddress = BindingCarManager.getMacAddress() + if (latestMacAddress != null && !TextUtils.equals(latestMacAddress, macAddress)) { + macAddress = latestMacAddress + } Log.d(SceneConstant.M_DEVA + TAG, "getAppUpgradeInfo mac = $macAddress---type = $type---sn = $sn---versionCode =$versionCode---versionName =$versionName") val request = UpgradeAppRequest(sn, macAddress, type, versionName, "1") val requestBody = RequestBody.create(MediaType.get("application/json;charset=UTF-8"), GsonUtil.jsonFromObject(request)) From 18fea9fac548cab11987b367f8f99414b24f8779 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Tue, 26 Nov 2024 19:48:02 +0800 Subject: [PATCH 8/8] =?UTF-8?q?[6.8.0]=E5=86=B7=E5=90=AF=E5=8A=A8=E8=BF=9B?= =?UTF-8?q?=E5=BA=A6=E6=9D=A1=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hmi/ui/widget/ColdStartProcessView.kt | 83 +++++++------------ 1 file changed, 30 insertions(+), 53 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartProcessView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartProcessView.kt index 535a0d3e82..557497ca74 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartProcessView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/ColdStartProcessView.kt @@ -4,7 +4,6 @@ import android.animation.Animator import android.animation.ObjectAnimator import android.animation.ValueAnimator import android.content.Context -import android.graphics.drawable.TransitionDrawable import android.os.CountDownTimer import android.text.TextUtils import android.util.AttributeSet @@ -12,7 +11,6 @@ import android.util.Log import android.view.LayoutInflater import android.view.View import androidx.constraintlayout.widget.ConstraintLayout -import androidx.core.content.ContextCompat import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.api.autopilot.IMoGoColdStartStateListener import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener @@ -52,8 +50,6 @@ class ColdStartProcessView @JvmOverloads constructor( const val TAG = "ColdStartProcessView" const val LOAD_SSM_WAITING_TIME = 180000L //SSM加载超时等待时间 const val COLD_START_WAITING_TIME = 600000L //冷启动超时等待时间 - const val COLD_START_SUCCESS_SHOW_TIME = 3000L //冷启动成功视图展示时长 - const val COLD_START_SUCCESS_TICK_TIME = 500L //冷启动成功视图呼吸时长 } private var ipcConnectStatus = false //连接域控状态,默认是未连接 @@ -71,8 +67,8 @@ class ColdStartProcessView @JvmOverloads constructor( private var coldStartProcessNormalAnim: FrameAnimatorContainerUtils ?= null private var coldStartProcessAbnormalAnim: FrameAnimatorContainerUtils ?= null - private var transition: TransitionDrawable ?= null - private var coldStartSuccessTimer: CountDownTimer?= null //冷启动成功动画倒计时 + private var successAlpha: ObjectAnimator ?= null //冷启动成功呼吸动画 + private var failAlpha: ObjectAnimator ?= null //冷启动失败呼吸动画 init { LayoutInflater.from(context).inflate(R.layout.view_cold_start_process, this, true) @@ -80,15 +76,6 @@ class ColdStartProcessView @JvmOverloads constructor( } private fun initView(){ - - transition = TransitionDrawable( - arrayOf( - ContextCompat.getDrawable(context, R.drawable.icon_cold_start_success_01), // 当前图片 - ContextCompat.getDrawable(context, R.drawable.icon_cold_start_success_02) // 要渐变到的图片 - ) - ) - ivColdStartResult.setImageDrawable(transition) - transition?.isCrossFadeEnabled = true clColdStartLayout.setOnClickListener { CallerHmiManager.showColdStartWindow() } @@ -110,15 +97,25 @@ class ColdStartProcessView @JvmOverloads constructor( coldStartProcessAbnormalAnim?.release() connectSSMTimer?.cancel() connectColdStartTimer?.cancel() + successAlpha?.cancel() + failAlpha?.cancel() } override fun showColdStartProcessView() { super.showColdStartProcessView() ThreadUtils.runOnUiThread { - if(this.visibility != View.VISIBLE){ + if(this@ColdStartProcessView.visibility != View.VISIBLE){ this.visibility = View.VISIBLE - coldStartProcessNormalAnim = FrameAnimatorContainerUtils(R.array.cold_start_process_normal,40,ivColdStartProcess) coldStartProcessAbnormalAnim = FrameAnimatorContainerUtils(R.array.cold_start_process_abnormal,40,ivColdStartProcess) + coldStartProcessNormalAnim = FrameAnimatorContainerUtils(R.array.cold_start_process_normal,40,ivColdStartProcess) + ipcConnectStatus = true + ssmConnectStatus = false + coldStartStatus = false + newColdStart = false + //域控连接成功 + coldStartNormalView() + //开启连接SSM倒计时 + connectSSMProcess() } } } @@ -212,6 +209,8 @@ class ColdStartProcessView @JvmOverloads constructor( //冷启动就绪 coldStartStatus = true showColdStartSuccessView() + //取消冷启动等待 + connectColdStartTimer?.cancel() } //记录冷启动成功时间 ColdStartConfig.setColdStartSuccessTime(System.currentTimeMillis()) @@ -274,19 +273,21 @@ class ColdStartProcessView @JvmOverloads constructor( } ivColdStartProcess.visibility = View.GONE ivColdStartResult.visibility = View.VISIBLE + failAlpha?.cancel() ivColdStartResult.setImageDrawable((ResourceUtils.getDrawable(R.drawable.icon_cold_start_success_02))) - val successAlpha: ObjectAnimator = ObjectAnimator.ofFloat(ivColdStartResult,"alpha",1f,0.5f) - successAlpha.duration = 500 - successAlpha.repeatMode = ValueAnimator.REVERSE - successAlpha.repeatCount = 6 - successAlpha.start() - successAlpha.addListener(object: Animator.AnimatorListener{ + successAlpha = ObjectAnimator.ofFloat(ivColdStartResult,"alpha",1f,0.5f) + successAlpha?.duration = 500 + successAlpha?.repeatMode = ValueAnimator.REVERSE + successAlpha?.repeatCount = 6 + successAlpha?.start() + successAlpha?.addListener(object: Animator.AnimatorListener{ override fun onAnimationStart(animation: Animator) { } override fun onAnimationEnd(animation: Animator) { ivColdStartResult.visibility = View.GONE + this@ColdStartProcessView.visibility = View.GONE } override fun onAnimationCancel(animation: Animator) { @@ -299,31 +300,6 @@ class ColdStartProcessView @JvmOverloads constructor( }) - -// var label = true -// coldStartSuccessTimer = object: CountDownTimer(COLD_START_SUCCESS_SHOW_TIME,COLD_START_SUCCESS_TICK_TIME){ -// override fun onTick(millisUntilFinished: Long) { -// ThreadUtils.runOnUiThread { -// label = if(label){ -// transition?.startTransition(500) -// false -// }else{ -// transition?.reverseTransition(500) -// true -// } -// } -// } -// -// override fun onFinish() { -// ThreadUtils.runOnUiThread { -// this@ColdStartProcessView.visibility = View.GONE -// coldStartProcessNormalAnim?.release() -// coldStartProcessAbnormalAnim?.release() -// } -// } -// -// } -// coldStartSuccessTimer?.start() } } @@ -340,12 +316,13 @@ class ColdStartProcessView @JvmOverloads constructor( } ivColdStartProcess.visibility = View.GONE ivColdStartResult.visibility = View.VISIBLE + successAlpha?.cancel() ivColdStartResult.setImageDrawable((ResourceUtils.getDrawable(R.drawable.icon_cold_start_fail_02))) - val failAlpha: ObjectAnimator = ObjectAnimator.ofFloat(ivColdStartResult,"alpha",1f,0.5f) - failAlpha.duration = 500 - failAlpha.repeatMode = ValueAnimator.REVERSE - failAlpha.repeatCount = ValueAnimator.INFINITE - failAlpha.start() + failAlpha = ObjectAnimator.ofFloat(ivColdStartResult,"alpha",1f,0.5f) + failAlpha?.duration = 500 + failAlpha?.repeatMode = ValueAnimator.REVERSE + failAlpha?.repeatCount = ValueAnimator.INFINITE + failAlpha?.start() } }