diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt index 6fb25c263d..d60f3e145f 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt @@ -237,8 +237,11 @@ object CharterPassengerModel { } when (state) { IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> { - cleanRoutePoints() - CallerAutoPilotControlManager.getGlobalPath() + RxUtils.createSubscribe(5_000) { + cleanRoutePoints() + CallerLogger.d(M_BUS_P + TAG,"请求底盘轨迹") + CallerAutoPilotControlManager.getGlobalPath() + } } IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE -> {} IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE -> {} @@ -248,7 +251,7 @@ object CharterPassengerModel { } } override fun onAutopilotArriveAtStation(arrivalNotification: MessagePad.ArrivalNotification?) { - CallerLogger.d(SceneConstant.M_BUS_P + TAG,"底盘给到站信息") + CallerLogger.d(M_BUS_P + TAG,"底盘给到站信息") arriveDest() } } @@ -387,7 +390,7 @@ object CharterPassengerModel { } }else { // 判断是否有订单 - ordrLagic(data?.data) + ordrLagic(data.data) } } @@ -734,6 +737,7 @@ object CharterPassengerModel { it, mogoLocation ) + CallerLogger.d(M_BUS_P + TAG, "使用轨迹轨迹:${mRoutePoints?.size}--第一个点${mRoutePoints!![0]}--最后一个点:${mRoutePoints!!.last()}") CallerLogger.d(M_BUS_P + "calculateDistance", "轨迹计算的距离$templastSumLength") if(templastSumLength>100){ lastSumLength = templastSumLength diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt index cba9be6266..5d04b2cce5 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt @@ -145,6 +145,10 @@ class MainFragment : } } + + debug_show_endview.setOnClickListener { + showOpenAndCloseDoor() + } } private fun openSettingPage(tab: String) { diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/BottomOrderInfoView.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/BottomOrderInfoView.kt index 6fe3f87f1f..d444f3c354 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/BottomOrderInfoView.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/BottomOrderInfoView.kt @@ -15,6 +15,8 @@ import com.mogo.och.bus.passenger.model.IOrderStatusChangeListener import com.mogo.och.bus.passenger.model.OrderStatusEnum import com.mogo.och.common.module.utils.DateTimeUtil import kotlinx.android.synthetic.main.m1_bottom_orderinfo.view.* +import java.util.UUID +import kotlin.random.Random open class BottomOrderInfoView @JvmOverloads constructor( context: Context, @@ -33,6 +35,7 @@ open class BottomOrderInfoView @JvmOverloads constructor( } catch (e: Exception) { e.printStackTrace() } + tag = UUID.randomUUID().toString() } fun setCheck(isCheck:Boolean){ @@ -51,16 +54,16 @@ open class BottomOrderInfoView @JvmOverloads constructor( override fun onAttachedToWindow() { super.onAttachedToWindow() - CallerLogger.d(SceneConstant.M_BUS_P + TAG,"onAttachedToWindow$this") - CharterPassengerModel.setOrderLeftTimeListeners(this.toString(),this) - CharterPassengerModel.setStatusChangeListener(this.toString(),this) + CallerLogger.d(SceneConstant.M_BUS_P + TAG,"onAttachedToWindow$tag") + CharterPassengerModel.setOrderLeftTimeListeners(tag.toString(),this) + CharterPassengerModel.setStatusChangeListener(tag.toString(),this) } override fun onDetachedFromWindow() { super.onDetachedFromWindow() - CallerLogger.d(SceneConstant.M_BUS_P + TAG,"onDetachedFromWindow$this") - CharterPassengerModel.setOrderLeftTimeListeners(this.toString(),null) - CharterPassengerModel.setStatusChangeListener(this.toString(),null) + CallerLogger.d(SceneConstant.M_BUS_P + TAG,"onDetachedFromWindow$tag") + CharterPassengerModel.setOrderLeftTimeListeners(tag.toString(),null) + CharterPassengerModel.setStatusChangeListener(tag.toString(),null) } private fun setViewByOrderStatus(currentOrderStatus: OrderStatusEnum) { diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/GoViewWithArrive.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/GoViewWithArrive.kt index 25ba67de74..a7ad0f56cd 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/GoViewWithArrive.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/GoViewWithArrive.kt @@ -15,6 +15,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P import com.mogo.eagle.core.utilcode.util.ActivityUtils +import com.mogo.eagle.core.utilcode.util.ClickUtils import com.mogo.och.bus.passenger.utils.ToastCharterUtils import com.mogo.och.bus.passenger.R import com.mogo.och.bus.passenger.callback.ICharterPassengerAutoStatusChangeCallback @@ -65,6 +66,10 @@ class GoViewWithArrive @JvmOverloads constructor( } }) setOnClickListener { + if (ClickUtils.isClickTooFrequent(this,3000)) { + ToastCharterUtils.showShort("请稍后点击") + return@setOnClickListener + } startGo() applyClickListener?.onApplyClick() } diff --git a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_main_fragment.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_main_fragment.xml index 60cc4b0319..3551248589 100644 --- a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_main_fragment.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_main_fragment.xml @@ -278,9 +278,19 @@ android:layout_width="wrap_content" android:layout_height="wrap_content"/> + + diff --git a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_order_end.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_order_end.xml index f62bec70d3..4cd2d81173 100644 --- a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_order_end.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_order_end.xml @@ -4,64 +4,72 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@drawable/m1_function_bg" + tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout"> - - - - - + + android:layout_marginBottom="@dimen/dp_181" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintWidth_percent="0.53698"> + - + - + + + + + + + + \ No newline at end of file diff --git a/build.gradle b/build.gradle index c4e616ce7b..92ae14d02d 100644 --- a/build.gradle +++ b/build.gradle @@ -26,7 +26,7 @@ buildscript { dependencies { classpath "com.android.tools.build:gradle:${gradle_version}" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlin_version}" - classpath "com.alibaba:arouter-register:${plugin_version}" + classpath "com.alibaba:arouter-register:10.0.5_mogo" classpath 'com.tencent.bugly:symtabfileuploader:2.2.1' classpath "com.bytedance.android.byteX:base-plugin:${plugin_version}" classpath "com.mogo.cloud:hook:${plugin_version}" diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt index a2fe6907a8..6bf2920d26 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt @@ -65,7 +65,9 @@ import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.function.hmi.ui.logcatch.ILogViewListener import com.mogo.eagle.core.function.hmi.ui.logcatch.LogInfoView +import com.mogo.eagle.core.function.hmi.ui.map.OfflineMapDialog import com.mogo.eagle.core.function.hmi.ui.widget.DemoModeView +import com.mogo.eagle.core.function.hmi.ui.widget.SystemVersionView import com.mogo.eagle.core.utilcode.kotlin.* import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger @@ -76,6 +78,7 @@ import com.mogo.eagle.core.utilcode.mogo.permissions.BackgrounderPermission import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr import com.mogo.eagle.core.utilcode.mogo.toast.TipToast import com.mogo.eagle.core.utilcode.util.* +import com.mogo.map.hdcache.IHdCacheListener import com.mogo.map.uicontroller.VisualAngleMode import com.mogo.map.uicontroller.VisualAngleMode.* import kotlinx.android.synthetic.main.view_debug_setting.view.* @@ -180,6 +183,9 @@ internal class DebugSettingView @JvmOverloads constructor( private var isStarted = false + // 高精地图是否已缓存 + private var isHDCached = false + init { LayoutInflater.from(context).inflate(R.layout.view_debug_setting, this, true) initView() @@ -571,6 +577,32 @@ internal class DebugSettingView @JvmOverloads constructor( } } + btn_cache_hd_map?.onClick { + if (isHDCached) { + ToastUtils.showShort(resources.getString(R.string.offline_had_downloaded)) + } else { + if (CallerMapUIServiceManager.getCityCode().isNullOrEmpty()) {// 未拿到高德的cityCode + if (mGnssInfo == null || (mGnssInfo!!.longitude <= 0.0 && mGnssInfo!!.latitude <= 0.0)) {// 未拿到高精的经纬度 + ToastUtils.showShort(resources.getString(R.string.location_try_again)) + } else {// 拿到了高精的经纬度 + cacheHDOfflineData(false) + } + } else {// 拿到高德的cityCode + cacheHDOfflineData(true) + } + } + } + + if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode)) { + ThreadUtils.getIoPool().execute { + val isCached = CallerMapUIServiceManager.isCityDataCached() + isHDCached = isCached + UiThreadHandler.post { + btn_cache_hd_map.text = "缓存高精离线地图(${if (isCached) "已是最新版" else "待更新"}!)" + } + } + btn_cache_hd_map.visibility = View.VISIBLE + } /** * 修改自车按钮(出租车、小巴车) @@ -2123,6 +2155,52 @@ internal class DebugSettingView @JvmOverloads constructor( Process.killProcess(Process.myPid()) } + private fun cacheHDOfflineData(isGaoDe: Boolean) { + var progss = 0 + if (isGaoDe) {// 拿到了高德地图的cityCode + CallerMapUIServiceManager.cacheHDDataByCity(object : IHdCacheListener { + override fun onMapHdCacheProgress(cityId: Int, progress: Double) { + // 更新进度 + progss = progress.toInt() + if (progss == 100) { + isHDCached = true + btn_cache_hd_map.text = "缓存高精离线地图(已是最新版!)" + } else { + btn_cache_hd_map.text = "缓存高精离线地图(进度:${progss}%)" + } + } + + override fun onMapHdCacheResult(cityId: Int, state: Int) { + if (state == 0) {// 失败 + btn_cache_hd_map.text = "缓存高精离线地图(下载失败!)" + ToastUtils.showShort("下载失败,请重试!") + } + } + }) + } else {// 只拿到了高精的经纬度 + mGnssInfo?.let { loc -> + CallerMapUIServiceManager.cacheHDDataByCityByLonLat(object : IHdCacheListener { + override fun onMapHdCacheProgress(cityId: Int, progress: Double) { + progss = progress.toInt() + if (progss == 100) { + isHDCached = true + btn_cache_hd_map.text = "缓存高精离线地图(已是最新版!)" + } else { + btn_cache_hd_map.text = "缓存高精离线地图(进度:${progss}%)" + } + } + + override fun onMapHdCacheResult(cityId: Int, state: Int) { + if (state == 0) {// 失败 + btn_cache_hd_map.text = "缓存高精离线地图(下载失败!)" + ToastUtils.showShort("下载失败,请重试!") + } + } + }, loc) + } + } + } + override fun fwThreadClose() { refreshTraceInfo() } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml index 81b044daa6..2d9b5fd0d0 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml @@ -1560,6 +1560,21 @@ app:layout_constraintRight_toRightOf="@id/changesight_cross_btn" app:layout_constraintTop_toBottomOf="@id/changesight_cross_btn" /> +