From f71ebc23275c01fa39e86842baf2598e987e3702 Mon Sep 17 00:00:00 2001 From: ihoudf <188816190@qq.com> Date: Mon, 20 Apr 2020 18:41:25 +0800 Subject: [PATCH] =?UTF-8?q?smooth=20move=201=EF=BC=88using=20test=20data?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/marker/MapMarkerManager.java | 695 ++++++++++-------- .../module/service/network/RefreshModel.java | 2 +- 2 files changed, 405 insertions(+), 292 deletions(-) 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 2828c1b12c..1194162f1c 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 @@ -12,6 +12,7 @@ import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.marker.IMogoMarkerManager; import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.map.marker.MogoMarkersHandler; +import com.mogo.module.common.entity.MarkerCarPois; import com.mogo.module.common.entity.MarkerCardResult; import com.mogo.module.common.entity.MarkerExploreWay; import com.mogo.module.common.entity.MarkerLocation; @@ -24,6 +25,8 @@ import com.mogo.module.common.entity.MarkerShowEntity; import com.mogo.module.service.MarkerServiceHandler; import com.mogo.module.service.ServiceConst; import com.mogo.module.service.Utils; +import com.mogo.module.service.network.RefreshCallback; +import com.mogo.module.service.network.RefreshModel; import com.mogo.module.service.utils.ViewUtils; import com.mogo.service.cardmanager.IMogoCardChangedListener; import com.mogo.service.connection.IMogoOnMessageListener; @@ -49,8 +52,7 @@ import java.util.Map; * version: 1.0 */ public class MapMarkerManager implements IMogoMarkerClickListener, - IMogoOnMessageListener< MarkerResponse >, - IMogoCardChangedListener, + IMogoOnMessageListener, IMogoCardChangedListener, IMogoBizActionDoneListener { private static final String TAG = "MapMarkerManager"; // 是否选中在线卡片及气泡,语音搜索触发 @@ -63,20 +65,25 @@ public class MapMarkerManager implements IMogoMarkerClickListener, private String mCurrentModuleName = ServiceConst.CARD_TYPE_BUSINESS_OPERATION; // 记录其它已经缩小的Marker - public ArrayList< String > alreadySmallMarker = new ArrayList<>(); + public ArrayList alreadySmallMarker = new ArrayList<>(); + // 存储所有汽车marker + public ArrayList carMarkers = new ArrayList<>(); // 距离用户最近的Marker private IMogoMarker mNearlyMarker = null; // 记录上次请求数据,切换卡片时做数据处理 private MarkerCardResult mLastDataResult; private boolean mIsMarkerClicked = false; + private RefreshModel mRefreshModel; + private MogoLatLng mCarLatLng; + private int mCarSmoothDuration = 5; private MapMarkerManager() { } public static synchronized MapMarkerManager getInstance() { - synchronized ( MapMarkerManager.class ) { - if ( mMarkerManager == null ) { + synchronized (MapMarkerManager.class) { + if (mMarkerManager == null) { mMarkerManager = new MapMarkerManager(); } } @@ -89,36 +96,38 @@ public class MapMarkerManager implements IMogoMarkerClickListener, * * @param context */ - public void init( Context context ) { + public void init(Context context) { mContext = context; + mRefreshModel = new RefreshModel(mContext); + // 长连接 - MarkerServiceHandler.getMogoSocketManager().registerOnMessageListener( 401001, this ); - MarkerServiceHandler.getMogoCardManager().registerCardChangedListener( "LAUNCHER_MARKER_MODULE", this ); - MarkerServiceHandler.getActionManager().registerBizActionDoneListener( this ); + MarkerServiceHandler.getMogoSocketManager().registerOnMessageListener(401001, this); + MarkerServiceHandler.getMogoCardManager().registerCardChangedListener( + "LAUNCHER_MARKER_MODULE", this); + MarkerServiceHandler.getActionManager().registerBizActionDoneListener(this); } // ACC ON 的时候重置为true,ACC OFF 设置为 false // 保留 - 外部模块调用 - public void setCheckOn( boolean checkOnLineData ) { - Logger.e( TAG, "do not invoke anymore." ); + public void setCheckOn(boolean checkOnLineData) { + Logger.e(TAG, "do not invoke anymore."); } @Override - public void onSwitched( int position, String moduleName ) { - Logger.d( TAG, "当前C位卡片:" + moduleName ); - if ( ( TextUtils.isEmpty( mCurrentModuleName ) - || TextUtils.equals( mCurrentModuleName, ServiceConst.CARD_TYPE_BUSINESS_OPERATION ) ) - && mIsMarkerClicked ) { + public void onSwitched(int position, String moduleName) { + Logger.d(TAG, "当前C位卡片:" + moduleName); + if ((TextUtils.isEmpty(mCurrentModuleName) || TextUtils.equals(mCurrentModuleName, + ServiceConst.CARD_TYPE_BUSINESS_OPERATION)) && mIsMarkerClicked) { mIsMarkerClicked = false; // 在广告位(默认位置)点击marker造成卡片切换的,还是现实全部marker 【需求:os2.0.2-2.5-4】 - highlightedMarker( moduleName, false ); + highlightedMarker(moduleName, false); mCurrentModuleName = moduleName; } else { mCurrentModuleName = moduleName; - runOnTargetThread( () -> { + runOnTargetThread(() -> { MarkerServiceHandler.getMarkerManager().removeMarkers(); - drawMarkerByCurrentType( mLastDataResult ); - } ); + drawMarkerByCurrentType(mLastDataResult); + }); } } @@ -126,58 +135,58 @@ public class MapMarkerManager implements IMogoMarkerClickListener, * 地图上的Marker点击回调 */ @Override - public boolean onMarkerClicked( IMogoMarker marker ) { + public boolean onMarkerClicked(IMogoMarker marker) { mIsMarkerClicked = true; - Logger.d( TAG, "onMarkerClicked 点击了大而全中的Marker:" + marker ); + Logger.d(TAG, "onMarkerClicked 点击了大而全中的Marker:" + marker); try { - boolean result = switchMarkerOpenStatus( marker ); - if ( !result ) { + boolean result = switchMarkerOpenStatus(marker); + if (!result) { return false; } // 数据统计代码 - final Map< String, Object > properties = new HashMap<>(); - switch ( mLastCheckMarker.getOwner() ) { + final Map properties = new HashMap<>(); + switch (mLastCheckMarker.getOwner()) { case ServiceConst.CARD_TYPE_CARS_CHATTING: - properties.put( "type", 3 ); + properties.put("type", 3); break; case ServiceConst.CARD_TYPE_USER_DATA: - properties.put( "type", 5 ); + properties.put("type", 5); break; case ServiceConst.CARD_TYPE_ROAD_CONDITION: - properties.put( "type", 2 ); + properties.put("type", 2); break; case ServiceConst.CARD_TYPE_NOVELTY: - MarkerShowEntity showEntity = ( MarkerShowEntity ) mLastCheckMarker.getObject(); + MarkerShowEntity showEntity = (MarkerShowEntity) mLastCheckMarker.getObject(); Object bindObj = showEntity.getBindObj(); - if ( bindObj instanceof MarkerNoveltyInfo ) { - switch ( ( ( MarkerNoveltyInfo ) bindObj ).getPoiType() ) { + if (bindObj instanceof MarkerNoveltyInfo) { + switch (((MarkerNoveltyInfo) bindObj).getPoiType()) { case MarkerPoiTypeEnum.GAS_STATION: - properties.put( "type", 4 ); + properties.put("type", 4); break; case MarkerPoiTypeEnum.TRAFFIC_CHECK: - properties.put( "type", 8 ); + properties.put("type", 8); break; case MarkerPoiTypeEnum.ROAD_CLOSED: - properties.put( "type", 7 ); + properties.put("type", 7); break; case MarkerPoiTypeEnum.SHOP_DISCOUNT: - properties.put( "type", 9 ); + properties.put("type", 9); break; case MarkerPoiTypeEnum.FOURS_4S: - properties.put( "type", 10 ); + properties.put("type", 10); break; } } break; case ServiceConst.CARD_TYPE_SHARE_MUSIC: - properties.put( "type", 6 ); + properties.put("type", 6); break; } - MarkerServiceHandler.getMogoAnalytics().track( "Launcher_Icon_Click", properties ); + MarkerServiceHandler.getMogoAnalytics().track("Launcher_Icon_Click", properties); - } catch ( Exception e ) { + } catch (Exception e) { e.printStackTrace(); } return false; @@ -189,99 +198,103 @@ public class MapMarkerManager implements IMogoMarkerClickListener, * @param marker * @return */ - private boolean switchMarkerOpenStatus( IMogoMarker marker ) { - if ( mLastCheckMarker != null ) { + private boolean switchMarkerOpenStatus(IMogoMarker marker) { + if (mLastCheckMarker != null) { // 判断点击的是否是同一个 - if ( marker.equals( mLastCheckMarker ) ) { - Logger.d( TAG, "onMarkerClicked 与上一次点击的Marker一样,不做处理:" + marker ); + if (marker.equals(mLastCheckMarker)) { + Logger.d(TAG, "onMarkerClicked 与上一次点击的Marker一样,不做处理:" + marker); return false; } // 将上次选中 Marker 设置为未选中状态 - closeMarker( mLastCheckMarker ); + closeMarker(mLastCheckMarker); } // 将当前的Marker设置为选中 - openMarker( marker ); + openMarker(marker); return true; } // 对指定类型高亮处理 - public synchronized void highlightedMarker( final String typeTag ) { - highlightedMarker( typeTag, false ); + public synchronized void highlightedMarker(final String typeTag) { + highlightedMarker(typeTag, false); } - public synchronized void highlightedMarker( final String typeTag, final boolean netDataRefresh ) { + public synchronized void highlightedMarker(final String typeTag, final boolean netDataRefresh) { try { - Logger.e( TAG, "上一次选中的卡片类型:mCurrentModuleName==" + mCurrentModuleName ); - if ( !TextUtils.isEmpty( mCurrentModuleName ) && TextUtils.equals( mCurrentModuleName, typeTag ) && !netDataRefresh ) { + Logger.e(TAG, "上一次选中的卡片类型:mCurrentModuleName==" + mCurrentModuleName); + if (!TextUtils.isEmpty(mCurrentModuleName) && TextUtils.equals(mCurrentModuleName, + typeTag) && !netDataRefresh) { return; } // 从已经缩小的记录删除 - alreadySmallMarker.remove( typeTag ); - List< IMogoMarker > currentHighLightList = MarkerServiceHandler.getMarkerManager().getMarkers( typeTag ); + alreadySmallMarker.remove(typeTag); + List currentHighLightList = + MarkerServiceHandler.getMarkerManager().getMarkers(typeTag); - if ( currentHighLightList == null || currentHighLightList.size() == 0 ) { + if (currentHighLightList == null || currentHighLightList.size() == 0) { alreadySmallMarker.clear(); // 放大所有的气泡 - Map< String, List< IMogoMarker > > lastHighLightList = MarkerServiceHandler.getMarkerManager().getAllMarkers(); - for ( String markerName : lastHighLightList.keySet() ) { - setMarkersBig( lastHighLightList.get( markerName ) ); + Map> lastHighLightList = + MarkerServiceHandler.getMarkerManager().getAllMarkers(); + for (String markerName : lastHighLightList.keySet()) { + setMarkersBig(lastHighLightList.get(markerName)); } } else { // 缩小其他的气泡 - Map< String, List< IMogoMarker > > lastHighLightList = MarkerServiceHandler.getMarkerManager().getAllMarkers(); - for ( String markerName : lastHighLightList.keySet() ) { - if ( !markerName.equals( typeTag ) ) { - if ( !alreadySmallMarker.contains( markerName ) ) { - alreadySmallMarker.add( markerName ); - setMarkersSmall( lastHighLightList.get( markerName ) ); + Map> lastHighLightList = + MarkerServiceHandler.getMarkerManager().getAllMarkers(); + for (String markerName : lastHighLightList.keySet()) { + if (!markerName.equals(typeTag)) { + if (!alreadySmallMarker.contains(markerName)) { + alreadySmallMarker.add(markerName); + setMarkersSmall(lastHighLightList.get(markerName)); } } } // 将当前卡片选中的气泡放大 - setMarkersBig( currentHighLightList ); + setMarkersBig(currentHighLightList); } - } catch ( Exception e ) { + } catch (Exception e) { e.printStackTrace(); } } - private static void setMarkersBig( List< IMogoMarker > markers ) { - if ( markers == null || markers.isEmpty() ) { + private static void setMarkersBig(List markers) { + if (markers == null || markers.isEmpty()) { return; } - for ( IMogoMarker mogoMarker : markers ) { - if ( mogoMarker == null || mogoMarker.isDestroyed() ) { + for (IMogoMarker mogoMarker : markers) { + if (mogoMarker == null || mogoMarker.isDestroyed()) { continue; } try { - mogoMarker.startScaleAnimation( 0.6f, 1f, 0.6f, 1f, 1000, new BounceInterpolator() ); - } catch ( Exception e ) { - Logger.e( TAG, e, "error." ); + mogoMarker.startScaleAnimation(0.6f, 1f, 0.6f, 1f, 1000, new BounceInterpolator()); + } catch (Exception e) { + Logger.e(TAG, e, "error."); } } } - private static void setMarkersSmall( List< IMogoMarker > markers ) { - if ( markers == null || markers.isEmpty() ) { + private static void setMarkersSmall(List markers) { + if (markers == null || markers.isEmpty()) { return; } - for ( IMogoMarker mogoMarker : markers ) { - smallMarker( mogoMarker ); + for (IMogoMarker mogoMarker : markers) { + smallMarker(mogoMarker); } } - private static void smallMarker( IMogoMarker mogoMarker ) { - if ( mogoMarker == null || mogoMarker.isDestroyed() ) { + private static void smallMarker(IMogoMarker mogoMarker) { + if (mogoMarker == null || mogoMarker.isDestroyed()) { return; } try { - mogoMarker.startScaleAnimation( 1f, 0.6f, 1f, 0.6f, 300, new OvershootInterpolator() ); - } catch ( Exception e ) { - Logger.e( TAG, e, "error." ); + mogoMarker.startScaleAnimation(1f, 0.6f, 1f, 0.6f, 300, new OvershootInterpolator()); + } catch (Exception e) { + Logger.e(TAG, e, "error."); } } @@ -290,83 +303,85 @@ public class MapMarkerManager implements IMogoMarkerClickListener, * * @param marker 要关闭的Marker */ - public synchronized void closeMarkerSelect( IMogoMarker marker ) { + public synchronized void closeMarkerSelect(IMogoMarker marker) { // 将上次选中 Marker 设置为未选中状态 - if ( marker != null ) { - Logger.i( TAG, "closeMarkerSelect 将出Marker详情关闭:" + marker ); - closeMarker( marker ); + if (marker != null) { + Logger.i(TAG, "closeMarkerSelect 将出Marker详情关闭:" + marker); + closeMarker(marker); mLastCheckMarker = null; } } // 展开气泡 - private void openMarker( IMogoMarker mogoMarker ) { - if ( mogoMarker == null ) { + private void openMarker(IMogoMarker mogoMarker) { + if (mogoMarker == null) { return; } - if ( mLastCheckMarker != null ) { - closeMarker( mLastCheckMarker ); + if (mLastCheckMarker != null) { + closeMarker(mLastCheckMarker); } mLastCheckMarker = mogoMarker; Object object = mogoMarker.getObject(); - if ( object != null ) { - MarkerShowEntity markerShowEntity = ( MarkerShowEntity ) object; - markerShowEntity.setChecked( true ); - IMarkerView markerView = MapMarkerAdapter.getMarkerView( mContext, markerShowEntity, mogoMarker.getMogoMarkerOptions() ); - mogoMarker.setIcon( ViewUtils.fromView( markerView.getView() ) ); + if (object != null) { + MarkerShowEntity markerShowEntity = (MarkerShowEntity) object; + markerShowEntity.setChecked(true); + IMarkerView markerView = MapMarkerAdapter.getMarkerView(mContext, markerShowEntity, + mogoMarker.getMogoMarkerOptions()); + mogoMarker.setIcon(ViewUtils.fromView(markerView.getView())); mogoMarker.setToTop(); } } // 折叠气泡 - private void closeMarker( IMogoMarker mogoMarker ) { - if ( mogoMarker == null ) { + private void closeMarker(IMogoMarker mogoMarker) { + if (mogoMarker == null) { return; } Object object = mogoMarker.getObject(); - if ( object != null ) { - MarkerShowEntity markerShowEntity = ( MarkerShowEntity ) object; - markerShowEntity.setChecked( false ); - IMarkerView markerView = MapMarkerAdapter.getMarkerView( mContext, markerShowEntity, mogoMarker.getMogoMarkerOptions() ); - mogoMarker.setIcon( ViewUtils.fromView( markerView.getView() ) ); + if (object != null) { + MarkerShowEntity markerShowEntity = (MarkerShowEntity) object; + markerShowEntity.setChecked(false); + IMarkerView markerView = MapMarkerAdapter.getMarkerView(mContext, markerShowEntity, + mogoMarker.getMogoMarkerOptions()); + mogoMarker.setIcon(ViewUtils.fromView(markerView.getView())); } } // 绘制Marker - public synchronized void drawMapMarker( MarkerResponse response ) { + public synchronized void drawMapMarker(MarkerResponse response) { - if ( response == null || response.getResult() == null ) { + if (response == null || response.getResult() == null) { return; } - if ( MarkerServiceHandler.getMogoStatusManager().isSearchUIShow() ) { + if (MarkerServiceHandler.getMogoStatusManager().isSearchUIShow()) { return; } // 解析不同的Marker类型,然后对应的进行绘制 - Logger.d( TAG, "draw marker" ); + Logger.d(TAG, "draw marker"); mLastDataResult = response.getResult(); - UiThreadHandler.post( () -> { + UiThreadHandler.post(() -> { dispatchDataToBiz(); - } ); + }); // 语音触发的在线车辆搜索,采用增量的形式绘制 - if ( mIsAISearchOnlineData = isOnlineCarDataOnly( mLastDataResult ) ) { - MarkerServiceHandler.getMarkerManager().removeMarkers( ServiceConst.CARD_TYPE_USER_DATA ); - MarkerServiceHandler.getMogoCardManager().switch2( ServiceConst.CARD_TYPE_USER_DATA ); + if (mIsAISearchOnlineData = isOnlineCarDataOnly(mLastDataResult)) { + MarkerServiceHandler.getMarkerManager().removeMarkers(ServiceConst.CARD_TYPE_USER_DATA); + MarkerServiceHandler.getMogoCardManager().switch2(ServiceConst.CARD_TYPE_USER_DATA); } else { mLastCheckMarker = null; // 清空所有地图上绘制的Marker MarkerServiceHandler.getMarkerManager().removeMarkers(); } - drawMarkerByCurrentType( mLastDataResult ); + drawMarkerByCurrentType(mLastDataResult); // 同步新绘制的气泡状态 alreadySmallMarker.clear(); // highlightedMarker( mCurrentModuleName, true ); - trackData( mLastDataResult ); + trackData(mLastDataResult); } /** @@ -375,11 +390,8 @@ public class MapMarkerManager implements IMogoMarkerClickListener, * @param markerCardResult * @return */ - private boolean isOnlineCarDataOnly( MarkerCardResult markerCardResult ) { - if ( markerCardResult != null && - markerCardResult.getDataType() != null && - markerCardResult.getDataType().size() == 1 && - markerCardResult.getDataType().contains( ServiceConst.CARD_TYPE_USER_DATA ) ) { + private boolean isOnlineCarDataOnly(MarkerCardResult markerCardResult) { + if (markerCardResult != null && markerCardResult.getDataType() != null && markerCardResult.getDataType().size() == 1 && markerCardResult.getDataType().contains(ServiceConst.CARD_TYPE_USER_DATA)) { return true; } return false; @@ -390,42 +402,42 @@ public class MapMarkerManager implements IMogoMarkerClickListener, * * @param markerCardResult */ - private synchronized void drawMarkerByCurrentType( MarkerCardResult markerCardResult ) { + private synchronized void drawMarkerByCurrentType(MarkerCardResult markerCardResult) { - if ( markerCardResult == null ) { + if (markerCardResult == null) { return; } - if ( MarkerServiceHandler.getMogoStatusManager().isSearchUIShow() ) { + if (MarkerServiceHandler.getMogoStatusManager().isSearchUIShow()) { return; } - if ( TextUtils.isEmpty( mCurrentModuleName ) ) { + if (TextUtils.isEmpty(mCurrentModuleName)) { // 默认大而全 mCurrentModuleName = ServiceConst.CARD_TYPE_BUSINESS_OPERATION; } - List< MarkerOnlineCar > onlineCarList = markerCardResult.getOnlineCar(); - List< MarkerExploreWay > exploreWayList = markerCardResult.getExploreWay(); - List< MarkerShareMusic > shareMusicList = markerCardResult.getShareMusic(); - List< MarkerNoveltyInfo > noveltyInfoList = markerCardResult.getNoveltyInfo(); +// List< MarkerOnlineCar > onlineCarList = markerCardResult.getOnlineCar(); + List exploreWayList = markerCardResult.getExploreWay(); + List shareMusicList = markerCardResult.getShareMusic(); + List noveltyInfoList = markerCardResult.getNoveltyInfo(); - switch ( mCurrentModuleName ) { + switch (mCurrentModuleName) { case ServiceConst.CARD_TYPE_BUSINESS_OPERATION: - drawAllMarker( markerCardResult ); + drawAllMarker(markerCardResult); break; case ServiceConst.CARD_TYPE_NOVELTY: - drawNoveltyMarker( noveltyInfoList, ServiceConst.MAX_AMOUNT_SINGLE_CARD ); + drawNoveltyMarker(noveltyInfoList, ServiceConst.MAX_AMOUNT_SINGLE_CARD); break; case ServiceConst.CARD_TYPE_CARS_CHATTING: case ServiceConst.CARD_TYPE_USER_DATA: - drawOnlineCarMarkers( onlineCarList, ServiceConst.MAX_AMOUNT_SINGLE_CARD ); +// drawOnlineCarMarkers( onlineCarList, ServiceConst.MAX_AMOUNT_SINGLE_CARD ); break; case ServiceConst.CARD_TYPE_ROAD_CONDITION: - drawRoadConditionMarker( exploreWayList, ServiceConst.MAX_AMOUNT_SINGLE_CARD ); + drawRoadConditionMarker(exploreWayList, ServiceConst.MAX_AMOUNT_SINGLE_CARD); break; case ServiceConst.CARD_TYPE_SHARE_MUSIC: - drawShareMusicMarker( shareMusicList, ServiceConst.MAX_AMOUNT_SINGLE_CARD ); + drawShareMusicMarker(shareMusicList, ServiceConst.MAX_AMOUNT_SINGLE_CARD); break; } } @@ -435,16 +447,16 @@ public class MapMarkerManager implements IMogoMarkerClickListener, * * @param markerCardResult */ - private void drawAllMarker( MarkerCardResult markerCardResult ) { - List< MarkerOnlineCar > onlineCarList = markerCardResult.getOnlineCar(); - List< MarkerExploreWay > exploreWayList = markerCardResult.getExploreWay(); - List< MarkerShareMusic > shareMusicList = markerCardResult.getShareMusic(); - List< MarkerNoveltyInfo > noveltyInfoList = markerCardResult.getNoveltyInfo(); + private void drawAllMarker(MarkerCardResult markerCardResult) { + List onlineCarList = markerCardResult.getOnlineCar(); + List exploreWayList = markerCardResult.getExploreWay(); + List shareMusicList = markerCardResult.getShareMusic(); + List noveltyInfoList = markerCardResult.getNoveltyInfo(); - drawOnlineCarMarkers( onlineCarList, ServiceConst.MAX_AMOUNT_ALL ); - drawRoadConditionMarker( exploreWayList, ServiceConst.MAX_AMOUNT_ALL ); - drawShareMusicMarker( shareMusicList, ServiceConst.MAX_AMOUNT_ALL ); - drawNoveltyMarker( noveltyInfoList, ServiceConst.MAX_AMOUNT_ALL ); +// drawOnlineCarMarkers( onlineCarList, ServiceConst.MAX_AMOUNT_ALL ); + drawRoadConditionMarker(exploreWayList, ServiceConst.MAX_AMOUNT_ALL); + drawShareMusicMarker(shareMusicList, ServiceConst.MAX_AMOUNT_ALL); + drawNoveltyMarker(noveltyInfoList, ServiceConst.MAX_AMOUNT_ALL); } /** @@ -452,61 +464,92 @@ public class MapMarkerManager implements IMogoMarkerClickListener, * * @param onlineCarList */ - private void drawOnlineCarMarkers( List< MarkerOnlineCar > onlineCarList, int maxAmount ) { + private void drawOnlineCarMarkers(List onlineCarList, int maxAmount) { // 将数据同步给在线车辆,避免每次 perform 的时候去拉取,造成消耗 - if ( onlineCarList == null || onlineCarList.isEmpty() ) { + if (onlineCarList == null || onlineCarList.isEmpty()) { return; } + + for (int i = 0; i < carMarkers.size(); i++) { + IMogoMarker marker = carMarkers.get(i); + marker.destroy(); + } + double nearlyDistance = Float.MAX_VALUE; - int size = getAppropriateSize( maxAmount, onlineCarList ); - for ( int i = 0; i < size; i++ ) { - MarkerOnlineCar markerOnlineCar = onlineCarList.get( i ); + int size = getAppropriateSize(maxAmount, onlineCarList); + for (int i = 0; i < size; i++) { + MarkerOnlineCar markerOnlineCar = onlineCarList.get(i); MarkerLocation markerLocation = markerOnlineCar.getLocation(); MarkerShowEntity markerShowEntity = new MarkerShowEntity(); - markerShowEntity.setBindObj( markerOnlineCar ); - markerShowEntity.setMarkerLocation( markerLocation ); - markerShowEntity.setMarkerType( markerOnlineCar.getType() ); - markerShowEntity.setTextContent( markerOnlineCar.getUserInfo().getUserName() ); - markerShowEntity.setIconUrl( markerOnlineCar.getUserInfo().getUserHead() ); + markerShowEntity.setBindObj(markerOnlineCar); + markerShowEntity.setMarkerLocation(markerLocation); + markerShowEntity.setMarkerType(markerOnlineCar.getType()); + + if (markerOnlineCar.getCarInfo() != null) { + markerShowEntity.setTextContent(markerOnlineCar.getUserInfo().getUserName()); + markerShowEntity.setIconUrl(markerOnlineCar.getUserInfo().getUserHead()); + } + + IMogoMarker iMogoMarker = drawMapMarker(markerShowEntity); + + carMarkers.add(iMogoMarker); + List poisList = markerOnlineCar.getPois(); + if (poisList.size() > 0){ + List points = new ArrayList<>(); + + if (poisList.size() == 1){ + points.add(new MogoLatLng(markerLocation.getLat(),markerLocation.getLon())); + } + for (int j = 0; j < poisList.size(); j++) { + MarkerCarPois pois = poisList.get(j); + double lat = pois.getCoordinates()[1]; + double lng = pois.getCoordinates()[0]; + points.add(new MogoLatLng(lat,lng)); + + } + iMogoMarker.startSmooth(points,mCarSmoothDuration); + } + - IMogoMarker iMogoMarker = drawMapMarker( markerShowEntity ); // 计算在线车辆距离当前车辆的距离,每次都与最后一次距离最近的进行比较,保留距离最近的车辆,进行卡片展示 try { // 当前车辆的位置 - MogoLocation currentLocation = MarkerServiceHandler.getMogoLocationClient().getLastKnowLocation(); + MogoLocation currentLocation = + MarkerServiceHandler.getMogoLocationClient().getLastKnowLocation(); // 计算车辆距离指定气泡的距离 - float calculateDistance = Utils.calculateLineDistance( - new MogoLatLng( markerLocation.getLat(), markerLocation.getLon() ), - new MogoLatLng( currentLocation.getLatitude(), currentLocation.getLongitude() ) - ); + float calculateDistance = + Utils.calculateLineDistance(new MogoLatLng(markerLocation.getLat(), + markerLocation.getLon()), + new MogoLatLng(currentLocation.getLatitude(), + currentLocation.getLongitude())); // 进行比较,保留最近的一个数据 - if ( calculateDistance < nearlyDistance ) { + if (calculateDistance < nearlyDistance) { nearlyDistance = calculateDistance; mNearlyMarker = iMogoMarker; } - } catch ( Exception e ) { + } catch (Exception e) { e.printStackTrace(); } } - Logger.d( TAG, "距离当前车辆位置最近的距离为:" + nearlyDistance ); + Logger.d(TAG, "距离当前车辆位置最近的距离为:" + nearlyDistance); try { // 在ACC on 之后第一次获取到了在线车辆数据,选中最近的一个Marker - if ( mIsAISearchOnlineData ) { - if ( mNearlyMarker != null ) { - Logger.d( TAG, "语音搜索触发,默认选中最近的在线车辆:" + mNearlyMarker ); + if (mIsAISearchOnlineData) { + if (mNearlyMarker != null) { + Logger.d(TAG, "语音搜索触发,默认选中最近的在线车辆:" + mNearlyMarker); // 移动地图到指定位置 - MarkerServiceHandler.getMogoStatusManager().setUserInteractionStatus( ServiceConst.TYPE, true, false ); - MarkerServiceHandler.getMapUIController().moveToCenter( mNearlyMarker.getPosition() ); - onMarkerClicked( mNearlyMarker ); - MogoMarkersHandler.getInstance().onMarkerClicked( mNearlyMarker ); + MarkerServiceHandler.getMogoStatusManager().setUserInteractionStatus(ServiceConst.TYPE, true, false); + MarkerServiceHandler.getMapUIController().moveToCenter(mNearlyMarker.getPosition()); + onMarkerClicked(mNearlyMarker); + MogoMarkersHandler.getInstance().onMarkerClicked(mNearlyMarker); mIsAISearchOnlineData = false; } } - } catch ( Exception e ) { + } catch (Exception e) { e.printStackTrace(); } } @@ -516,24 +559,24 @@ public class MapMarkerManager implements IMogoMarkerClickListener, * * @param exploreWayList */ - private void drawRoadConditionMarker( List< MarkerExploreWay > exploreWayList, int maxAmount ) { + private void drawRoadConditionMarker(List exploreWayList, int maxAmount) { // 将数据同步给探路,避免探路每次 perform 的时候去拉取,造成消耗 - if ( exploreWayList == null || exploreWayList.isEmpty() ) { + if (exploreWayList == null || exploreWayList.isEmpty()) { return; } - int size = getAppropriateSize( maxAmount, exploreWayList ); - for ( int i = 0; i < size; i++ ) { - MarkerExploreWay markerExploreWay = exploreWayList.get( i ); - if ( !markerExploreWay.getCanLive() ) { + int size = getAppropriateSize(maxAmount, exploreWayList); + for (int i = 0; i < size; i++) { + MarkerExploreWay markerExploreWay = exploreWayList.get(i); + if (!markerExploreWay.getCanLive()) { MarkerLocation markerLocation = markerExploreWay.getLocation(); MarkerShowEntity markerShowEntity = new MarkerShowEntity(); - markerShowEntity.setBindObj( markerExploreWay ); - markerShowEntity.setMarkerLocation( markerLocation ); - markerShowEntity.setMarkerType( markerExploreWay.getType() ); - markerShowEntity.setTextContent( markerExploreWay.getAddr() ); + markerShowEntity.setBindObj(markerExploreWay); + markerShowEntity.setMarkerLocation(markerLocation); + markerShowEntity.setMarkerType(markerExploreWay.getType()); + markerShowEntity.setTextContent(markerExploreWay.getAddr()); - drawMapMarker( markerShowEntity ); + drawMapMarker(markerShowEntity); } } } @@ -543,22 +586,22 @@ public class MapMarkerManager implements IMogoMarkerClickListener, * * @param shareMusicList */ - private void drawShareMusicMarker( List< MarkerShareMusic > shareMusicList, int maxAmount ) { - if ( shareMusicList == null ) { + private void drawShareMusicMarker(List shareMusicList, int maxAmount) { + if (shareMusicList == null) { return; } - int size = getAppropriateSize( maxAmount, shareMusicList ); - for ( int i = 0; i < size; i++ ) { - MarkerShareMusic markerShareMusic = shareMusicList.get( i ); + int size = getAppropriateSize(maxAmount, shareMusicList); + for (int i = 0; i < size; i++) { + MarkerShareMusic markerShareMusic = shareMusicList.get(i); MarkerLocation markerLocation = markerShareMusic.getLocation(); MarkerShowEntity markerShowEntity = new MarkerShowEntity(); - markerShowEntity.setBindObj( markerShareMusic ); - markerShowEntity.setMarkerLocation( markerLocation ); - markerShowEntity.setMarkerType( markerShareMusic.getType() ); - markerShowEntity.setTextContent( markerShareMusic.getMediaName() ); - markerShowEntity.setIconUrl( markerShareMusic.getMediaImg() ); + markerShowEntity.setBindObj(markerShareMusic); + markerShowEntity.setMarkerLocation(markerLocation); + markerShowEntity.setMarkerType(markerShareMusic.getType()); + markerShowEntity.setTextContent(markerShareMusic.getMediaName()); + markerShowEntity.setIconUrl(markerShareMusic.getMediaImg()); - drawMapMarker( markerShowEntity ); + drawMapMarker(markerShowEntity); } } @@ -567,20 +610,20 @@ public class MapMarkerManager implements IMogoMarkerClickListener, * * @param noveltyInfoList */ - private void drawNoveltyMarker( List< MarkerNoveltyInfo > noveltyInfoList, int maxAmount ) { - if ( noveltyInfoList == null ) { + private void drawNoveltyMarker(List noveltyInfoList, int maxAmount) { + if (noveltyInfoList == null) { return; } - int size = getAppropriateSize( maxAmount, noveltyInfoList ); - for ( int i = 0; i < size; i++ ) { - MarkerNoveltyInfo noveltyInfo = noveltyInfoList.get( i ); + int size = getAppropriateSize(maxAmount, noveltyInfoList); + for (int i = 0; i < size; i++) { + MarkerNoveltyInfo noveltyInfo = noveltyInfoList.get(i); MarkerLocation markerLocation = noveltyInfo.getLocation(); MarkerShowEntity markerShowEntity = new MarkerShowEntity(); - markerShowEntity.setBindObj( noveltyInfo ); - markerShowEntity.setMarkerLocation( markerLocation ); - markerShowEntity.setMarkerType( noveltyInfo.getType() ); - markerShowEntity.setTextContent( noveltyInfo.getLocation().getAddress() ); - drawMapMarker( markerShowEntity ); + markerShowEntity.setBindObj(noveltyInfo); + markerShowEntity.setMarkerLocation(markerLocation); + markerShowEntity.setMarkerType(noveltyInfo.getType()); + markerShowEntity.setTextContent(noveltyInfo.getLocation().getAddress()); + drawMapMarker(markerShowEntity); } } @@ -589,11 +632,11 @@ public class MapMarkerManager implements IMogoMarkerClickListener, * @param list * @return */ - private int getAppropriateSize( int maxAmount, List list ) { - if ( list == null ) { + private int getAppropriateSize(int maxAmount, List list) { + if (list == null) { return 0; } - return Math.min( maxAmount, list.size() ); + return Math.min(maxAmount, list.size()); } @@ -602,22 +645,22 @@ public class MapMarkerManager implements IMogoMarkerClickListener, * * @param markerCardResult */ - private void trackData( MarkerCardResult markerCardResult ) { - if ( markerCardResult == null ) { + private void trackData(MarkerCardResult markerCardResult) { + if (markerCardResult == null) { return; } JSONArray array = new JSONArray(); - List< MarkerOnlineCar > onlineCarList = markerCardResult.getOnlineCar(); - List< MarkerExploreWay > exploreWayList = markerCardResult.getExploreWay(); - List< MarkerShareMusic > shareMusicList = markerCardResult.getShareMusic(); - List< MarkerNoveltyInfo > noveltyInfoList = markerCardResult.getNoveltyInfo(); + List onlineCarList = markerCardResult.getOnlineCar(); + List exploreWayList = markerCardResult.getExploreWay(); + List shareMusicList = markerCardResult.getShareMusic(); + List noveltyInfoList = markerCardResult.getNoveltyInfo(); int size = onlineCarList == null ? 0 : onlineCarList.size(); - fillNumberTrackEventBody( array, 3, size ); + fillNumberTrackEventBody(array, 3, size); size = exploreWayList == null ? 0 : exploreWayList.size(); - fillNumberTrackEventBody( array, 1, size ); + fillNumberTrackEventBody(array, 1, size); size = shareMusicList == null ? 0 : shareMusicList.size(); - fillNumberTrackEventBody( array, 4, size ); + fillNumberTrackEventBody(array, 4, size); int num_gas_station = 0; int num_traffic_check = 0; @@ -625,12 +668,12 @@ public class MapMarkerManager implements IMogoMarkerClickListener, int num_shop_discount = 0; int num_fours_shop = 0; - if ( noveltyInfoList != null ) { - for ( MarkerNoveltyInfo markerNoveltyInfo : noveltyInfoList ) { - if ( markerNoveltyInfo == null ) { + if (noveltyInfoList != null) { + for (MarkerNoveltyInfo markerNoveltyInfo : noveltyInfoList) { + if (markerNoveltyInfo == null) { continue; } - switch ( markerNoveltyInfo.getPoiType() ) { + switch (markerNoveltyInfo.getPoiType()) { case MarkerPoiTypeEnum.GAS_STATION: num_gas_station++; break; @@ -650,20 +693,20 @@ public class MapMarkerManager implements IMogoMarkerClickListener, } } - fillNumberTrackEventBody( array, 2, num_gas_station ); - fillNumberTrackEventBody( array, 6, num_road_closed ); - fillNumberTrackEventBody( array, 5, num_traffic_check ); - fillNumberTrackEventBody( array, 7, num_shop_discount ); - fillNumberTrackEventBody( array, 8, num_fours_shop ); + fillNumberTrackEventBody(array, 2, num_gas_station); + fillNumberTrackEventBody(array, 6, num_road_closed); + fillNumberTrackEventBody(array, 5, num_traffic_check); + fillNumberTrackEventBody(array, 7, num_shop_discount); + fillNumberTrackEventBody(array, 8, num_fours_shop); try { - if ( array.length() == 0 ) { + if (array.length() == 0) { return; } - final Map< String, Object > properties = new HashMap<>(); - properties.put( "data", array.toString() ); - MarkerServiceHandler.getMogoAnalytics().track( "Launcher_Data_Get", properties ); - } catch ( Exception e ) { + final Map properties = new HashMap<>(); + properties.put("data", array.toString()); + MarkerServiceHandler.getMogoAnalytics().track("Launcher_Data_Get", properties); + } catch (Exception e) { e.printStackTrace(); } } @@ -674,15 +717,18 @@ public class MapMarkerManager implements IMogoMarkerClickListener, * 仅在数据刷新的时候分发 */ private void dispatchDataToBiz() { - if ( mLastDataResult == null ) { + if (mLastDataResult == null) { return; } - List< MarkerOnlineCar > onlineCarList = mLastDataResult.getOnlineCar(); - List< MarkerExploreWay > exploreWayList = mLastDataResult.getExploreWay(); - List< MarkerNoveltyInfo > noveltyInfoList = mLastDataResult.getNoveltyInfo(); - dispatchDataToBis( ServiceConst.CARD_TYPE_USER_DATA, onlineCarList == null ? new ArrayList<>() : onlineCarList ); - dispatchDataToBis( ServiceConst.CARD_TYPE_ROAD_CONDITION, exploreWayList == null ? new ArrayList<>() : exploreWayList ); - dispatchDataToBis( ServiceConst.CARD_TYPE_NOVELTY, noveltyInfoList == null ? new ArrayList<>() : noveltyInfoList ); + List onlineCarList = mLastDataResult.getOnlineCar(); + List exploreWayList = mLastDataResult.getExploreWay(); + List noveltyInfoList = mLastDataResult.getNoveltyInfo(); + dispatchDataToBis(ServiceConst.CARD_TYPE_USER_DATA, onlineCarList == null ? + new ArrayList<>() : onlineCarList); + dispatchDataToBis(ServiceConst.CARD_TYPE_ROAD_CONDITION, exploreWayList == null ? + new ArrayList<>() : exploreWayList); + dispatchDataToBis(ServiceConst.CARD_TYPE_NOVELTY, noveltyInfoList == null ? + new ArrayList<>() : noveltyInfoList); } /** @@ -691,14 +737,14 @@ public class MapMarkerManager implements IMogoMarkerClickListener, * @param biz * @param object */ - private void dispatchDataToBis( String biz, Object object ) { - if ( TextUtils.isEmpty( biz ) ) { + private void dispatchDataToBis(String biz, Object object) { + if (TextUtils.isEmpty(biz)) { return; } try { - Logger.d( TAG, "dispatch data to %s", biz ); - MarkerServiceHandler.getDataManager().syncData( biz, object ); - } catch ( Exception e ) { + Logger.d(TAG, "dispatch data to %s", biz); + MarkerServiceHandler.getDataManager().syncData(biz, object); + } catch (Exception e) { e.printStackTrace(); } } @@ -706,15 +752,15 @@ public class MapMarkerManager implements IMogoMarkerClickListener, /** * 统计埋点 */ - private synchronized static void fillNumberTrackEventBody( JSONArray arr, int type, int size ) { + private synchronized static void fillNumberTrackEventBody(JSONArray arr, int type, int size) { JSONObject object = new JSONObject(); try { - object.put( "type", type ); - object.put( "num", size ); - if ( arr != null ) { - arr.put( object ); + object.put("type", type); + object.put("num", size); + if (arr != null) { + arr.put(object); } - } catch ( JSONException e ) { + } catch (JSONException e) { e.printStackTrace(); } } @@ -725,75 +771,143 @@ public class MapMarkerManager implements IMogoMarkerClickListener, * @param markerShowEntity marker 绘制数据实体 * @return 绘制的Marker */ - public synchronized IMogoMarker drawMapMarker( MarkerShowEntity markerShowEntity ) { + public synchronized IMogoMarker drawMapMarker(MarkerShowEntity markerShowEntity) { try { - return drawMapMarker( markerShowEntity, isSmallType() ); - } catch ( Exception e ) { + return drawMapMarker(markerShowEntity, isSmallType()); + } catch (Exception e) { e.printStackTrace(); return null; } } private boolean isSmallType() { - return !TextUtils.isEmpty( mCurrentModuleName ) - && mLastCheckMarker != null - && !mLastCheckMarker.isDestroyed() - && TextUtils.equals( mCurrentModuleName, mLastCheckMarker.getOwner() ); + return !TextUtils.isEmpty(mCurrentModuleName) && mLastCheckMarker != null && !mLastCheckMarker.isDestroyed() && TextUtils.equals(mCurrentModuleName, mLastCheckMarker.getOwner()); } - private IMogoMarker drawMapMarker( MarkerShowEntity markerShowEntity, boolean isSmall ) { - if ( markerShowEntity == null || markerShowEntity.getMarkerLocation() == null ) { + private IMogoMarker drawMapMarker(MarkerShowEntity markerShowEntity, boolean isSmall) { + if (markerShowEntity == null || markerShowEntity.getMarkerLocation() == null) { return null; } - MogoMarkerOptions options = new MogoMarkerOptions() - .owner( markerShowEntity.getMarkerType() ) - .object( markerShowEntity ) - .latitude( markerShowEntity.getMarkerLocation().getLat() ) - .longitude( markerShowEntity.getMarkerLocation().getLon() ); - IMarkerView markerView = MapMarkerAdapter.getMarkerView( mContext, markerShowEntity, options ); - options.icon( markerView.getView() ); + MogoMarkerOptions options = + new MogoMarkerOptions().owner(markerShowEntity.getMarkerType()).object(markerShowEntity).latitude(markerShowEntity.getMarkerLocation().getLat()).longitude(markerShowEntity.getMarkerLocation().getLon()); + IMarkerView markerView = MapMarkerAdapter.getMarkerView(mContext, markerShowEntity, + options); + options.icon(markerView.getView()); - IMogoMarker marker = MarkerServiceHandler.getMarkerManager().addMarker( markerShowEntity.getMarkerType(), options ); - marker.setOwner( markerShowEntity.getMarkerType() ); - markerView.setMarker( marker ); - marker.setOnMarkerClickListener( this ); + IMogoMarker marker = + MarkerServiceHandler.getMarkerManager().addMarker(markerShowEntity.getMarkerType(), options); + marker.setOwner(markerShowEntity.getMarkerType()); + markerView.setMarker(marker); + marker.setOnMarkerClickListener(this); - if ( isSmall ) { - List< IMogoMarker > markers = new ArrayList<>(); - markers.add( marker ); - setMarkersSmall( markers ); + if (isSmall) { + List markers = new ArrayList<>(); + markers.add(marker); + setMarkersSmall(markers); } - markerShowEntity.setMarker( marker ); + markerShowEntity.setMarker(marker); return marker; } @Override - public Class< MarkerResponse > target() { + public Class target() { return MarkerResponse.class; } @Override - public void onMsgReceived( final MarkerResponse response ) { - if ( ignoreDrawRequest() ) { + public void onMsgReceived(final MarkerResponse response) { + if (ignoreDrawRequest()) { return; } - Logger.d( TAG, "接收到了地图大而全数据" ); - runOnTargetThread( () -> { - drawMapMarker( response ); - } ); + Logger.d(TAG, "接收到了地图大而全数据"); + runOnTargetThread(() -> { + drawMapMarker(response); + }); } + public void getOnlineCarData(MogoLatLng latlng) { +// if (mCurrentModuleName.equals(ServiceConst.CARD_TYPE_USER_DATA)){ + mCarLatLng = latlng; + getOnlineCarList(); + UiThreadHandler.removeCallbacks(runnable); + UiThreadHandler.postDelayed(runnable, mCarSmoothDuration * 1000); +// } + } + + private Runnable runnable = new Runnable() { + @Override + public void run() { + getOnlineCarList(); + UiThreadHandler.postDelayed(this, mCarSmoothDuration * 1000); + } + }; + + private double lat = 39.969161; + private double lng = 116.412334; + private int a = 0; + + private void getOnlineCarList() { + mRefreshModel.queryOnLineCarWithRoute(mCarLatLng, false, false, new RefreshCallback() { + @Override + public void onSuccess(Object o) { + Logger.i(TAG, "11111111211" + o.toString()); + +// MarkerResponse data = (MarkerResponse)o; +// MarkerCardResult result = data.getResult(); +// if (result == null) { +// return; +// } +// +// List onlineCarList = result.getOnlineCar(); +// drawOnlineCarMarkers( onlineCarList, ServiceConst.MAX_AMOUNT_SINGLE_CARD ); + + a++; + if (a == 3){ + return; + } + + MarkerLocation location = new MarkerLocation(); + location.setLat(lat); + location.setLon(lng); + + + lng += 0.003; + double[] coor2 = {lng,lat}; + MarkerCarPois pois2 = new MarkerCarPois(); + pois2.setCoordinates(coor2); + + List pois = new ArrayList<>(); + pois.add(pois2); + MarkerOnlineCar onlineCar = new MarkerOnlineCar(); + onlineCar.setLocation(location); + onlineCar.setType(ServiceConst.CARD_TYPE_USER_DATA); + onlineCar.setPois(pois); + + List onlineCarList = new ArrayList<>(); + onlineCarList.add(onlineCar); + + drawOnlineCarMarkers(onlineCarList, ServiceConst.MAX_AMOUNT_SINGLE_CARD); + + } + + @Override + public void onFail() { + + } + }); + } + + private boolean ignoreDrawRequest() { - return MarkerServiceHandler.getMogoStatusManager().isSearchUIShow() - || MarkerServiceHandler.getMogoStatusManager().isADASShow(); + return MarkerServiceHandler.getMogoStatusManager().isSearchUIShow() || MarkerServiceHandler.getMogoStatusManager().isADASShow(); } - private void runOnTargetThread( Runnable runnable ) { - if ( runnable == null ) { + private void runOnTargetThread(Runnable runnable) { + if (runnable == null) { return; } - ThreadPoolService.execute( runnable ); + ThreadPoolService.execute(runnable); } public String getCurrentModuleName() { @@ -801,20 +915,19 @@ public class MapMarkerManager implements IMogoMarkerClickListener, } @Override - public void onBizActionDone( String biz, int position, Object data ) { - Logger.d( TAG, "biz = %s, position = %s", biz, position ); - if ( data instanceof MarkerShowEntity && - ( ( MarkerShowEntity ) data ).getMarker() != null ) { - switchMarkerOpenStatus( ( ( MarkerShowEntity ) data ).getMarker() ); + public void onBizActionDone(String biz, int position, Object data) { + Logger.d(TAG, "biz = %s, position = %s", biz, position); + if (data instanceof MarkerShowEntity && ((MarkerShowEntity) data).getMarker() != null) { + switchMarkerOpenStatus(((MarkerShowEntity) data).getMarker()); } else { IMogoMarkerManager markerManager = MarkerServiceHandler.getMarkerManager(); - List< IMogoMarker > markers = markerManager.getMarkers( biz ); - if ( markers != null ) { + List markers = markerManager.getMarkers(biz); + if (markers != null) { try { - IMogoMarker marker = markers.get( position ); - switchMarkerOpenStatus( marker ); - } catch ( Exception e ) { - Logger.e( TAG, e, "occur error." ); + IMogoMarker marker = markers.get(position); + switchMarkerOpenStatus(marker); + } catch (Exception e) { + Logger.e(TAG, e, "occur error."); } } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java index 528814792b..ac78ab632c 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java @@ -64,7 +64,7 @@ public class RefreshModel { refreshBody.dataType.add(ServiceConst.CARD_TYPE_CARS_CHATTING); refreshBody.dataType.add(ServiceConst.CARD_TYPE_ROAD_CONDITION); refreshBody.dataType.add(ServiceConst.CARD_TYPE_SHARE_MUSIC); - refreshBody.dataType.add(ServiceConst.CARD_TYPE_USER_DATA); +// refreshBody.dataType.add(ServiceConst.CARD_TYPE_USER_DATA); refreshBody.dataType.add(ServiceConst.CARD_TYPE_NOVELTY); query.put("data", GsonUtil.jsonFromObject(refreshBody)); mRefreshApiService.refreshData(query)