[2.15。0]
[全览地图、道路事件]
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user