From 6f44d55bd2cac255d304d1309eb81a4eabb0e475 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Tue, 16 May 2023 23:02:38 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20[3.2.0]=20[=E7=9B=AE=E7=9A=84=E5=9C=B0?= =?UTF-8?q?=E8=AF=AD=E8=A8=80=E3=80=81=E9=80=9F=E5=BA=A6=E3=80=81=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E4=BF=A1=E6=81=AF]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../passenger/model/CharterPassengerModel.kt | 21 +++++++++---------- .../BusPassengerFunctionPresenter.kt | 5 +++++ .../presenter/BusPassengerPresenter.kt | 11 +++++++++- .../ui/dialogfragment/M1ContainFragment.kt | 14 +++++++++++++ .../passenger/view/statusbar/StatusBarView.kt | 6 ++++++ .../src/main/res/layout/m1_debugview_pass.xml | 2 ++ .../src/main/res/values/strings.xml | 2 +- 7 files changed, 48 insertions(+), 13 deletions(-) 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 be2c6a2f49..ceb97a05e8 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 @@ -6,7 +6,6 @@ import android.net.ConnectivityManager import com.mogo.commons.AbsMogoApplication import com.mogo.commons.module.intent.IMogoIntentListener import com.mogo.commons.module.intent.IntentManager -import com.mogo.commons.voice.AIAssist import com.mogo.eagle.core.data.BaseData import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters.AutoPilotLine @@ -48,8 +47,6 @@ import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.PinYinUtil import com.mogo.och.common.module.voice.VoiceManager import com.mogo.och.common.module.voice.VoiceNotice -import com.mogo.tts.base.LangTtsEntity -import com.mogo.tts.base.LanguageType import io.reactivex.Observable import io.reactivex.disposables.Disposable import io.reactivex.schedulers.Schedulers @@ -433,12 +430,12 @@ object CharterPassengerModel { coordinateConverterWgsToGcj.latitude ) // 小于15m到站 - if (calculateLineDistance < CharterPassengerConst.ARRIVE_AT_START_STATION_DISTANCE) { - CallerLogger.d(SceneConstant.M_BUS_P + TAG,"小于15米到站1") + if (calculateLineDistance < CharterPassengerConst.ARRIVE_AT_START_STATION_DISTANCE && calculateLineDistance > 0) { + CallerLogger.d(M_BUS_P + TAG,"小于15米到站1") arriveDest() } - if (calculateLineDistance < CharterPassengerConst.ARRIVE_SOON_AT_START_STATION_DISTANCE) { - CallerLogger.d(SceneConstant.M_BUS_P + TAG,"小于100米到站") + if (calculateLineDistance < CharterPassengerConst.ARRIVE_SOON_AT_START_STATION_DISTANCE && calculateLineDistance > 0) { + CallerLogger.d(M_BUS_P + TAG, "小于100米到站") arriveDestSoon() } } @@ -675,6 +672,8 @@ object CharterPassengerModel { mogoLocation.latitude ) if(lastSumLength>100) { + ToastUtils.showLong("缺少轨迹数据") + if (mRoutePoints.size == 0) return // 计算距离 lastSumLength = CoordinateCalculateRouteUtil.calculateRouteSumLength( @@ -690,11 +689,11 @@ object CharterPassengerModel { "---lastSumLength: " + lastSumLength + "----lastTime : " + lastTime + " thread = " + Thread.currentThread().name ) - if (lastSumLength < CharterPassengerConst.ARRIVE_SOON_AT_START_STATION_DISTANCE) { + if (lastSumLength < CharterPassengerConst.ARRIVE_SOON_AT_START_STATION_DISTANCE&&lastSumLength>0) { CallerLogger.d(M_BUS_P + TAG,"小于100米到站2") arriveDestSoon() } - if (lastSumLength < CharterPassengerConst.ARRIVE_AT_START_STATION_DISTANCE) { + if (lastSumLength < CharterPassengerConst.ARRIVE_AT_START_STATION_DISTANCE&&lastSumLength>0) { CallerLogger.d(M_BUS_P + TAG,"小于15米到站2") arriveDest() return @@ -918,8 +917,8 @@ object CharterPassengerModel { order.siteId?.let { siteId -> if (order.arriveStatus == OrderInfoResponse.ARRIVING) { if (broadcastList["${siteId}$ending100Key"] == null || broadcastList["${siteId}$ending100Key"] == false) { - val string = mContext.getString(com.mogo.och.common.module.R.string.arrived_station_zh) - VoiceNotice.showNotice(string,) + val string = mContext.getString(R.string.arrived_station_left_100) + VoiceNotice.showNotice(string) } } } diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionPresenter.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionPresenter.kt index 099d83d721..a1668f7b62 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionPresenter.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionPresenter.kt @@ -1,6 +1,7 @@ package com.mogo.och.bus.passenger.presenter import androidx.lifecycle.LifecycleOwner +import com.mogo.och.bus.passenger.model.CharterPassengerModel import com.mogo.och.bus.passenger.ui.dialogfragment.M1ContainFragment class BusPassengerFunctionPresenter(view: M1ContainFragment?) : @@ -15,4 +16,8 @@ class BusPassengerFunctionPresenter(view: M1ContainFragment?) : override fun onDestroy(owner: LifecycleOwner) { super.onDestroy(owner) } + + fun haveOrder(): Boolean { + return CharterPassengerModel.hasOrder() + } } \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt index 344722d26f..4bf0aac8e7 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt @@ -7,6 +7,7 @@ import android.view.View import androidx.lifecycle.LifecycleOwner import com.amap.api.maps.model.LatLng import com.mogo.commons.voice.AIAssist +import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager @@ -23,6 +24,7 @@ import com.mogo.och.bus.passenger.bean.response.LineInfoResponse import com.mogo.och.bus.passenger.bean.response.OrderInfoResponse import com.mogo.och.bus.passenger.bean.response.SiteInfoResponse import com.mogo.och.bus.passenger.bean.response.TrajectoriesResponse +import com.mogo.och.bus.passenger.callback.IBusPassengerControllerStatusCallback import com.mogo.och.bus.passenger.callback.IDistanceCallback import com.mogo.och.bus.passenger.callback.IOrderChangeCallback import com.mogo.och.bus.passenger.model.CharterPassengerModel @@ -46,7 +48,7 @@ import kotlin.math.ceil class BusPassengerPresenter(view: MainFragment?) : BusBasePassengerFunctionDevicePresenter(view), IDistanceCallback, IOrderChangeCallback, IOrderStatusChangeListener, - OCHPlanningStopSideStatusManager.OCHPlanningActionsCallback, LightAirconditionDoorCallback { + OCHPlanningStopSideStatusManager.OCHPlanningActionsCallback, LightAirconditionDoorCallback, IBusPassengerControllerStatusCallback { private val lindIdAndView = ConcurrentHashMap() @@ -60,6 +62,7 @@ class BusPassengerPresenter(view: MainFragment?) : CharterPassengerModel.init() // 定位监听 CharterPassengerModel.setStationDistanceListener(TAG, this) + CharterPassengerModel.setControllerStatusCallback(TAG,this) CharterPassengerModel.setCarTypeChangeListener(this) CharterPassengerModel.setStatusChangeListener(TAG, this) CallerTelematicListenerManager.addListener(TAG, DriverMessage) @@ -76,6 +79,12 @@ class BusPassengerPresenter(view: MainFragment?) : OCHPlanningStopSideStatusManager.removeListener(TAG) } + override fun onCarLocationChanged(location: MogoLocation?) { + location?.let { + setSpeed(it.gnssSpeed) + } + } + private fun setSpeed(speed: Float) { UiThreadHandler.post { val speedKM = (Math.abs(speed) * 3.6f).toInt() diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1ContainFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1ContainFragment.kt index 77ba9c2bc9..680d20c716 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1ContainFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1ContainFragment.kt @@ -9,6 +9,7 @@ import androidx.fragment.app.DialogFragment import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentTransaction +import com.mogo.commons.AbsMogoApplication import com.mogo.commons.mvp.MvpDialogFragment import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P @@ -23,6 +24,7 @@ import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.M1VideoFragment import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.OrderInfoFragment import com.mogo.och.bus.passenger.ui.view.bottom.BottomBar import com.mogo.och.bus.passenger.ui.view.bottom.BottomClickView +import com.mogo.och.common.module.biz.constant.LoginStatusManager import kotlinx.android.synthetic.main.m1_contain_fragment.* import org.greenrobot.eventbus.EventBus @@ -130,6 +132,18 @@ class M1ContainFragment : } } bb_bottom_bar.setOrderInfoClickListener{ + if (LoginStatusManager.isLogin()) { + if(mPresenter?.haveOrder()==true){ + + }else{ + ToastUtils.showShort("请确认订单") + return@setOrderInfoClickListener + } + }else{ + ToastUtils.showShort(AbsMogoApplication.getApp().getString(R.string.m1_please_login_driver)) + return@setOrderInfoClickListener + } + CallerLogger.d(M_BUS_P+ TAG, "initViews---$tab") if(tab==ORDERINFO) { dismissAllowingStateLoss() diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/statusbar/StatusBarView.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/statusbar/StatusBarView.kt index 2a6fb57717..df793fbdf9 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/statusbar/StatusBarView.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/statusbar/StatusBarView.kt @@ -47,6 +47,8 @@ class StatusBarView @JvmOverloads constructor( private var mHits = LongArray(COUNTS) + private var preStatus = -1 + private fun continuousClick(type:String) { //每次点击时,数组向前移动一位 System.arraycopy(mHits, 1, mHits, 0, mHits.size - 1) @@ -96,6 +98,10 @@ class StatusBarView @JvmOverloads constructor( } private fun setAutoPilotSatusInfo(state: Int) { + if(preStatus==state){ + return + } + preStatus = state when (state) { IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE -> { actv_auto_status.text = "安全接管中" diff --git a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_debugview_pass.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_debugview_pass.xml index 2f00612482..873316e934 100644 --- a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_debugview_pass.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_debugview_pass.xml @@ -34,6 +34,8 @@ app:layout_constraintEnd_toEndOf="parent" android:inputType="numberPassword" android:gravity="center" + android:maxLines="1" + android:imeOptions="actionDone" android:textSize="@dimen/dp_32" android:textColor="@android:color/white" android:background="@drawable/charter_p_debugview_edit_bg" diff --git a/OCH/mogo-och-charter-passenger/src/main/res/values/strings.xml b/OCH/mogo-och-charter-passenger/src/main/res/values/strings.xml index 8177f74ab4..376b5fe977 100644 --- a/OCH/mogo-och-charter-passenger/src/main/res/values/strings.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/values/strings.xml @@ -48,7 +48,7 @@ 先关闭车门再启动吧~ 自驾系统繁忙,稍后再试试吧~ - + %1$s站就要到啦!