From dbf832e139adb59035232dacf45706125ab75ac8 Mon Sep 17 00:00:00 2001 From: wangcongtao Date: Tue, 28 Apr 2020 17:20:30 +0800 Subject: [PATCH] opt --- .idea/misc.xml | 2 +- .../com/mogo/module/main/MainActivity.java | 4 +- .../com/mogo/module/service/MogoServices.java | 1 + .../service/marker/MapMarkerManager.java | 69 +++++++++++-------- 4 files changed, 47 insertions(+), 29 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 707ee6e613..2dc54c489f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java index beece1b84c..2ad11ae82e 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java @@ -338,7 +338,9 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme @Override public boolean onMarkerClicked( IMogoMarker marker ) { EventDispatchCenter.getInstance().onMarkerClicked( marker ); - switch2Card( marker.getOwner(), false ); + if ( !mMogoStatusManager.isADASShow() ) { + switch2Card( marker.getOwner(), false ); + } return false; } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java index 4775c9bdf5..9a1b63ae3c 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java @@ -608,6 +608,7 @@ public class MogoServices implements IMogoMapListener, mLastAutoRefreshLocation = point; notifyRefreshData( mLastAutoRefreshLocation, getQueryRadius(), mAutoRefreshCallback ); } + MapMarkerManager.getInstance().syncLocation( latLng.getLongitude(), latLng.getLatitude() ); } @Override diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java index dc0c207d65..767f07aae7 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java @@ -832,39 +832,54 @@ public class MapMarkerManager implements IMogoMarkerClickListener, private void getOnlineCarList() { - if (MarkerServiceHandler.getMogoStatusManager().isSearchUIShow()){ + if ( ignoreOnlineCarRequest() ) { + removeCarMarkers(); return; } + mRefreshModel.queryOnLineCarWithRoute(mCarLatLng, false, false, new RefreshCallback() { + @Override + public void onSuccess(Object o) { + MarkerResponse data = (MarkerResponse) o; + MarkerCardResult result = data.getResult(); + if (result == null) { + return; + } + removeCarMarkers(); + List onlineCarList = result.getOnlineCar(); + if ( !MarkerServiceHandler.getMogoStatusManager().isADASShow() ) { + dispatchDataToBis(ServiceConst.CARD_TYPE_USER_DATA, onlineCarList == null ? new ArrayList<>() : onlineCarList); + } + if (MarkerServiceHandler.getMogoStatusManager().isSearchUIShow() ){ + return; + } + drawOnlineCarMarkers(onlineCarList, ServiceConst.MAX_AMOUNT_SINGLE_CARD); + } + + @Override + public void onFail() { + + } + }); + } + + /** + * 忽略在线车辆请求策略 + * @return + */ + private boolean ignoreOnlineCarRequest(){ + if ( MarkerServiceHandler.getMogoStatusManager().isSearchUIShow() ) { + return true; + } + if ( MarkerServiceHandler.getMogoStatusManager().isADASShow() ) { + return false; + } if ( TextUtils.equals( ServiceConst.CARD_TYPE_USER_DATA, mCurrentModuleName ) || TextUtils.equals( ServiceConst.CARD_TYPE_BUSINESS_OPERATION, mCurrentModuleName ) - || TextUtils.equals( ServiceConst.CARD_TYPE_CARS_CHATTING, mCurrentModuleName )) { - - mRefreshModel.queryOnLineCarWithRoute(mCarLatLng, false, false, new RefreshCallback() { - @Override - public void onSuccess(Object o) { - MarkerResponse data = (MarkerResponse) o; - MarkerCardResult result = data.getResult(); - if (result == null) { - return; - } - removeCarMarkers(); - List onlineCarList = result.getOnlineCar(); - dispatchDataToBis(ServiceConst.CARD_TYPE_USER_DATA, onlineCarList == null ? new ArrayList<>() : onlineCarList); - if (MarkerServiceHandler.getMogoStatusManager().isSearchUIShow() ){ - return; - } - drawOnlineCarMarkers(onlineCarList, ServiceConst.MAX_AMOUNT_SINGLE_CARD); - } - - @Override - public void onFail() { - - } - }); - }else { - removeCarMarkers(); + || TextUtils.equals( ServiceConst.CARD_TYPE_CARS_CHATTING, mCurrentModuleName ) ) { + return false; } + return true; } private void removeCarMarkers(){