[全览地图修改]
This commit is contained in:
yangyakun
2023-07-20 10:06:31 +08:00
parent 3dd6b1a96d
commit f4d79f9e61
3 changed files with 20 additions and 138 deletions

View File

@@ -1,11 +1,9 @@
package com.mogo.och.taxi.passenger.presenter
import android.os.Looper
import androidx.lifecycle.LifecycleOwner
import com.mogo.commons.AbsMogoApplication
import com.mogo.commons.mvp.Presenter
import com.mogo.eagle.core.function.call.biz.CallerFuncBizManager.bizProvider
import com.mogo.eagle.core.function.call.order.CallerOrderListenerManager
import com.mogo.eagle.core.function.call.biz.CallerFuncBizManager
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
@@ -87,6 +85,7 @@ class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) :
mView?.showOrHideArrivedEndLayout(isShow = false)
mView?.showOrHidePressengerCheckPager(isShow = false)
mView?.showOrHideStartAutopilotView(isShow = false)
overMapViewShow()
}
TaxiPassengerOrderStatusEnum.ArriveAtEnd -> {
@@ -94,24 +93,35 @@ class BaseTaxiPassengerPresenter(view: TaxiPassengerBaseFragment?) :
mView?.showOrHideArrivedEndLayout(true)
mView?.showOrHidePressengerCheckPager(isShow = false)
mView?.showOrHideStartAutopilotView(isShow = false)
overMapViewClear()
}
TaxiPassengerOrderStatusEnum.JourneyCompleted -> {
// 60 行程完成
mView?.showOrHideStartAutopilotView(isShow = false)
mView?.showOrHidePressengerCheckPager(isShow = false)
mView?.showOrHideArrivedEndLayout(false)
overMapViewClear()
}
TaxiPassengerOrderStatusEnum.Cancel -> {
// 70 取消订单
mView?.showOrHideStartAutopilotView(isShow = false)
mView?.showOrHidePressengerCheckPager(isShow = false)
mView?.showOrHideArrivedEndLayout(isShow = false)
overMapViewClear()
}
else -> {}
}
}
}
private fun overMapViewShow(){
CallerFuncBizManager.bizProvider.getAllV2XEvents()
}
private fun overMapViewClear(){
CallerFuncBizManager.bizProvider.stopQueryV2XEvents()
mView?.showOrHideOverMapView()
}
fun checkAndUpdateStatus(phone: String?) {
TaxiPassengerModel.checkPhoneAndUpdateStatus(phone) {
mView?.showOrHidePressengerCheckPager(isShow = false)

View File

@@ -1,133 +0,0 @@
package com.mogo.och.taxi.passenger.ui
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.mogo.commons.mvp.BaseFragment
import com.mogo.eagle.core.function.call.biz.CallerFuncBizManager
import com.mogo.eagle.core.function.view.OverMapView
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.och.taxi.passenger.R
import com.mogo.och.taxi.passenger.constant.TaxiPassengerOrderStatusEnum
import com.mogo.och.taxi.passenger.model.TaxiPassengerModel
import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.Disposable
import java.util.concurrent.TimeUnit
class OverviewFragment : BaseFragment() {
private var overmapview: OverMapView?=null
private var lifeVisable2User = false
private var finalVisable2User = false
private var subscribe: Disposable?=null
override fun onResume() {
super.onResume()
overmapview?.onResume()
CallerLogger.d(SceneConstant.M_TAXI_P + TAG,"onResume")
lifeVisable2User = true
checkVisable()
}
override fun onPause() {
super.onPause()
overmapview?.onPause()
CallerLogger.d(SceneConstant.M_TAXI_P + TAG,"onPause")
lifeVisable2User = false
checkVisable()
}
private fun checkVisable() {
subscribe?.let {
if (!it.isDisposed) {
it.dispose()
}
}
subscribe = Observable.timer(500, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread())
.subscribe {
if(lifeVisable2User){//展示
if(!finalVisable2User){
CallerLogger.d(SceneConstant.M_TAXI_P + TAG,"正在展示")
finalVisable2User = true
statusChange(TaxiPassengerModel.curOrderStatus)
}
}else{//没有展示
if(finalVisable2User){
CallerLogger.d(SceneConstant.M_TAXI_P + TAG,"已经隐藏")
finalVisable2User = false
}
}
}
}
override fun onDestroy() {
super.onDestroy()
overmapview?.onDestroy()
CallerLogger.d(SceneConstant.M_TAXI_P + TAG,"onDestroy")
}
private fun statusChange(currentStatusEnum: TaxiPassengerOrderStatusEnum){
CallerLogger.d(SceneConstant.M_TAXI_P + TAG,"状态变更最新状态:$currentStatusEnum")
when (currentStatusEnum) {
TaxiPassengerOrderStatusEnum.OnTheWayToEnd -> {
CallerFuncBizManager.bizProvider.getAllV2XEvents()
}
TaxiPassengerOrderStatusEnum.ArriveAtEnd,TaxiPassengerOrderStatusEnum.JourneyCompleted,
TaxiPassengerOrderStatusEnum.Cancel -> {
// stop clear
stopAndClear()
}
else -> {}
}
}
private fun stopAndClear(){
CallerFuncBizManager.bizProvider.stopQueryV2XEvents()
UiThreadHandler.post({
overmapview?.clearV2XMarkers()
overmapview?.clearCustomPolyline()
}, UiThreadHandler.MODE.QUEUE)
}
override fun getLayoutId(): Int {
return R.layout.taxi_p_overmap_fragment
}
override fun getTagName(): String {
return TAG
}
override fun initViews() {
}
override fun initViews(savedInstanceState: Bundle?) {
super.initViews(savedInstanceState)
overmapview = findViewById(R.id.overMapView)
overmapview?.onCreateView(savedInstanceState)
CallerLogger.d(SceneConstant.M_TAXI_P + TAG,"onCreateView")
statusChange(TaxiPassengerModel.curOrderStatus)
}
companion object{
private const val TAG = "OverviewFragment"
@JvmStatic
fun newInstance(): OverviewFragment {
val args = Bundle()
val fragment = OverviewFragment()
fragment.arguments = args
return fragment
}
}
}

View File

@@ -3,14 +3,12 @@ package com.mogo.och.taxi.passenger.ui
import android.graphics.drawable.AnimationDrawable
import android.os.Bundle
import android.view.View
import androidx.core.content.ContextCompat
import com.mogo.commons.mvp.MvpFragment
import com.mogo.eagle.core.function.call.hmi.CallerHmiManager
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager
import com.mogo.eagle.core.utilcode.kotlin.onClick
import com.mogo.eagle.core.utilcode.util.DeviceUtils
import com.mogo.eagle.core.utilcode.util.OverlayViewUtils
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.map.listener.IMogoMapListener
import com.mogo.map.uicontroller.VisualAngleMode
import com.mogo.och.common.module.utils.RxUtils
@@ -109,6 +107,8 @@ class TaxiPassengerBaseFragment() :
CallerHmiManager.hideTrafficLightView()
infoVideoView.visibility = View.VISIBLE
}
else -> {}
}
}
@@ -267,6 +267,11 @@ class TaxiPassengerBaseFragment() :
}
}
fun showOrHideOverMapView(){
overMapView?.clearV2XMarkers()
overMapView?.clearCustomPolyline()
}
/**
* ① 取消订单 到达上车点后乘客取消订单 隐藏乘客验证页面
* ② 司机到达上车点 到达上车点 展示乘客验证页面