diff --git a/app/build.gradle b/app/build.gradle index 26c0a335f4..7c6106bd98 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -123,7 +123,8 @@ android { buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true' // 分享时是否隐藏 adas buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false' - + // 是否需要实时上报坐标 + buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' } // f系列-分体机 f80x { @@ -148,6 +149,8 @@ android { buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true' // 分享时是否隐藏 adas buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false' + // 是否需要实时上报坐标 + buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' } // f系列-分体机-高德 f8Amap { @@ -172,6 +175,8 @@ android { buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true' // 分享时是否隐藏 adas buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false' + // 是否需要实时上报坐标 + buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'true' } // e系列,采用Launcher方案 e8xx { @@ -196,6 +201,8 @@ android { buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true' // 分享时是否隐藏 adas buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false' + // 是否需要实时上报坐标 + buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'false' } // 同上 em4 { @@ -220,6 +227,8 @@ android { buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true' // 分享时是否隐藏 adas buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false' + // 是否需要实时上报坐标 + buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'false' } // e系列-2+32,对标D系列2+32,采用独立app的形式 em3 { @@ -244,6 +253,8 @@ android { buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true' // 分享时是否隐藏 adas buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false' + // 是否需要实时上报坐标 + buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'false' } // e系列-1+16,对标D系列1+16,采用独立app形式 em1 { @@ -268,6 +279,8 @@ android { buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'false' // 分享时是否隐藏 adas buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false' + // 是否需要实时上报坐标 + buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'false' } // e系列-1+16,对标D系列1+16,采用独立app形式 em2 { @@ -292,6 +305,8 @@ android { buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'false' // 分享时是否隐藏 adas buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false' + // 是否需要实时上报坐标 + buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'false' } // d系列 d8xx { @@ -316,6 +331,8 @@ android { buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true' // 分享时是否隐藏 adas buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'true' + // 是否需要实时上报坐标 + buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'false' } // d系列 2 + 32 d80x { @@ -340,6 +357,8 @@ android { buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true' // 分享时是否隐藏 adas buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'true' + // 是否需要实时上报坐标 + buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'false' } // d系列 1+16 版本 d82x { @@ -364,6 +383,8 @@ android { buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'false' // 分享时是否隐藏 adas buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'true' + // 是否需要实时上报坐标 + buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'false' } // 比亚迪 bydauto { @@ -388,6 +409,8 @@ android { buildConfigField 'boolean', 'IS_NEED_LOAD_GUIDE_MODULE', 'true' // 分享时是否隐藏 adas buildConfigField 'boolean', 'IS_NEED_HIDE_ADAS_WHEN_SHARE', 'false' + // 是否需要实时上报坐标 + buildConfigField 'boolean', 'IS_NEED_UPLOAD_COORDINATES_IN_TIME', 'false' } qa { dimension "env" diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 3f451d8bed..83a859539a 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -35,8 +35,8 @@ -dontskipnonpubliclibraryclasses # 指定不去忽略包可见的库类的成员 -dontskipnonpubliclibraryclassmembers -#不进行优化,建议使用此选项, --dontoptimize +#不对 class 进行优化,默认是开启优化的。由于优化会进行类合并、内联等,使用热修复的应用,建议关闭优化 +#-dontoptimize # 不进行预校验,Android不需要,可加快混淆速度。 -dontpreverify diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index fe71a0c62b..97ecf26969 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -141,6 +141,7 @@ public class MogoApplication extends AbsMogoApplication { DebugConfig.setMapBased( BuildConfig.IS_MAP_BASED ); DebugConfig.setNeedLoadGuideModule( BuildConfig.IS_NEED_LOAD_GUIDE_MODULE ); DebugConfig.setNeedHideAdasWhenShare( BuildConfig.IS_NEED_HIDE_ADAS_WHEN_SHARE ); + DebugConfig.setNeedUploadCoordinatesInTime( BuildConfig.IS_NEED_UPLOAD_COORDINATES_IN_TIME ); // DebugConfig.setObuType( BuildConfig.OBU_TYPE ); } diff --git a/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketManager.java b/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketManager.java index 81cacb5570..69b1640fab 100644 --- a/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketManager.java +++ b/foudations/mogo-base-websocket-sdk/src/main/java/com/mogo/base/websocket/WebSocketManager.java @@ -183,7 +183,7 @@ public class WebSocketManager implements IMogoWebSocketManager, ISocketMsgSettin WebSocketData webSocketData = GsonUtil.objectFromJson(message, WebSocketData.class); int msgType = webSocketData.getMsgType(); Logger.d(TAG, "websocket received msg type = " + msgType); - +// Logger.d("liyz", "websocket received msg = " + message + "----type = " + msgType); //服务端下发数据返回,上传数据回执默认不返回 if (msgType == MSG_TYPE_DOWNLINK_CAR_DATA.getMsgType()) { List listeners = mListeners.get(msgType); @@ -192,6 +192,7 @@ public class WebSocketManager implements IMogoWebSocketManager, ISocketMsgSettin while (iterator.hasNext()) { IMogoOnWebSocketMessageListener listener = iterator.next(); if (listener != null) { +// Logger.d("liyz", "received msgId = " + webSocketData.getSeq() + ", content = " + webSocketData.getData()); Logger.d(TAG, "received msgId = " + webSocketData.getSeq() + ", content = " + webSocketData.getData()); Object receiveObj = GsonUtil.objectFromJson(webSocketData.getData(),listener.target()); listener.onMsgReceived(receiveObj); diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java index d9623194c2..b414122da7 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java @@ -1,6 +1,7 @@ package com.mogo.commons; import android.app.Application; +import android.content.Context; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; @@ -24,6 +25,7 @@ import com.mogo.commons.storage.SpStorage; import com.mogo.httpdns.IMogoHttpDns; import com.mogo.httpdns.MogoHttpDnsHandler; import com.mogo.utils.ThreadPoolService; +import com.mogo.utils.TipDrawable; import com.mogo.utils.TipToast; import com.mogo.utils.network.NetConfig; import com.mogo.utils.storage.SharedPrefsMgr; @@ -85,25 +87,33 @@ public abstract class AbsMogoApplication extends Application { if ( TextUtils.isEmpty( message ) ) { return null; } - View contentView; - if ( tipDrawable == null ) { - contentView = LayoutInflater.from( context ).inflate( R.layout.module_commons_layout_toast, null ); - TextView txt = contentView.findViewById( R.id.module_commons_toast_msg ); - txt.setText( message ); - } else { - // 有图片,使用带图片的布局,当前只实现了左侧图片 - contentView = LayoutInflater.from( context ).inflate( R.layout.module_commons_layout_toast_with_left_drawable, null ); - TextView txt = contentView.findViewById( R.id.module_commons_toast_msg ); - ImageView img = contentView.findViewById( R.id.module_commons_toast_left_drawable ); - img.setImageDrawable( tipDrawable.getDrawable() ); - ViewGroup.LayoutParams params = img.getLayoutParams(); - params.width = tipDrawable.getWidth(); - params.height = tipDrawable.getHeight(); - txt.setText( message ); + try { + View contentView = generateToastView( context, message, tipDrawable ); + return contentView; + } catch ( Exception e ) { } - return contentView; + return null; } ) ); - DebugConfig.setUseCustomMap( SharedPrefsMgr.getInstance( this ).getBoolean( "useCustomMap", false ) ); + } + + private View generateToastView( Context context, String message, TipDrawable tipDrawable){ + View contentView; + if(tipDrawable==null) { + contentView = LayoutInflater.from(context).inflate(R.layout.module_commons_layout_toast, null); + TextView txt = contentView.findViewById(R.id.module_commons_toast_msg); + txt.setText(message); + }else{ + // 有图片,使用带图片的布局,当前只实现了左侧图片 + contentView = LayoutInflater.from(context).inflate(R.layout.module_commons_layout_toast_with_left_drawable, null); + TextView txt = contentView.findViewById(R.id.module_commons_toast_msg); + ImageView img = contentView.findViewById(R.id.module_commons_toast_left_drawable); + img.setImageDrawable(tipDrawable.getDrawable()); + ViewGroup.LayoutParams params = img.getLayoutParams(); + params.width = tipDrawable.getWidth(); + params.height = tipDrawable.getHeight(); + txt.setText(message); + } + return contentView; } /** diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java index 338b878ce7..ee43f05a07 100644 --- a/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java +++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java @@ -371,4 +371,17 @@ public class DebugConfig { public static void setNeedHideAdasWhenShare( boolean isNeedHideAdas ) { DebugConfig.isNeedHideAdasWhenShare = isNeedHideAdas; } + + /** + * 是否需要实时上报坐标位置 + */ + private static boolean sIsNeedUploadCoordinatesInTime = false; + + public static boolean isNeedUploadCoordinatesDurationInTime() { + return sIsNeedUploadCoordinatesInTime; + } + + public static void setNeedUploadCoordinatesInTime( boolean sIsNeedUploadCoordinatesInTime ) { + DebugConfig.sIsNeedUploadCoordinatesInTime = sIsNeedUploadCoordinatesInTime; + } } diff --git a/gradle.properties b/gradle.properties index 5d633dfba6..ce7d2156cb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -138,9 +138,9 @@ HTTPDNS_NOOP_VERSION = 2.0.12 ######## 外部依赖引用 # 车聊聊 -CARCHATTING_VERSION=2.2.11 +CARCHATTING_VERSION=2.2.14 # 车聊聊接口 -CARCHATTINGPROVIDER_VERSION=1.1.7 +CARCHATTINGPROVIDER_VERSION=1.1.8 # loglib LOGLIB_VERSION = 1.0.4 diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/MogoBaseMapView.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/MogoBaseMapView.java index 158e2b1d50..6e433843a1 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/MogoBaseMapView.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/MogoBaseMapView.java @@ -35,6 +35,7 @@ public abstract class MogoBaseMapView extends FrameLayout implements ILifeCycle private void init( Context context ) { addMapView( context ); + MogoMap.getInstance().init( getContext(), mMapView.getMap() ); } protected abstract void addMapView( Context context ); diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/view/RoundLayout.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/view/RoundLayout.java new file mode 100644 index 0000000000..23418c8b9e --- /dev/null +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/view/RoundLayout.java @@ -0,0 +1,90 @@ +package com.mogo.module.common.view; + +import android.content.Context; +import android.content.res.TypedArray; +import android.graphics.Canvas; +import android.graphics.Path; +import android.graphics.RectF; +import android.util.AttributeSet; +import android.widget.RelativeLayout; + +import com.mogo.module.common.R; +import com.mogo.skin.support.IMogoSkinCompatSupportable; +import com.mogo.skin.support.helper.MogoSkinCompatBackgroundHelperDelegate; + +/** + * author : donghongyu + * e-mail : 1358506549@qq.com + * date : 2020/3/25 11:39 AM + * desc : + * version: 1.0 + */ +public class RoundLayout extends RelativeLayout implements IMogoSkinCompatSupportable { + private float roundLayoutRadius = 14f; + private Path roundPath; + private RectF rectF; + private MogoSkinCompatBackgroundHelperDelegate mBackgroundTintHelper; + + public RoundLayout(Context context) { + this(context, null); + } + + public RoundLayout(Context context, AttributeSet attrs) { + this(context, attrs, 0); + } + + public RoundLayout(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + + TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.RoundLayout); + roundLayoutRadius = typedArray.getDimensionPixelSize(R.styleable.RoundLayout_roundLayoutRadius, (int) roundLayoutRadius); + typedArray.recycle(); + + init(); + + mBackgroundTintHelper = new MogoSkinCompatBackgroundHelperDelegate(this); + mBackgroundTintHelper.loadFromAttributes(attrs, defStyleAttr); + } + + + private void init() { + setWillNotDraw(false);//如果你继承的是ViewGroup,注意此行,否则draw方法是不会回调的; + roundPath = new Path(); + rectF = new RectF(); + } + + private void setRoundPath() { + //添加一个圆角矩形到path中, 如果要实现任意形状的View, 只需要手动添加path就行 + roundPath.addRoundRect(rectF, roundLayoutRadius, roundLayoutRadius, Path.Direction.CW); + } + + + public void setRoundLayoutRadius(float roundLayoutRadius) { + this.roundLayoutRadius = roundLayoutRadius; + setRoundPath(); + postInvalidate(); + } + + @Override + protected void onLayout(boolean changed, int l, int t, int r, int b) { + super.onLayout(changed, l, t, r, b); + rectF.set(0f, 0f, getMeasuredWidth(), getMeasuredHeight()); + setRoundPath(); + } + + @Override + public void draw(Canvas canvas) { + if (roundLayoutRadius > 0f) { + canvas.clipPath(roundPath); + } + super.draw(canvas); + } + + @Override + public void applySkin() { + if (mBackgroundTintHelper != null) { + mBackgroundTintHelper.applySkin(); + } + } +} + diff --git a/modules/mogo-module-common/src/main/res/values/styles.xml b/modules/mogo-module-common/src/main/res/values/styles.xml index aab6f7f597..c694e342bb 100644 --- a/modules/mogo-module-common/src/main/res/values/styles.xml +++ b/modules/mogo-module-common/src/main/res/values/styles.xml @@ -27,4 +27,8 @@ @drawable/module_commons_heart_ratingbar_drawable + + + + \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceProvider.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceProvider.java index 60f7f59746..c76f444a51 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceProvider.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceProvider.java @@ -34,7 +34,6 @@ public class EntranceProvider implements IMogoModuleProvider { public Fragment createFragment( Context context, Bundle data ) { mFragment = new EntranceFragment(); mFragment.setArguments( data ); - Log.d("liyz", " createFragment ------> "); ExtensionServiceManager.init(context); return mFragment; } @@ -77,7 +76,6 @@ public class EntranceProvider implements IMogoModuleProvider { @Override public void init( Context context ) { - Log.d("liyz", " EntranceProvider init ------> "); ExtensionServiceManager.init(context); } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/live/CameraLiveGSYVideoView.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/live/CameraLiveGSYVideoView.java index 601f041786..19c37173f7 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/live/CameraLiveGSYVideoView.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/live/CameraLiveGSYVideoView.java @@ -28,7 +28,7 @@ import com.tencent.rtmp.ui.TXCloudVideoView; * V2XLiveGSYVideoView */ public class CameraLiveGSYVideoView extends LiveRoundLayout implements IMogoSkinCompatSupportable { - private static final String TAG = "CameraLiveGSYVideoView"; + private static final String TAG = "liyz"; private TXCloudVideoView mTxcVideoView; private ProgressBar mLoading; @@ -150,6 +150,7 @@ public class CameraLiveGSYVideoView extends LiveRoundLayout implements IMogoSkin } } catch (Exception e) { e.printStackTrace(); + Logger.w(TAG, "播放器:onNetStatus e = " + e); mLoading.setVisibility(GONE); mClLoadError.setVisibility(VISIBLE); } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/live/CameraLiveManager.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/live/CameraLiveManager.java index 4debd09358..60285cc361 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/live/CameraLiveManager.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/live/CameraLiveManager.java @@ -17,28 +17,28 @@ import com.mogo.utils.logger.Logger; * 路边摄像头直播控制 V2XPushLiveCarScenario */ public class CameraLiveManager extends AbsCameraScenario implements IMogoTopViewStatusListener { - private static final String TAG = "CameraLiveManager"; - private static CameraLiveManager mCameraLiveCarScenario; + private static final String TAG = "liyz"; + private static CameraLiveManager mCameraLiveManager; private boolean isShowWindow; private CameraLiveManager() { } public static CameraLiveManager getInstance() { - if (mCameraLiveCarScenario == null) { + if (mCameraLiveManager == null) { synchronized (CameraLiveManager.class) { - if (mCameraLiveCarScenario == null) { - mCameraLiveCarScenario = new CameraLiveManager(); - mCameraLiveCarScenario.setV2XWindow(new PushCameraLiveWindow()); + if (mCameraLiveManager == null) { + mCameraLiveManager = new CameraLiveManager(); + mCameraLiveManager.setV2XWindow(new PushCameraLiveWindow()); } } } - return mCameraLiveCarScenario; + return mCameraLiveManager; } @Override public void init(@Nullable CloudRoadData cloudRoadData) { - Log.d(TAG, "CameraLiveManager init -----> "); + Log.d(TAG, "CameraLiveManager init -----> isShowWindow = " + isShowWindow); if (isShowWindow) { close(); } @@ -54,11 +54,10 @@ public class CameraLiveManager extends AbsCameraScenario implemen @Override public void showWindow() { - Log.d(TAG, "CameraLiveManager showWindow --------"); + Log.d(TAG, "CameraLiveManager showWindow getV2XWindow = " + getV2XWindow()); if (getV2XWindow() != null) { ViewGroup.LayoutParams layoutParams = - new ViewGroup.LayoutParams( - ViewGroup.LayoutParams.MATCH_PARENT, + new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, (int) AbsMogoApplication.getApp().getResources() .getDimension(R.dimen.module_video_window_height_content)); @@ -67,7 +66,6 @@ public class CameraLiveManager extends AbsCameraScenario implemen .addViewNoLinkage(getV2XWindow().getView(), layoutParams, this); getV2XWindow().show(getmCloudRoadData()); isShowWindow = true; -// ExtensionServiceManager.getMoGoV2XStatusManager().setRoadLiveCarWindowShow(TAG, true); } } @@ -77,7 +75,6 @@ public class CameraLiveManager extends AbsCameraScenario implemen getV2XWindow().close(); } isShowWindow = false; -// ExtensionServiceManager.getMoGoV2XStatusManager().setRoadLiveCarWindowShow(TAG, false); } @Override diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/live/PushCameraLiveWindow.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/live/PushCameraLiveWindow.java index 70c79b5528..f408132cbe 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/live/PushCameraLiveWindow.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/live/PushCameraLiveWindow.java @@ -77,7 +77,7 @@ public class PushCameraLiveWindow extends RelativeLayout implements ICameraWindo Logger.w(TAG, "更新直播信息 show entity = " + entity); if (!TextUtils.isEmpty(entity.getRtmpUrl())) { Logger.w(TAG, "entity.getRtmpUrl() = " + entity.getRtmpUrl()); - mIvReportHead.setVisibility(VISIBLE); + mIvReportHead.setVisibility(INVISIBLE); ExtensionServiceManager.getImageLoader() .displayImage(entity.getRtmpUrl(), mIvReportHead); mLiveGSYVideoView.startLive(entity.getRtmpUrl()); diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/CameraLiveNoticeHelper.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/CameraLiveNoticeHelper.java index fbec2bd1a7..40de273e4a 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/CameraLiveNoticeHelper.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/CameraLiveNoticeHelper.java @@ -3,13 +3,12 @@ package com.mogo.module.extensions.utils; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; +import android.util.Log; -import com.mogo.commons.AbsMogoApplication; import com.mogo.map.marker.IMogoMarker; import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.module.common.MogoApisHandler; -import com.mogo.module.common.constants.DataTypes; import com.mogo.module.common.entity.CloudRoadData; import com.mogo.module.common.entity.MogoSnapshotSetData; import com.mogo.module.extensions.R; @@ -18,6 +17,7 @@ import com.mogo.module.extensions.live.ExtensionServiceManager; import com.mogo.module.extensions.live.PushDataType; import com.mogo.service.connection.IMogoOnWebSocketMessageListener; import com.mogo.service.connection.WebSocketMsgType; +import com.mogo.utils.UiThreadHandler; import com.mogo.utils.logger.Logger; @@ -26,15 +26,25 @@ import com.mogo.utils.logger.Logger; * */ public class CameraLiveNoticeHelper implements IMogoOnWebSocketMessageListener { - private static final String TAG = "CameraLiveNoticeHelper"; + private static final String TAG = "liyz"; private Context mContext; private static IMogoMarker mMogoMarker; private CloudRoadData mCloudRoadData; public void init(Context context) { - Logger.d(TAG, "init===="); + Logger.d(TAG, "init ======= "); mContext = context; + + //test +// UiThreadHandler.postDelayed( () -> { +// mCloudRoadData = new CloudRoadData(); +// mCloudRoadData.setRtmpUrl("rtmp://58.200.131.2:1935/livetv/hunantv"); +// mCloudRoadData.setLat(40.200353); +// mCloudRoadData.setLon(116.745467); +// CameraLiveManager.getInstance().init(mCloudRoadData); +// }, 2_000 ); + ExtensionServiceManager .getMogoRegisterCenter().registerMogoMarkerClickListener(PushDataType.TYPE_PUSH_CAMERA_DATA, new IMogoMarkerClickListener() { @Override @@ -66,23 +76,19 @@ public class CameraLiveNoticeHelper implements IMogoOnWebSocketMessageListener @@ -32,6 +31,6 @@ app:miv_placeHolder="@drawable/icon_default_user_head" app:miv_shape="circle" app:miv_shapeBorderWidth="@dimen/dp_4" - tools:visibility="visible" /> + tools:visibility="invisible" /> \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/layout/camera_push_live_video.xml b/modules/mogo-module-extensions/src/main/res/layout/camera_push_live_video.xml index a444b15a4a..56e9b73045 100644 --- a/modules/mogo-module-extensions/src/main/res/layout/camera_push_live_video.xml +++ b/modules/mogo-module-extensions/src/main/res/layout/camera_push_live_video.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/rlRoadEventDetail" android:layout_width="match_parent" - android:layout_height="@dimen/v2x_video_window_height_content" + android:layout_height="@dimen/module_video_window_height_content" android:clipToPadding="false"> 0px -6px 20px - 370px + 300px + 400px \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/values-mdpi/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-mdpi/dimens.xml index 286f0b120f..b268db611b 100644 --- a/modules/mogo-module-extensions/src/main/res/values-mdpi/dimens.xml +++ b/modules/mogo-module-extensions/src/main/res/values-mdpi/dimens.xml @@ -14,6 +14,6 @@ -1 0px 20px - 370px - + 300px + 400px \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/values-xhdpi-1920x1000/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-xhdpi-1920x1000/dimens.xml index 9d0821625b..ca06e7f314 100644 --- a/modules/mogo-module-extensions/src/main/res/values-xhdpi-1920x1000/dimens.xml +++ b/modules/mogo-module-extensions/src/main/res/values-xhdpi-1920x1000/dimens.xml @@ -161,5 +161,6 @@ 0px 36px - 664px + 393px + 700px \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml index f35e24782f..ca44fd8dcb 100644 --- a/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml +++ b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml @@ -178,6 +178,7 @@ 20px 36px - 664px + 393px + 700px \ No newline at end of file diff --git a/modules/mogo-module-extensions/src/main/res/values/dimens.xml b/modules/mogo-module-extensions/src/main/res/values/dimens.xml index 173e3fb522..30d6518fb6 100644 --- a/modules/mogo-module-extensions/src/main/res/values/dimens.xml +++ b/modules/mogo-module-extensions/src/main/res/values/dimens.xml @@ -238,7 +238,8 @@ 36px 21px 21px + 400px + 300px - 370px \ No newline at end of file diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/EventDispatchCenter.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/EventDispatchCenter.java index a8b4db6f96..efbc64f845 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/EventDispatchCenter.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/EventDispatchCenter.java @@ -19,6 +19,7 @@ import com.mogo.map.navi.MogoCongestionInfo; import com.mogo.map.navi.MogoNaviInfo; import com.mogo.map.navi.MogoTraffic; import com.mogo.map.uicontroller.EnumMapUI; +import com.mogo.module.common.MogoApisHandler; import com.mogo.module.main.registercenter.MogoRegisterCenterHandler; import com.mogo.service.adas.IMogoADASControlStatusChangedListener; import com.mogo.utils.logger.Logger; @@ -274,6 +275,13 @@ public class EventDispatchCenter implements } } } + if ( ui == EnumMapUI.Type_VR ) { + MogoApisHandler.getInstance().getApis().getStatusManagerApi() + .setVrMode( TAG, true ); + } else { + MogoApisHandler.getInstance().getApis().getStatusManagerApi() + .setVrMode( TAG, false ); + } } @Override diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java index c3f8748bea..1959a9947e 100644 --- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java +++ b/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java @@ -122,6 +122,10 @@ public class MediaWindow2 implements IMusicView , IMogoStatusChangedListener { } if (descriptor == StatusDescriptor.VR_MODE) { + if (mWindowView == null) { + return; + } + ServiceMediaHandler.getMogoWindowManager().removeView(mWindowView); mHasAddWindow = false; addWindowView(); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java index fbefcf0fc9..b1402fee9b 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java @@ -10,10 +10,12 @@ import androidx.fragment.app.Fragment; import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.commons.AbsMogoApplication; +import com.mogo.commons.debug.DebugConfig; import com.mogo.map.listener.IMogoMapListener; import com.mogo.map.location.IMogoLocationListener; import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.navi.IMogoNaviListener; +import com.mogo.module.common.utils.CarSeries; import com.mogo.module.service.location.MogoRTKLocation; import com.mogo.service.module.IMogoModuleLifecycle; import com.mogo.service.module.IMogoModuleProvider; @@ -97,7 +99,9 @@ public class MogoServiceProvider implements IMogoModuleProvider { public void init( Context context ) { Logger.d( TAG, "init" ); MarkerServiceHandler.init( context ); - MogoRTKLocation.getInstance().init(); + if ( DebugConfig.isNeedUploadCoordinatesDurationInTime() ) { + MogoRTKLocation.getInstance().init(); + } MogoServices.getInstance().preInit( context ); UiThreadHandler.postDelayed( () -> { MogoServices.getInstance().init( AbsMogoApplication.getApp() ); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigApiService.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigApiService.java index bc153322dd..4bcd374a0a 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigApiService.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/ttsConfig/TtsConfigApiService.java @@ -1,15 +1,9 @@ package com.mogo.module.service.ttsConfig; -import com.mogo.commons.data.BaseData; import com.mogo.module.service.network.bean.TtsConfigEntity; -import java.util.Map; - import io.reactivex.Observable; -import retrofit2.http.FieldMap; -import retrofit2.http.FormUrlEncoded; import retrofit2.http.GET; -import retrofit2.http.POST; /** * @author :zhuangyan diff --git a/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapService.java b/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapService.java index 6739bb7c85..e4a4336d9c 100644 --- a/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapService.java +++ b/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapService.java @@ -4,7 +4,10 @@ import android.app.Service; import android.content.Intent; import android.os.IBinder; import android.os.RemoteException; +import android.view.Gravity; +import android.view.WindowManager; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.mogo.module.common.entity.MogoSnapshotSetData; @@ -19,16 +22,22 @@ import com.mogo.utils.logger.Logger; public class SmallMapService extends Service { private static final String TAG = "MachineVisionMapService"; private IBinder mBinder; + private WindowManagerView mWindowManagerView; private SmallMapView mMapView; + @Override + public void onCreate() { + super.onCreate(); + Logger.d(TAG, "onCreate"); + addMachineVisionMapView(); + } @Nullable @Override public IBinder onBind(Intent intent) { - mBinder = new SmallMapServiceBinder(); - addMachineVisionMapView(); Logger.d(TAG, "onBind"); + mBinder = new SmallMapServiceBinder(); return mBinder; } @@ -41,17 +50,39 @@ public class SmallMapService extends Service { @Override public boolean onUnbind(Intent intent) { - + Logger.d(TAG, "onUnbind"); + if (mWindowManagerView != null && mWindowManagerView.isShowing()) { + mWindowManagerView.dismiss(); + } + mWindowManagerView = null; return true; } @Override public void onDestroy() { super.onDestroy(); - + Logger.d(TAG, "onDestroy"); + if (mWindowManagerView != null) { + mWindowManagerView.dismiss(); + } } private void addMachineVisionMapView() { + Logger.d(TAG, "addMachineVisionMapView"); + mWindowManagerView = new WindowManagerView.Builder(getApplicationContext()) + .contentView(R.layout.module_small_map_view) + .size( + WindowManager.LayoutParams.WRAP_CONTENT, + WindowManager.LayoutParams.WRAP_CONTENT + ) + .position( + getResources().getDimensionPixelOffset( R.dimen.module_mvision_view_x ), + getResources().getDimensionPixelOffset( R.dimen.module_mvision_view_y ) + ) + .gravity(Gravity.TOP | Gravity.LEFT) + .showInWindowManager(); + mWindowManagerView.show(); + } @@ -61,19 +92,38 @@ public class SmallMapService extends Service { */ public class SmallMapServiceBinder extends IMachineVisionInterface.Stub { + @Override + public void linkToDeath(@NonNull DeathRecipient recipient, int flags) { + super.linkToDeath(recipient, flags); + Logger.d(TAG, "linkToDeath"); + + } + + @Override + public boolean unlinkToDeath(@NonNull DeathRecipient recipient, int flags) { + Logger.d(TAG, "unlinkToDeath"); + + return super.unlinkToDeath(recipient, flags); + } + @Override public void postData(MogoSnapshotSetData data) throws RemoteException { + Logger.d(TAG, "postData"); } @Override public void hideViewIfExist() throws RemoteException { + Logger.d(TAG, "hideViewIfExist"); } @Override public void showViewIfExist() throws RemoteException { + Logger.d(TAG, "showViewIfExist"); } + + } } diff --git a/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapView.java b/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapView.java index b9b74f4ac5..62e75cdc07 100644 --- a/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapView.java +++ b/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallMapView.java @@ -2,18 +2,19 @@ package com.mogo.module.small.map; import android.content.Context; import android.util.AttributeSet; -import android.util.Log; import androidx.annotation.Nullable; import com.mogo.map.MogoBaseMapView; +import com.mogo.utils.logger.Logger; /** * @author donghongyu * @date 12/10/20 1:35 PM */ public class SmallMapView extends MogoBaseMapView { - private final String TAG = "SmallMapView"; + + private static final String TAG = "SmallMapView"; public SmallMapView(Context context) { this(context, null); @@ -28,7 +29,7 @@ public class SmallMapView extends MogoBaseMapView { } @Override - protected void addMapView( Context context ) { - + protected void addMapView(Context context) { + Logger.d(TAG, "addMapView"); } -} +} \ No newline at end of file diff --git a/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallVisionProvider.java b/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallVisionProvider.java index d6ee7e537b..3bbdee2b65 100644 --- a/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallVisionProvider.java +++ b/modules/mogo-module-smp/src/main/java/com/mogo/module/small/map/SmallVisionProvider.java @@ -1,6 +1,7 @@ package com.mogo.module.small.map; import android.content.Context; +import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; @@ -9,6 +10,7 @@ import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; import com.alibaba.android.arouter.facade.annotation.Route; +import com.mogo.commons.AbsMogoApplication; import com.mogo.service.module.ModuleType; /** @@ -19,6 +21,8 @@ import com.mogo.service.module.ModuleType; public class SmallVisionProvider implements IMogoSmallMapProvider { private final String TAG = "SmallVisionProvider"; + private Intent mSmallMapServiceIntent; + @Override public Fragment createFragment(Context context, Bundle data) { return null; @@ -43,12 +47,15 @@ public class SmallVisionProvider implements IMogoSmallMapProvider { @Override public void init(Context context) { Log.d(TAG, "小地图模块初始化……"); - + mSmallMapServiceIntent = new Intent(context, SmallMapService.class); + context.startService(mSmallMapServiceIntent); } @Override public void onDestroy() { Log.d(TAG, "小地图模块销毁……"); - + if (mSmallMapServiceIntent != null) { + AbsMogoApplication.getApp().stopService(mSmallMapServiceIntent); + } } } diff --git a/modules/mogo-module-smp/src/main/res/drawable-xhdpi/module_small_map_view_border.png b/modules/mogo-module-smp/src/main/res/drawable-xhdpi/module_small_map_view_border.png new file mode 100644 index 0000000000..cc2c540c8b Binary files /dev/null and b/modules/mogo-module-smp/src/main/res/drawable-xhdpi/module_small_map_view_border.png differ diff --git a/modules/mogo-module-smp/src/main/res/layout/module_small_map_view.xml b/modules/mogo-module-smp/src/main/res/layout/module_small_map_view.xml new file mode 100644 index 0000000000..a787adfc60 --- /dev/null +++ b/modules/mogo-module-smp/src/main/res/layout/module_small_map_view.xml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-smp/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-smp/src/main/res/values-xhdpi/dimens.xml new file mode 100644 index 0000000000..9910274622 --- /dev/null +++ b/modules/mogo-module-smp/src/main/res/values-xhdpi/dimens.xml @@ -0,0 +1,12 @@ + + + 400px + 400px + 1490px + 650px + + 0px + 0px + 1920px + 1080px + \ No newline at end of file diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XIllegalParkVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XIllegalParkVH.java index 5f6854cd3e..918b3fb2a0 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XIllegalParkVH.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XIllegalParkVH.java @@ -26,6 +26,9 @@ import com.mogo.module.v2x.voice.V2XVoiceManager; import com.mogo.utils.logger.Logger; import com.mogo.utils.network.utils.GsonUtil; +import java.util.logging.Handler; +import java.util.logging.LogRecord; + import static com.mogo.module.v2x.V2XConst.MODULE_NAME; /** @@ -129,7 +132,11 @@ public class V2XIllegalParkVH extends V2XBaseViewHolder { mExploreWay.getPoiType(), 2); } - delayedCloseWindow(); + if (!V2XServiceManager.getMoGoStatusManager().isVrMode()) { + delayedCloseWindow(); + } else { + mIlIllegalParkingLike.setClickable(false); + } } /** @@ -142,6 +149,10 @@ public class V2XIllegalParkVH extends V2XBaseViewHolder { mExploreWay.getPoiType(), 3); } - delayedCloseWindow(); + if (!V2XServiceManager.getMoGoStatusManager().isVrMode()) { + delayedCloseWindow(); + } else { + mIIllegalParkingUnLike.setClickable(false); + } } } diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/obu/OptimalSpeedMarker.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/obu/OptimalSpeedMarker.java index f0b34492f8..71213daba0 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/obu/OptimalSpeedMarker.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/obu/OptimalSpeedMarker.java @@ -26,7 +26,9 @@ class OptimalSpeedMarker implements IV2XMarker { .latitude(entity.getLat()) .longitude(entity.getLon()).anchor(0.5f,0.9f).icon(ViewUtils.fromView(new OptimalSpeedMarkerView(V2XServiceManager.getContext()))); optimalMarker = V2XServiceManager.getMarkerManager().addMarker(V2X_OPTIMAL_SPEED_MARKER, optionsRipple); - optimalMarker.setClickable(false); + if (optimalMarker != null) { + optimalMarker.setClickable(false); + } } @Override diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/test/V2XTestConsoleWindow.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/test/V2XTestConsoleWindow.java index a39d5056bc..7777ae5c59 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/test/V2XTestConsoleWindow.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/test/V2XTestConsoleWindow.java @@ -3,6 +3,7 @@ package com.mogo.module.v2x.scenario.scene.test; import android.content.Context; import android.content.Intent; import android.util.AttributeSet; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; @@ -257,6 +258,7 @@ public class V2XTestConsoleWindow extends ConstraintLayout { }); mBtnTriggerParkEvent.setOnClickListener(v -> { + Log.d("触发违章停车事件", "00"); V2XMessageEntity> v2XMessageEntity = TestOnLineCarUtils.getV2XIllegalParkData(); diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/HeartUnLikeView.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/HeartUnLikeView.java index b361791431..9d7d45c720 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/HeartUnLikeView.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/HeartUnLikeView.java @@ -5,7 +5,10 @@ import android.animation.AnimatorInflater; import android.animation.AnimatorSet; import android.content.Context; import android.util.AttributeSet; +import android.util.Log; import android.view.View; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; import android.widget.ImageView; import android.widget.LinearLayout; @@ -26,6 +29,7 @@ public class HeartUnLikeView extends LinearLayout implements Animator.AnimatorLi private AnimatorSet mAnimatorSet; private OnClickCallListener mOnClickCallListener; private boolean isAnimator = false; + private ImageView animationImageView; public HeartUnLikeView(Context context) { this(context, null); @@ -39,7 +43,7 @@ public class HeartUnLikeView extends LinearLayout implements Animator.AnimatorLi super(context, attrs, defStyleAttr); inflate(context, V2XServiceManager.getMoGoStatusManager().isVrMode() ? R.layout.view_heart_unlike_vr : R.layout.view_heart_unlike, this); mIllegalParkingUnLike = findViewById(R.id.ivIllegalParkingUnLike); - + animationImageView = findViewById(R.id.animationImage); setOnClickListener(v -> { if (!isAnimator) { isAnimator = true; @@ -53,6 +57,12 @@ public class HeartUnLikeView extends LinearLayout implements Animator.AnimatorLi } mAnimatorSet.start(); } + if (V2XServiceManager.getMoGoStatusManager().isVrMode()) { + animationImageView.setVisibility(View.VISIBLE); + Animation animation = AnimationUtils.loadAnimation(getContext(), R.anim.v2x_unlike_heart_scale_ani_vr); + animationImageView.startAnimation(animation); + animationImageView.setVisibility(View.GONE); + } }); } diff --git a/modules/mogo-module-v2x/src/main/res/anim/v2x_unlike_heart_scale_ani_vr.xml b/modules/mogo-module-v2x/src/main/res/anim/v2x_unlike_heart_scale_ani_vr.xml new file mode 100644 index 0000000000..383effa7da --- /dev/null +++ b/modules/mogo-module-v2x/src/main/res/anim/v2x_unlike_heart_scale_ani_vr.xml @@ -0,0 +1,16 @@ + + + + + \ No newline at end of file diff --git a/modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_icon_unlike_animation_vr.png b/modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_icon_unlike_animation_vr.png index e14d0188cb..41390407d8 100644 Binary files a/modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_icon_unlike_animation_vr.png and b/modules/mogo-module-v2x/src/main/res/drawable-xhdpi/v2x_icon_unlike_animation_vr.png differ diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_illegal_parking_vr.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_illegal_parking_vr.xml index 837cf017c1..d3d0683aab 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_illegal_parking_vr.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_illegal_parking_vr.xml @@ -6,16 +6,17 @@ android:layout_width="match_parent" android:layout_height="@dimen/dp_120" android:background="@drawable/v2x_bg_pop_up" + android:layout_marginTop="@dimen/dp_8" android:paddingEnd="@dimen/dp_62"> + app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintTop_toTopOf="@+id/leftImageView" /> - - + + + diff --git a/modules/mogo-module-v2x/src/main/res/layout/window_road_event_detail_vr.xml b/modules/mogo-module-v2x/src/main/res/layout/window_road_event_detail_vr.xml index 855714528d..e3f3c2d6c6 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/window_road_event_detail_vr.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/window_road_event_detail_vr.xml @@ -3,7 +3,8 @@ 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="wrap_content" + android:layout_marginTop="@dimen/dp_8">