[2.15。0]

[全览地图、道路事件]
This commit is contained in:
yangyakun
2023-04-20 14:23:29 +08:00
parent 563859efca
commit d5712ad9a7
3 changed files with 83 additions and 0 deletions

View File

@@ -162,6 +162,7 @@ public class BaseTaxiPassengerPresenter extends Presenter<TaxiPassengerBaseFragm
if (TaxiPassengerOrderStatusEnum.Cancel.getCode() == order.orderStatus){ if (TaxiPassengerOrderStatusEnum.Cancel.getCode() == order.orderStatus){
runOnUIThread(() -> { runOnUIThread(() -> {
mView.showOrHideServingOrderFragment(false,true); mView.showOrHideServingOrderFragment(false,true);
mView.showOrHideOverMapViewFragment(false);
mView.showOrHideStartAutopilotView(false,false); mView.showOrHideStartAutopilotView(false,false);
mView.showOrHidePressengerCheckPager(false, "", mView.showOrHidePressengerCheckPager(false, "",
"", "", "", ""); "", "", "", "");
@@ -217,6 +218,7 @@ public class BaseTaxiPassengerPresenter extends Presenter<TaxiPassengerBaseFragm
TaxiPassengerModel.getInstance().recoverNaviInfo(); TaxiPassengerModel.getInstance().recoverNaviInfo();
TaxiPassengerModel.getInstance().startOrStopRouteAndWipe(false); TaxiPassengerModel.getInstance().startOrStopRouteAndWipe(false);
TaxiPassengerGeocodeSearchModel.getInstance(getContext()).destroyGeocodeSearch(); TaxiPassengerGeocodeSearchModel.getInstance(getContext()).destroyGeocodeSearch();
mView.showOrHideOverMapViewFragment(false);
runOnUIThread(() -> { runOnUIThread(() -> {
mView.showOrHideServingOrderFragment(false,true); mView.showOrHideServingOrderFragment(false,true);
mView.showOrHideArrivedEndLayout(true, order.endSiteAddr,order.orderNo); mView.showOrHideArrivedEndLayout(true, order.endSiteAddr,order.orderNo);

View File

@@ -1,16 +1,33 @@
package com.mogo.och.taxi.passenger.ui package com.mogo.och.taxi.passenger.ui
import android.content.Context
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import com.mogo.commons.mvp.BaseFragment 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.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.constant.TaxiPassengerOrderStatusEnum
import com.mogo.och.taxi.passenger.model.TaxiPassengerModel
import com.mogo.och.taxi.passenger.ui.leftmenu.OverlayLeftViewUtils
import io.reactivex.Observable
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.Disposable
import java.util.concurrent.TimeUnit
class OverviewFragment : BaseFragment() { class OverviewFragment : BaseFragment() {
private var overmapview: OverMapView?=null private var overmapview: OverMapView?=null
private var lifeVisable2User = false
private var finalVisable2User = false
private var subscribe: Disposable?=null
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, inflater: LayoutInflater,
container: ViewGroup?, container: ViewGroup?,
@@ -23,24 +40,83 @@ class OverviewFragment : BaseFragment() {
viewGroup.removeView(overmapview) viewGroup.removeView(overmapview)
} }
overmapview?.onCreateView(savedInstanceState) overmapview?.onCreateView(savedInstanceState)
CallerLogger.d(SceneConstant.M_TAXI_P + TAG,"onCreateView")
statusChange(TaxiPassengerModel.getInstance().curOrderStatus)
return overmapview!! return overmapview!!
} }
override fun onResume() { override fun onResume() {
super.onResume() super.onResume()
overmapview?.onResume() overmapview?.onResume()
CallerLogger.d(SceneConstant.M_TAXI_P + TAG,"onResume")
lifeVisable2User = true
checkVisable()
} }
override fun onPause() { override fun onPause() {
super.onPause() super.onPause()
overmapview?.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.getInstance().curOrderStatus)
}
}else{//没有展示
if(finalVisable2User){
CallerLogger.d(SceneConstant.M_TAXI_P + TAG,"已经隐藏")
finalVisable2User = false
stopAndClear()
}
}
}
} }
override fun onDestroy() { override fun onDestroy() {
super.onDestroy() super.onDestroy()
overmapview?.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()
}, UiThreadHandler.MODE.QUEUE)
}
override fun getLayoutId(): Int { override fun getLayoutId(): Int {
return 0 return 0
} }

View File

@@ -11,6 +11,7 @@ import android.widget.ImageView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.fragment.app.FragmentTransaction; import androidx.fragment.app.FragmentTransaction;
import androidx.lifecycle.Lifecycle;
import com.mogo.commons.module.status.MogoStatusManager; import com.mogo.commons.module.status.MogoStatusManager;
import com.mogo.commons.mvp.MvpFragment; import com.mogo.commons.mvp.MvpFragment;
@@ -356,21 +357,25 @@ public class TaxiPassengerBaseFragment extends MvpFragment<TaxiPassengerBaseFrag
if (overviewFragment.isHidden()) { if (overviewFragment.isHidden()) {
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.show(overviewFragment).commitAllowingStateLoss(); .show(overviewFragment).commitAllowingStateLoss();
transaction.setMaxLifecycle(overviewFragment, Lifecycle.State.RESUMED);
return; return;
} }
if (overviewFragment.isAdded()) { if (overviewFragment.isAdded()) {
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.show(overviewFragment).commitAllowingStateLoss(); .show(overviewFragment).commitAllowingStateLoss();
transaction.setMaxLifecycle(overviewFragment, Lifecycle.State.RESUMED);
return; return;
} }
transaction transaction
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.add(R.id.fl_container_overview, overviewFragment) .add(R.id.fl_container_overview, overviewFragment)
.show(overviewFragment).commitAllowingStateLoss(); .show(overviewFragment).commitAllowingStateLoss();
transaction.setMaxLifecycle(overviewFragment, Lifecycle.State.RESUMED);
} else { } else {
if (overviewFragment != null) { if (overviewFragment != null) {
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE) transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE)
.hide(overviewFragment).commitAllowingStateLoss(); .hide(overviewFragment).commitAllowingStateLoss();
transaction.setMaxLifecycle(overviewFragment, Lifecycle.State.STARTED);
} }
} }
} }