From dac735782e01c0d6f352907d1f0b558e9bfa5e58 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Tue, 7 Mar 2023 10:25:50 +0800 Subject: [PATCH] =?UTF-8?q?[m1]=20[1.1.2]=20[=E4=B8=8D=E7=94=BB=E7=BB=88?= =?UTF-8?q?=E7=82=B9=E7=BA=BF=E5=8F=AA=E7=94=BB=E7=AB=99=E7=82=B9=E7=BA=BF?= =?UTF-8?q?=E3=80=81=E6=B7=BB=E5=8A=A05=E5=88=86=E9=92=9F=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E3=80=81]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../passenger/callback/ICarTypeCallback.kt | 5 ----- .../callback/IOrderChangeCallback.kt | 13 +++++++++++++ .../passenger/model/CharterPassengerModel.kt | 17 ++++++++++++++--- .../presenter/BusPassengerPresenter.kt | 19 ++++++++++++++----- .../mogo/och/bus/passenger/ui/MainFragment.kt | 14 ++++++++++++++ .../src/m1/res/layout/m1_main_fragment.xml | 1 - .../src/m1/res/values/strings.xml | 1 + 7 files changed, 56 insertions(+), 14 deletions(-) delete mode 100644 OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/callback/ICarTypeCallback.kt create mode 100644 OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/callback/IOrderChangeCallback.kt diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/callback/ICarTypeCallback.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/callback/ICarTypeCallback.kt deleted file mode 100644 index dc49c3a394..0000000000 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/callback/ICarTypeCallback.kt +++ /dev/null @@ -1,5 +0,0 @@ -package com.mogo.och.bus.passenger.callback - -interface ICarTypeCallback { - fun setCarChangeListener(productType: Int?) -} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/callback/IOrderChangeCallback.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/callback/IOrderChangeCallback.kt new file mode 100644 index 0000000000..188a87ed79 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/callback/IOrderChangeCallback.kt @@ -0,0 +1,13 @@ +package com.mogo.och.bus.passenger.callback + +interface IOrderChangeCallback { + /** + * 车模变更 + */ + fun setCarChangeListener(productType: Int?) + + /** + * 站点信息 + */ + fun setEndStationCallBack(siteId: Long?, siteName: String?, gcj_lon: Double, gcj_lat: Double) +} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt index a87e3aec60..5bfaae7f5d 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt @@ -28,20 +28,23 @@ import com.mogo.eagle.core.utilcode.util.CountDownTimer import com.mogo.eagle.core.utilcode.util.NetworkUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler +import com.mogo.och.bus.passenger.R import com.mogo.och.bus.passenger.bean.LoopInfo import com.mogo.och.bus.passenger.bean.response.* import com.mogo.och.bus.passenger.callback.IBusPassengerADASStatusCallback import com.mogo.och.bus.passenger.callback.IBusPassengerControllerStatusCallback -import com.mogo.och.bus.passenger.callback.ICarTypeCallback +import com.mogo.och.bus.passenger.callback.IOrderChangeCallback import com.mogo.och.bus.passenger.callback.IDistanceTimeCallback import com.mogo.och.bus.passenger.constant.BusPassengerConst.Companion.Charter_AVERAGE_SPEED import com.mogo.och.bus.passenger.net.BusPassengerModelLoopManager import com.mogo.och.bus.passenger.net.BusPassengerServiceManager +import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager import com.mogo.och.common.module.biz.constant.LoginStatusManager import com.mogo.och.common.module.biz.constant.TaxiLoginStatusEnum import com.mogo.och.common.module.biz.network.OchCommonServiceCallback import com.mogo.och.common.module.manager.OCHAdasAbilityManager import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil +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 mogo.telematics.pad.MessagePad @@ -105,7 +108,7 @@ object CharterPassengerModel { private var countDownTimer:CountDownTimer?=null - private var carTypeChageListener: ICarTypeCallback?=null + private var carTypeChageListener: IOrderChangeCallback?=null fun init() { initListeners() @@ -262,7 +265,7 @@ object CharterPassengerModel { } orderStatusChangeListeners[tag] = orderStatusChangeListener } - fun setCarTypeChangeListener(carTypeChageListener: ICarTypeCallback?){ + fun setCarTypeChangeListener(carTypeChageListener: IOrderChangeCallback?){ this.carTypeChageListener = carTypeChageListener } @@ -351,6 +354,10 @@ object CharterPassengerModel { this.carTypeChageListener?.setCarChangeListener(orderData.productType) CallerLogger.d(M_BUS_P+TAG,"设置车模") } + if(this.orderInfo?.siteId!=orderData.siteId){ + val siteGCJ = CoordinateTransform.WGS84ToGCJ02(order.wgs84Lon, order.wgs84Lat) + this.carTypeChageListener?.setEndStationCallBack(order.siteId,order.siteName,siteGCJ[0],siteGCJ[1]) + } if (order.lineId == null || order.lineId == 0L || order.siteId == null || order.siteId == 0L) { // 去选线路和站点 setOrderStatus(OrderStatusEnum.OrderNoLine) @@ -502,6 +509,9 @@ object CharterPassengerModel { countDownTimer = object :CountDownTimer(endlast,1000){ override fun onTick(millisUntilFinished: Long) { if(millisUntilFinished/1000==300L){ + //发送 通知 + OCHSocketMessageManager.pushAppOperationalMsgBox(DateTimeUtil.getCurrentTimeStamp(), + AbsMogoApplication.getApp().getString(R.string.m1_end_order_5min),2) VoiceManager.surplus5min() } CallerLogger.d(M_BUS_P+TAG,"倒计时${millisUntilFinished/1000}") @@ -530,6 +540,7 @@ object CharterPassengerModel { if (data?.data == null) return //设置全局轨迹信息 locusInfo = data.data + CallerLogger.d(M_BUS_P+TAG,"查询自动驾驶轨迹信息") CallerLogger.d(M_BUS_P+TAG,GsonUtil.jsonFromObject( locusInfo)) diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt index 1f30c43adb..6dfca3682f 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt @@ -1,13 +1,12 @@ package com.mogo.och.bus.passenger.presenter import androidx.lifecycle.LifecycleOwner -import com.mogo.eagle.core.data.config.HdMapBuildConfig +import com.amap.api.maps.model.LatLng import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager -import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.ToastUtils @@ -15,7 +14,7 @@ import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.bus.passenger.R import com.mogo.och.bus.passenger.bean.response.OrderInfoResponse import com.mogo.och.bus.passenger.callback.IBusPassengerControllerStatusCallback -import com.mogo.och.bus.passenger.callback.ICarTypeCallback +import com.mogo.och.bus.passenger.callback.IOrderChangeCallback import com.mogo.och.bus.passenger.callback.IDistanceTimeCallback import com.mogo.och.bus.passenger.model.CharterPassengerModel import com.mogo.och.bus.passenger.model.IOrderStatusChangeListener @@ -32,7 +31,7 @@ import java.util.* class BusPassengerPresenter(view: MainFragment?) : BusBasePassengerFunctionDevicePresenter(view), - IBusPassengerControllerStatusCallback, IDistanceTimeCallback, ICarTypeCallback, + IBusPassengerControllerStatusCallback, IDistanceTimeCallback, IOrderChangeCallback, IOrderStatusChangeListener { private var subscribe: Disposable? = null @@ -206,8 +205,18 @@ class BusPassengerPresenter(view: MainFragment?) : } else -> {} } - mView?.showOpenAndCloseDoor() + UiThreadHandler.post { + mView?.showOpenAndCloseDoor() + mView?.cleanEndStation() + mView?.setDistanceAndTime("0", "KM", "--", "--") + } } } } + + override fun setEndStationCallBack(siteId: Long?, siteName: String?, gcj_lon: Double, gcj_lat: Double) { + val latLng = LatLng(gcj_lat,gcj_lon) + mView?.drawEndStation(latLng) + } + } \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/MainFragment.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/MainFragment.kt index 3e9fdd557e..93512d8797 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/MainFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/MainFragment.kt @@ -1,9 +1,11 @@ package com.mogo.och.bus.passenger.ui +import android.graphics.BitmapFactory import android.os.Bundle import android.view.View import androidx.fragment.app.DialogFragment import androidx.fragment.app.Fragment +import com.amap.api.maps.model.LatLng import com.mogo.commons.AbsMogoApplication import com.mogo.commons.mvp.MvpFragment import com.mogo.eagle.core.data.config.HdMapBuildConfig @@ -34,6 +36,9 @@ class MainFragment : private var bpFunctionGroupDialogFragment: WeakReference? = null private var m1CarUserNoOrderFragment: WeakReference? = null + val endStation = + BitmapFactory.decodeResource(AbsMogoApplication.getApp().resources, R.drawable.m1_small_map_view_dir_end) + override fun getLayoutId(): Int { return R.layout.m1_main_fragment } @@ -171,6 +176,15 @@ class MainFragment : omvOverMap.onCreateView(savedInstanceState) } + fun drawEndStation(latLng: LatLng) { + val listOf = listOf(latLng) + omvOverMap.drawSiteMarkers(listOf,endStation,0.5f,0.5f) + } + fun cleanEndStation(){ + omvOverMap.clearSiteMarkers() + omvOverMap.clearCustomPolyline() + } + override fun onResume() { super.onResume() mapBizView.onResume() diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_main_fragment.xml b/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_main_fragment.xml index f3909ba49a..5a3dd1e87c 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_main_fragment.xml +++ b/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_main_fragment.xml @@ -22,7 +22,6 @@ app:layout_constraintStart_toEndOf="@+id/mapBizView" app:resetDrawable="@drawable/bus_p_overmap_reset_size" app:carDrawable="@drawable/bug_p_overmap_car_model" - app:endPointDrawable="@drawable/m1_small_map_view_dir_end" app:startPointDrawable="@null" app:resetDrawableMarginRight="34dp" app:resetDrawableMarginBottom="54dp" diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/values/strings.xml b/OCH/mogo-och-charter-passenger/src/m1/res/values/strings.xml index 0f80f50c5c..d2b0ab1abf 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/res/values/strings.xml +++ b/OCH/mogo-och-charter-passenger/src/m1/res/values/strings.xml @@ -26,6 +26,7 @@ 正在为您靠边停车,请坐稳扶好 请安全员登录司机屏 + 包车将在5分钟后结束,结束后我们将自动为您寻找停车点