diff --git a/foudations/mogo-utils/src/main/java/com/mogo/utils/BitmapHelper.java b/foudations/mogo-utils/src/main/java/com/mogo/utils/BitmapHelper.java index a2a84d73ac..b63655c408 100644 --- a/foudations/mogo-utils/src/main/java/com/mogo/utils/BitmapHelper.java +++ b/foudations/mogo-utils/src/main/java/com/mogo/utils/BitmapHelper.java @@ -28,6 +28,7 @@ import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; +import java.util.HashMap; import javax.microedition.khronos.egl.EGL10; import javax.microedition.khronos.egl.EGLConfig; @@ -645,7 +646,12 @@ public class BitmapHelper { Bitmap b = null; MediaMetadataRetriever retriever = new MediaMetadataRetriever(); try { - retriever.setDataSource( filePath ); + retriever = new MediaMetadataRetriever(); + if (Build.VERSION.SDK_INT >= 14) + retriever.setDataSource(filePath, new HashMap()); + else + retriever.setDataSource(filePath); + // mediaMetadataRetriever.setDataSource(videoPath); b = retriever.getFrameAtTime(); } catch ( IllegalArgumentException e ) { e.printStackTrace(); diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/StrategyServiceModel.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/StrategyServiceModel.kt index f4755ff79c..8891def0ee 100644 --- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/StrategyServiceModel.kt +++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/model/StrategyServiceModel.kt @@ -40,7 +40,8 @@ class StrategyServiceModel : BaseRepository() { // } // } // -// suspend fun getSplashConfig(): BaseResponse { +// suspend fun getSplashConfig(): BaseR +// esponse { // return apiCall { // var splashConfigRequest = // SplashConfigRequest("1", "1") 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 ae0c326c62..a297d23717 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 @@ -373,15 +373,24 @@ 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(); @@ -390,48 +399,20 @@ public class TanluListWindow extends RelativeLayout implements IMogoMarkerClickL } markerExploreWayList.add(exploreWay); - boolean isAdd = TanluServiceManager.getIMogoTopViewManager().isViewAdded(TanluListWindow.this); - hideWindowTimerStart(); - Logger.d(TAG, "onMarkerClicked ------ isAdd = " + isAdd); + Intent intent = new Intent(Const.BROADCAST_SCENE_HANDLER_ACTION); + intent.putExtra(Const.BROADCAST_SCENE_EXTRA_KEY, v2XMessageEntity); + LocalBroadcastManager.getInstance(getContext()).sendBroadcast(intent); - //添加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(); + //埋点 + Map properties = new HashMap<>(); + properties.put("type", "2"); + mAnalytics.track(TanluConstants.LAUNCHER_ICON_CLICK, properties); return false; } }); } + private CountDownTimer mHideWindowTimer; private void hideWindowTimerStart() { diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java index 75b246063c..604d7ccc75 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java @@ -23,6 +23,8 @@ import com.mogo.module.v2x.network.V2XRefreshCallback; import com.mogo.module.v2x.scenario.scene.livecar.V2XRoadLiveCarScenario; import com.mogo.module.v2x.scenario.scene.road.V2XRoadEventScenario; import com.mogo.module.v2x.scenario.scene.road.V2XRoadEventWindow; +import com.mogo.module.v2x.scenario.scene.road.V2XRoadVideoCarScenario; +import com.mogo.module.v2x.scenario.scene.road.V2XRoadVideoWindow; import com.mogo.module.v2x.utils.ChartingUtil; import com.mogo.module.v2x.utils.EventTypeUtils; import com.mogo.module.v2x.utils.SpanUtils; @@ -76,6 +78,7 @@ public class V2XRoadEventVH extends V2XBaseViewHolder { private MarkerExploreWay mNoveltyInfo; private V2XRoadEventEntity mV2XRoadEventEntity; private V2XEventShowEntity mV2XEventShowEntity; + private V2XRoadVideoCarScenario mV2XRoadVideoCarScenario; // 拨打车聊聊语音回调 private V2XVoiceCallbackListener v2XVoiceCallbackCallListener = new V2XVoiceCallbackListener() { @@ -163,7 +166,7 @@ public class V2XRoadEventVH extends V2XBaseViewHolder { @Override public void onViewDetachedFromWindow(View v) { - Log.d(TAG,"onViewDetachedFromWindow unRegister"); + Log.d(TAG, "onViewDetachedFromWindow unRegister"); // 反注册语音交互 V2XVoiceManager.INSTANCE .unRegisterWakeCmd(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_CALL_CHATTING) @@ -194,6 +197,7 @@ public class V2XRoadEventVH extends V2XBaseViewHolder { mUserInfo = mNoveltyInfo.getUserInfo(); if (!ArrayUtils.isEmpty(mNoveltyInfo.getItems())) { String imgUrl = mNoveltyInfo.getItems().get(0).getThumbnail(); + String url = mNoveltyInfo.getItems().get(0).getUrl(); if (TextUtils.isEmpty(imgUrl)) { imgUrl = mNoveltyInfo.getItems().get(0).getUrl(); } @@ -201,6 +205,19 @@ public class V2XRoadEventVH extends V2XBaseViewHolder { V2XServiceManager.getImageLoader() .displayImage(imgUrl, ivEventImg); } + if (url.contains(".mp4")) { + ivEventImg.setOnClickListener(v -> { + showRoadVideoInfo(v2XEventShowEntity); + }); + ivEventPlay.setOnClickListener(v -> { + showRoadVideoInfo(v2XEventShowEntity); + }); + ivEventPlay.setVisibility(VISIBLE); + } else { + ivEventImg.setOnClickListener(null); + ivEventPlay.setOnClickListener(null); + ivEventPlay.setVisibility(GONE); + } } if (mNoveltyInfo.getUserInfo() != null && !TextUtils.isEmpty(mNoveltyInfo.getUserInfo().getUserHead())) { @@ -270,6 +287,24 @@ public class V2XRoadEventVH extends V2XBaseViewHolder { } } + /* + * 展示事件的图片/视频资源 + * */ + private void showRoadVideoInfo(V2XEventShowEntity v2XEventShowEntity) { + if (v2XEventShowEntity != null) { + /* + * MarkerExploreWay 具体事件 + * V2XRoadEventEntity 包含MarkerExploreWay 事件的二次封装(tts播报内容 事件类型等) + * V2XMessageEntity 三次封装(是否进行事件与本机连线 是否显示通话功能等) + * V2XEventShowEntity 包含V2XRoadEventEntity + * */ + Log.d(TAG, "马上展示图片/视频资源全屏"); + V2XMessageEntity v2XMessageEntity = new V2XMessageEntity<>(); + v2XMessageEntity.setContent(v2XEventShowEntity); + V2XRoadVideoCarScenario.getInstance().init(v2XMessageEntity); + } + } + /** * 展示直播信息 * diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/IMoGoV2XStatusManager.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/IMoGoV2XStatusManager.java index 015fb0eea2..a95eaefc08 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/IMoGoV2XStatusManager.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/IMoGoV2XStatusManager.java @@ -141,6 +141,11 @@ public interface IMoGoV2XStatusManager extends IProvider { */ void setV2XAnimationWindowShow(String tag, boolean show); + /* + * 道路事件图片/视频资源 全屏 + * */ + void setV2XRoadVideoWindowShow(String tag, boolean show); + /** * 设置 模拟直播车机 UI 是否在展示 * diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/V2XStatusDescriptor.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/V2XStatusDescriptor.java index 8cf3c46ab3..f6d50046db 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/V2XStatusDescriptor.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/V2XStatusDescriptor.java @@ -53,6 +53,11 @@ public enum V2XStatusDescriptor { */ LiveCarWindow_UI, + /** + * 右侧2/3 左下角 模拟直播车机 UI 是否在展示 + */ + V2XRoadVideo_UI, + /** * 推送的POI */ diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XStatusManager.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XStatusManager.java index 44b0282c80..1a80dcaebe 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XStatusManager.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XStatusManager.java @@ -170,6 +170,13 @@ public class MoGoV2XStatusManager implements IMoGoV2XStatusManager { recordStatusModifier(tag, V2XStatusDescriptor.V2XAnimationWindow_UI); } + @Override + public void setV2XRoadVideoWindowShow(String tag, boolean show) { + mStatus.put(V2XStatusDescriptor.V2XAnimationWindow_UI, show); + invokeStatusChangedListener(V2XStatusDescriptor.V2XRoadVideo_UI, show); + recordStatusModifier(tag, V2XStatusDescriptor.V2XRoadVideo_UI); + } + @Override public void setLiveCarWindowShow(String tag, boolean show) { mStatus.put(V2XStatusDescriptor.LiveCarWindow_UI, show); diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/animation/V2XAnimationWindow.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/animation/V2XAnimationWindow.java index bef1acd8d1..b2e2860f21 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/animation/V2XAnimationWindow.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/animation/V2XAnimationWindow.java @@ -87,8 +87,10 @@ public class V2XAnimationWindow extends ConstraintLayout implements IV2XWindow { Logger.w(MODULE_NAME, "场景动画准备。。。。。"); diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/livecar/V2XRoadLiveCarScenario.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/livecar/V2XRoadLiveCarScenario.java index aa70d637ee..ffbdb1e14b 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/livecar/V2XRoadLiveCarScenario.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/livecar/V2XRoadLiveCarScenario.java @@ -1,5 +1,6 @@ package com.mogo.module.v2x.scenario.scene.livecar; +import android.util.Log; import android.view.View; import com.mogo.module.common.entity.V2XEventShowEntity; @@ -74,6 +75,7 @@ public class V2XRoadLiveCarScenario extends AbsV2XScenario implements IMogoTopViewStatusListener, Destroyable { + + private static V2XRoadVideoCarScenario sV2XRoadVideoCarScenario; + private static String TAG = "V2XRoadVideoCarScenario"; + + public static V2XRoadVideoCarScenario getInstance() { + if (sV2XRoadVideoCarScenario == null) { + synchronized (V2XRoadVideoCarScenario.class) { + if (sV2XRoadVideoCarScenario == null) { + sV2XRoadVideoCarScenario = new V2XRoadVideoCarScenario(); + sV2XRoadVideoCarScenario.setV2XWindow(new V2XRoadVideoWindow()); + } + + } + } + return sV2XRoadVideoCarScenario; + } + + @Override + public void init(@Nullable V2XMessageEntity v2XMessageEntity) { + try { + setV2XMessageEntity(v2XMessageEntity); + show(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + @Override + public void show() { + showWindow(); + } + + @Override + public void showWindow() { + if (getV2XWindow() != null) { + getV2XWindow().show(getV2XMessageEntity().getContent()); + V2XServiceManager + .getIMogoWindowManager() + .addView(getV2XWindow().getView(), 0, 0, false); + V2XServiceManager.getMoGoV2XStatusManager().setV2XAnimationWindowShow(TAG, true); + } + } + + @Override + public void closeWindow() { + if (getV2XWindow() != null) { + getV2XWindow().close(); + } + V2XServiceManager.getMoGoV2XStatusManager().setV2XRoadVideoWindowShow(TAG, false); + } + + @Override + public void showButton() { + if (getV2XButton() != null) { + getV2XButton().show(); + } + } + + @Override + public void closeButton() { + if (getV2XButton() != null) { + getV2XButton().close(); + } + } + + @Override + public void drawPOI() { + + } + + @Override + public void clearPOI() { + Log.d(TAG, "clearPOI"); + } + + + @Override + public void destroy() throws DestroyFailedException { + Log.d(TAG, "destroy"); + } + + @Override + public boolean isDestroyed() { + Log.d(TAG, "isDestroyed"); + return false; + } + + @Override + public void onViewAdded(View view) { + Log.d(TAG, "onViewAdded"); + } + + @Override + public void onViewRemoved(View view) { + Log.d(TAG, "onViewRemoved"); + } + + @Override + public void beforeViewAddAnim(View view) { + + Log.d(TAG, "beforeViewAddAnim"); + } + + @Override + public void beforeViewRemoveAnim(View view) { + + Log.d(TAG, "beforeViewRemoveAnim"); + } +} diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/road/V2XRoadVideoWindow.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/road/V2XRoadVideoWindow.java new file mode 100644 index 0000000000..da6d1b592b --- /dev/null +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/road/V2XRoadVideoWindow.java @@ -0,0 +1,143 @@ +package com.mogo.module.v2x.scenario.scene.road; + +import android.content.Context; +import android.graphics.Bitmap; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.widget.ImageView; +import android.widget.RelativeLayout; + +import com.mogo.map.IDestroyable; +import com.mogo.module.common.entity.MarkerExploreWayItem; +import com.mogo.module.common.entity.V2XEventShowEntity; +import com.mogo.module.common.entity.V2XRoadEventEntity; +import com.mogo.module.v2x.R; +import com.mogo.module.v2x.V2XServiceManager; +import com.mogo.module.v2x.listener.V2XWindowStatusListener; +import com.mogo.module.v2x.scenario.view.IV2XWindow; +import com.mogo.module.v2x.view.TextureVideoView; +import com.mogo.utils.BitmapHelper; +import com.mogo.utils.logger.Logger; + +import java.util.ArrayList; + +import static com.mogo.module.v2x.V2XConst.MODULE_NAME; + + +public class V2XRoadVideoWindow extends RelativeLayout implements IV2XWindow, IDestroyable { + + private static final String TAG = "V2XRoadVideoWindow"; + private V2XWindowStatusListener mV2XWindowStatusListener; + private TextureVideoView mVideoView; + private ImageView closeImage; + private ImageView mThumbnailImageView; + private ImageView windowPalyImageView; + + public V2XRoadVideoWindow() { + this(V2XServiceManager.getContext(), null); + } + + public V2XRoadVideoWindow(Context context) { + this(context, null); + } + + public V2XRoadVideoWindow(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public V2XRoadVideoWindow(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + initView(context); + } + + private void initView(Context context) { + LayoutInflater.from(context).inflate(R.layout.window_road_video, this); + mVideoView = findViewById(R.id.roadVideoView); + closeImage = findViewById(R.id.roadVideoClose); + mThumbnailImageView = findViewById(R.id.thumbnail_image); + windowPalyImageView = findViewById(R.id.window_video_play); + closeImage.setOnClickListener(v -> { + close(); + }); + } + + @Override + public void show(Object entity) { + V2XEventShowEntity showEntity = (V2XEventShowEntity) entity; + V2XRoadEventEntity xRoadEventEntity = showEntity.getV2XRoadEventEntity(); + ArrayList list = (ArrayList) xRoadEventEntity.getNoveltyInfo().getItems(); + if (list.size() > 0) { + MarkerExploreWayItem item = (MarkerExploreWayItem) list.get(0); + String path = item.getUrl(); + if (path == null) { + return; + } + if (path.contains(".mp4")) { + videoViewStartWithPath(path); + + mVideoView.setOnCompletionListener(mediaPlayer -> { + Logger.w(MODULE_NAME, "视频播放结束..."); + videoPlayEnd(path); + }); + + } + + } + } + + /* + * 视频开始播放 + * */ + private void videoViewStartWithPath(String path) { + mVideoView.setVisibility(VISIBLE); + mVideoView.setVideoPath(path); + mVideoView.setOnPreparedListener(mediaPlayer -> { + Logger.w(MODULE_NAME, "全屏准备。。。。。"); + mThumbnailImageView.setVisibility(View.GONE); + windowPalyImageView.setVisibility(View.GONE); + }); + mVideoView.start(); + } + + /* + * 视频播放结束 + * */ + private void videoPlayEnd(String path){ + Bitmap bitmap = BitmapHelper.getVideoThumbnail(path); + mThumbnailImageView.setVisibility(View.VISIBLE); + mThumbnailImageView.setImageBitmap(bitmap); + + windowPalyImageView.setVisibility(View.VISIBLE); + windowPalyImageView.setOnClickListener(v -> { + videoViewStartWithPath(path); + + }); + if (mV2XWindowStatusListener != null) { + mV2XWindowStatusListener.onViewClose(); + } + } + + @Override + public void close() { + //移除窗体 + V2XServiceManager + .getIMogoWindowManager() + .removeView(this); + } + + @Override + public View getView() { + return this; + } + + @Override + public void setWindowStatusListener(V2XWindowStatusListener listener) { + this.mV2XWindowStatusListener = listener; + } + + @Override + public void destroy() { + + } +} diff --git a/modules/mogo-module-v2x/src/main/res/drawable/v2x_bg_big_image_dark.xml b/modules/mogo-module-v2x/src/main/res/drawable/v2x_bg_big_image_dark.xml new file mode 100644 index 0000000000..318b24d43d --- /dev/null +++ b/modules/mogo-module-v2x/src/main/res/drawable/v2x_bg_big_image_dark.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fatigue_driving.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fatigue_driving.xml index 1610387581..d20d34fb7d 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fatigue_driving.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fatigue_driving.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:id="@+id/rlContent" android:layout_width="match_parent" - android:layout_height="wrap_content" + android:layout_height="match_parent" android:background="@drawable/v2x_alert_window_bg" android:paddingStart="@dimen/dp_62" android:paddingTop="@dimen/dp_42" diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fault_help.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fault_help.xml index 1090691eea..cad8477a05 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fault_help.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fault_help.xml @@ -3,17 +3,18 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" - android:layout_height="wrap_content" + android:layout_height="match_parent" android:background="@drawable/v2x_alert_window_bg" - android:padding="@dimen/dp_25"> + android:paddingStart="@dimen/dp_62" + android:paddingTop="@dimen/dp_42" + android:paddingEnd="@dimen/dp_62" + android:paddingBottom="@dimen/dp_42"> diff --git a/modules/mogo-module-v2x/src/main/res/layout/window_push_event_detail.xml b/modules/mogo-module-v2x/src/main/res/layout/window_push_event_detail.xml index 20b5ac78b9..b8244cb9c5 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/window_push_event_detail.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/window_push_event_detail.xml @@ -7,5 +7,6 @@ android:layout_height="@dimen/module_v2x_event_window_height_ground" android:orientation="horizontal" android:overScrollMode="never" + android:padding="@dimen/module_v2x_widow_top_gaps" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" tools:listitem="@layout/item_v2x_push_event_detail" /> diff --git a/modules/mogo-module-v2x/src/main/res/layout/window_road_video.xml b/modules/mogo-module-v2x/src/main/res/layout/window_road_video.xml new file mode 100644 index 0000000000..d43b868146 --- /dev/null +++ b/modules/mogo-module-v2x/src/main/res/layout/window_road_video.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml index 714c300b34..e68401f90f 100644 --- a/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-v2x/src/main/res/values-xhdpi/dimens.xml @@ -97,4 +97,5 @@ 34px +