diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluListWindow.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluListWindow.java index 3b93ac53d5..f4a18ccc8d 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluListWindow.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluListWindow.java @@ -369,24 +369,15 @@ public class TanluListWindow extends RelativeLayout implements IMogoMarkerClickL mMogoRegisterCenter.registerMogoMarkerClickListener(TanluConstants.MODEL_NAME, new IMogoMarkerClickListener() { @Override public boolean onMarkerClicked(IMogoMarker marker) { - + GSYVideoManager.releaseAllVideos(); + initVideo(); + releaseTimer(); + //埋点 + Map properties = new HashMap<>(); + properties.put("type", "2"); + mAnalytics.track(TanluConstants.LAUNCHER_ICON_CLICK, properties); //点击的marker的具体数据 MarkerExploreWay exploreWay = extractFromMarker(marker); - V2XRoadEventEntity roadEventEntity = new V2XRoadEventEntity(); - roadEventEntity.setNoveltyInfo(exploreWay); - roadEventEntity.setPoiType(exploreWay.getPoiType()); - roadEventEntity.setExpireTime(20000); - //地理位置 - MarkerLocation location = exploreWay.getLocation(); - roadEventEntity.setLocation(location); - - V2XMessageEntity v2XMessageEntity = new V2XMessageEntity(); - v2XMessageEntity.setType(V2XMessageEntity.V2XTypeEnum.ALERT_ROAD_WARNING); - v2XMessageEntity.setShowState(true); - v2XMessageEntity.setOnlyShow(true); - v2XMessageEntity.setNeedAddLine(false); - - v2XMessageEntity.setContent(roadEventEntity); //更新数据 if (markerExploreWayList != null) { markerExploreWayList.clear(); @@ -395,20 +386,48 @@ public class TanluListWindow extends RelativeLayout implements IMogoMarkerClickL } markerExploreWayList.add(exploreWay); - Intent intent = new Intent(Const.BROADCAST_SCENE_HANDLER_ACTION); - intent.putExtra(Const.BROADCAST_SCENE_EXTRA_KEY, v2XMessageEntity); - LocalBroadcastManager.getInstance(getContext()).sendBroadcast(intent); + boolean isAdd = TanluServiceManager.getIMogoTopViewManager().isViewAdded(TanluListWindow.this); + hideWindowTimerStart(); + Logger.d(TAG, "onMarkerClicked ------ isAdd = " + isAdd); - //埋点 - Map properties = new HashMap<>(); - properties.put("type", "2"); - mAnalytics.track(TanluConstants.LAUNCHER_ICON_CLICK, properties); + //添加window窗口,重复创建 + if (!isAdd) { + ViewGroup.LayoutParams layoutParams = + new ViewGroup.LayoutParams( + ViewGroup.LayoutParams.MATCH_PARENT, + (int) getContext().getResources().getDimension((R.dimen.tanlu_module_card_height))); + TanluServiceManager.getIMogoTopViewManager().addView(TanluListWindow.this, layoutParams, new IMogoTopViewStatusListener() { + @Override + public void onViewAdded(View view) { + Logger.d(TAG, "onViewAdded -------->"); + } + + @Override + public void onViewRemoved(View view) { + Logger.e(TAG, "onViewRemoved -------->"); + releaseTimer(); + releaseAction(); + } + + @Override + public void beforeViewAddAnim(View view) { + + } + + @Override + public void beforeViewRemoveAnim(View view) { + + } + }); + + } + + renderCardViews(); return false; } }); } - private CountDownTimer mHideWindowTimer; private void hideWindowTimerStart() {