diff --git a/config.gradle b/config.gradle index 5eac4c2d47..1327d89a58 100644 --- a/config.gradle +++ b/config.gradle @@ -141,6 +141,7 @@ targetSdkVersion : 22, videoarm64 : "com.shuyu:gsyVideoPlayer-arm64:7.1.2", videojava : "com.shuyu:gsyVideoPlayer-java:7.1.2", eventbus : "org.greenrobot:eventbus:3.1.1", + videoprocessor : "com.zhidao.video:video-processor:1.0.2.1", coroutinescore : "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.1.1", coroutinesandroid : "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.1.1", diff --git a/modules/mogo-module-v2x/src/main/AndroidManifest.xml b/modules/mogo-module-v2x/src/main/AndroidManifest.xml index 158659eecc..341e0485ae 100644 --- a/modules/mogo-module-v2x/src/main/AndroidManifest.xml +++ b/modules/mogo-module-v2x/src/main/AndroidManifest.xml @@ -6,6 +6,13 @@ + + + + + + + diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XConst.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XConst.java index 4c85d75e0c..fc2d014256 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XConst.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XConst.java @@ -32,6 +32,13 @@ public class V2XConst { public static final String BROADCAST_SCENE_HANDLER_ACTION = "com.v2x.scene_handler_broadcast"; public static final String BROADCAST_SCENE_EXTRA_KEY = "V2XMessageEntity"; + /** + * V2X 测试控制面板广播Action + */ + public static final String BROADCAST_TEST_PANEL_CONTROL_ACTION = "com.v2x.com.v2x.test_panel_control"; + public static final String BROADCAST_TEST_PANEL_CONTROL_EXTRA_KEY = "TextPanelOpenStatus"; + + public static final String BROADCAST_SCENE_ACTION = "com.v2x.scene_local_broadcast"; public static final String SEEK_HELP_TIME = "seek_help_time"; public static final String V2X_ACC_ON_TIME_STR = "v2x_acc_on_time_str"; diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java index 162f5d6713..ba01c75bbf 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java @@ -29,7 +29,6 @@ import com.mogo.module.v2x.receiver.SceneBroadcastReceiver; import com.mogo.module.v2x.scenario.impl.V2XScenarioManager; import com.mogo.module.v2x.scenario.scene.park.V2XIllegalParkScenario; import com.mogo.module.v2x.scenario.scene.park.V2XIllegalParkWindow; -import com.mogo.module.v2x.scenario.scene.test.V2XTestConsoleWindow; import com.mogo.module.v2x.utils.FatigueDrivingUtils; import com.mogo.module.v2x.utils.TimeUtils; import com.mogo.module.v2x.utils.V2XSQLiteUtils; @@ -136,12 +135,6 @@ public class V2XModuleProvider implements intentFilter.addAction(V2XConst.BROADCAST_SCENE_HANDLER_ACTION); localBroadcastManager.registerReceiver(localReceiver, intentFilter); - if (BuildConfig.DEBUG) { - // TODO 这是测试页面 - V2XServiceManager - .getIMogoWindowManager() - .addView(new V2XTestConsoleWindow(context), 0, 0, false); - } } private void initData() { diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/V2XShareEventAdapter.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/V2XShareEventAdapter.java index 094b0b00d9..dc358c09d9 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/V2XShareEventAdapter.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/V2XShareEventAdapter.java @@ -13,10 +13,10 @@ import androidx.recyclerview.widget.RecyclerView; import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.module.v2x.R; -import com.mogo.module.v2x.entity.panel.ShareEventDescription; -import com.mogo.module.v2x.entity.panel.ShareEventItem; -import com.mogo.module.v2x.entity.panel.ShareEventItemEnum; -import com.mogo.module.v2x.entity.panel.ShareEventLoadMoreItem; +import com.mogo.module.v2x.entity.panel.V2XShareEventDescription; +import com.mogo.module.v2x.entity.panel.V2XShareEventItem; +import com.mogo.module.v2x.entity.panel.V2XShareEventItemEnum; +import com.mogo.module.v2x.entity.panel.V2XShareEventLoadMoreItem; import com.mogo.module.v2x.fragment.V2XEventPanelFragment; import com.mogo.module.v2x.listener.AdapterCallback; import com.mogo.service.IMogoServiceApis; @@ -44,17 +44,17 @@ public class V2XShareEventAdapter extends RecyclerView.Adapter position) { - ShareEventDescription.ResultBean.EnthusiasmIndexBean data = (ShareEventDescription.ResultBean.EnthusiasmIndexBean) dataArrayList.get(position); + V2XShareEventDescription.ResultBean.EnthusiasmIndexBean data = (V2XShareEventDescription.ResultBean.EnthusiasmIndexBean) dataArrayList.get(position); if (data != null) { String shareNum = String.valueOf(data.getShareNum()); String likeNum = String.valueOf(data.getLikeNum()); @@ -115,7 +115,7 @@ public class V2XShareEventAdapter extends RecyclerView.Adapter position) { - ShareEventItem.ResultBean.PageBean.ContentBean data = (ShareEventItem.ResultBean.PageBean.ContentBean) dataArrayList.get(position); + V2XShareEventItem.ResultBean.PageBean.ContentBean data = (V2XShareEventItem.ResultBean.PageBean.ContentBean) dataArrayList.get(position); if (data != null) { String poitype = data.getPoiType(); String address = data.getUploadAddress(); @@ -141,29 +141,30 @@ public class V2XShareEventAdapter extends RecyclerView.Adapter 0) { + Object data = dataArrayList.get(dataArrayList.size() - 1); + if (data instanceof V2XShareEventLoadMoreItem || data instanceof V2XShareEventLoadMoreItem) { + dataArrayList.remove(dataArrayList.size() - 1); + } + } if (resultData.getResult().getPage().getContent().size() > 0) { //当前页有数据 - if (dataArrayList.size() > 0) { - Object data = dataArrayList.get(dataArrayList.size() - 1); - if (data instanceof ShareEventLoadMoreItem) { - dataArrayList.remove(dataArrayList.size() - 1); - } - } dataArrayList.addAll(resultData.getResult().getPage().getContent()); - item.setViewType(ShareEventItemEnum.ITEM_TYPE_LOAD_MORE_STATUS); + item.setViewType(V2XShareEventItemEnum.ITEM_TYPE_LOAD_MORE_STATUS); item.setStatusText("查看更早记录"); + item.setClickable(true); } else { //当前页没有数据 - item.setViewType(ShareEventItemEnum.ITEM_TYPE_NO_MORE); + item.setViewType(V2XShareEventItemEnum.ITEM_TYPE_NO_MORE); item.setStatusText("没有更多了"); + item.setClickable(false); } if (total > 10) { dataArrayList.add(item); @@ -147,7 +148,7 @@ public class V2XShareEventsFragment extends MvpFragment implements AdapterCallba Log.d(TAG, "分享列表:" + dataArrayList.get(0)); } else { //空白 - item.setViewType(ShareEventItemEnum.ITEM_TYPE_SHARE_EMPTY); + item.setViewType(V2XShareEventItemEnum.ITEM_TYPE_SHARE_EMPTY); dataArrayList.add(item); } adapter.notifyDataSetChanged(); @@ -194,7 +195,9 @@ public class V2XShareEventsFragment extends MvpFragment implements AdapterCallba @Override public void loadMoreShareEventList() { - v2XShareNetworkModel.getShareEventList(pageNum + 1, 10, new V2XRefreshCallback() { + Log.d(TAG,"page--"+pageNum); + pageNum+=1; + v2XShareNetworkModel.getShareEventList(pageNum, 10, new V2XRefreshCallback() { @Override public void onSuccess(Object result) { loadSuccessWithShareEventList(result); diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java index bd14999026..bef7d59ab0 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java @@ -59,7 +59,7 @@ public class MoGoV2XMarkerManager implements IMoGoV2XMarkerManager { @Override public void drawableLastAllPOI() { - //Logger.w(MODULE_NAME, "V2X---绘制上一次的POI,回调给Launcher底层逻辑让其进行绘制"); + Logger.w(MODULE_NAME, "V2X---绘制上一次的POI,回调给Launcher底层逻辑让其进行绘制"); // 清除连接线 V2XServiceManager.getMoGoV2XPolylineManager().clearLine(); clearAlarmPOI(); diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/marker/V2XMarkerRoadEventView.kt b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/marker/V2XMarkerRoadEventView.kt index 3059bcd6a7..2efee0e7e2 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/marker/V2XMarkerRoadEventView.kt +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/marker/V2XMarkerRoadEventView.kt @@ -6,10 +6,10 @@ import android.graphics.Bitmap import android.view.LayoutInflater import android.view.View import androidx.constraintlayout.widget.ConstraintLayout -import com.mogo.module.service.utils.ViewUtils -import com.mogo.module.v2x.R import com.mogo.module.common.entity.V2XPoiTypeEnum import com.mogo.module.common.entity.V2XRoadEventEntity +import com.mogo.module.service.utils.ViewUtils +import com.mogo.module.v2x.R import kotlinx.android.synthetic.main.view_marker_event_car.view.* /** @@ -23,7 +23,7 @@ import kotlinx.android.synthetic.main.view_marker_event_car.view.* * version: 1.0 */ class V2XMarkerRoadEventView(context: Context, alarmInfo: V2XRoadEventEntity) : - ConstraintLayout(context) { + ConstraintLayout(context) { val TAG = "V2XMarkerRoadEventView" init { @@ -32,13 +32,13 @@ class V2XMarkerRoadEventView(context: Context, alarmInfo: V2XRoadEventEntity) : fun initView(context: Context, alarmInfo: V2XRoadEventEntity) { if (alarmInfo.poiType == V2XPoiTypeEnum.ALERT_FRONT_CAR || - alarmInfo.poiType == V2XPoiTypeEnum.ALERT_CAR_TROUBLE_WARNING.toString() + alarmInfo.poiType == V2XPoiTypeEnum.ALERT_CAR_TROUBLE_WARNING.toString() ) { LayoutInflater.from(context) - .inflate(R.layout.view_marker_event_car, this) + .inflate(R.layout.view_marker_event_car, this) } else { LayoutInflater.from(context) - .inflate(R.layout.view_marker_event_road, this) + .inflate(R.layout.view_marker_event_road, this) } updateIcon(alarmInfo) } @@ -82,6 +82,10 @@ class V2XMarkerRoadEventView(context: Context, alarmInfo: V2XRoadEventEntity) : V2XPoiTypeEnum.FOURS_ACCIDENT -> { ivCar.setImageResource(R.drawable.v_to_x_marker_7) } + //事故 + V2XPoiTypeEnum.FOURS_LIVING -> { + ivCar.setImageResource(R.drawable.v_to_x_marker_1) + } //红绿灯数据 V2XPoiTypeEnum.ALERT_TRAFFIC_LIGHT_SUGGEST -> { ivCar.setImageResource(R.drawable.v_to_x_marker_3) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XApiService.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XApiService.java index 45db4f5fc9..78710b8999 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XApiService.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XApiService.java @@ -8,8 +8,8 @@ import com.mogo.module.v2x.entity.net.V2XLivePushVoRes; import com.mogo.module.v2x.entity.net.V2XSeekHelpRes; import com.mogo.module.v2x.entity.net.V2XStrategyPushRes; import com.mogo.module.v2x.entity.net.V2XUserInfoRes; -import com.mogo.module.v2x.entity.panel.ShareEventDescription; -import com.mogo.module.v2x.entity.panel.ShareEventItem; +import com.mogo.module.v2x.entity.panel.V2XShareEventDescription; +import com.mogo.module.v2x.entity.panel.V2XShareEventItem; import com.mogo.module.v2x.entity.panel.SurroundingResponse; import java.util.Map; @@ -117,14 +117,14 @@ public interface V2XApiService { */ @FormUrlEncoded @POST("/deva/poiInfoFabulous/car/poi/no/queryEnthusiasmIndex/v1") - Observable getEnthusiasmIndex(@FieldMap Map parames); + Observable getEnthusiasmIndex(@FieldMap Map parames); /** * 我的分享-列表 */ @FormUrlEncoded @POST("/deva/car/pathAndPoi/no/queryInfo") - Observable getShareEventList(@FieldMap Map parames); + Observable getShareEventList(@FieldMap Map parames); /* * 周边列表 diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XShareNetworkModel.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XShareNetworkModel.java index 5fe35ea297..417a113edf 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XShareNetworkModel.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XShareNetworkModel.java @@ -42,39 +42,13 @@ public class V2XShareNetworkModel { * 2.分享列表 * */ public void getShareEventResponse(int page, int size, V2XRefreshCallback callback) { - final ParamsProvider.Builder builder = new ParamsProvider.Builder(mContext); - HashMap hashMap = new HashMap<>(); - hashMap.put("sn", Utils.getSn()); - builder.append("data", GsonUtil.jsonFromObject(hashMap)); - Map parameters = builder.build(); Observable indexObservable = Observable.create(new ObservableOnSubscribe() { @Override public void subscribe(ObservableEmitter emitter) throws Exception { try { - //热心指数 - mRefreshApiService.getEnthusiasmIndex(parameters) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new SubscribeImpl(RequestOptions.create((mContext))) { - @Override - public void onSuccess(BaseData resultData) { - super.onSuccess(resultData); - if (callback != null) { - callback.onSuccess(resultData); - } - } - - @Override - public void onError(String message, int code) { - super.onError(message, code); - if (callback != null) { - callback.onFail(message); - } - } - - }); + getShareIndex(callback); } catch (Exception e) { e.printStackTrace(); } @@ -128,6 +102,40 @@ public class V2XShareNetworkModel { }); } + /* + * 热心指数 + * */ + public void getShareIndex(V2XRefreshCallback callback) { + final ParamsProvider.Builder builder = new ParamsProvider.Builder(mContext); + HashMap hashMap = new HashMap<>(); + hashMap.put("sn", Utils.getSn()); + builder.append("data", GsonUtil.jsonFromObject(hashMap)); + Map parameters = builder.build(); + //热心指数 + mRefreshApiService.getEnthusiasmIndex(parameters) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SubscribeImpl(RequestOptions.create((mContext))) { + @Override + public void onSuccess(BaseData resultData) { + super.onSuccess(resultData); + if (callback != null) { + callback.onSuccess(resultData); + } + } + + @Override + public void onError(String message, int code) { + super.onError(message, code); + if (callback != null) { + callback.onFail(message); + } + } + + }); + + } + /* * 分享列表 * */ diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/SceneBroadcastReceiver.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/SceneBroadcastReceiver.java index dc04c9cab3..40ec88c69b 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/SceneBroadcastReceiver.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/SceneBroadcastReceiver.java @@ -22,7 +22,7 @@ public class SceneBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { try { - V2XMessageEntity v2XMessageEntity = (V2XMessageEntity) intent.getSerializableExtra("V2XMessageEntity"); + V2XMessageEntity v2XMessageEntity = (V2XMessageEntity) intent.getSerializableExtra(V2XConst.BROADCAST_SCENE_EXTRA_KEY); Logger.d(TAG, "v2XMessageEntity:" + GsonUtil.jsonFromObject(v2XMessageEntity)); V2XScenarioManager.getInstance().handlerMessage(v2XMessageEntity); } catch (Exception e) { diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/TestPanelBroadcastReceiver.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/TestPanelBroadcastReceiver.java new file mode 100644 index 0000000000..7123176fba --- /dev/null +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/TestPanelBroadcastReceiver.java @@ -0,0 +1,38 @@ +package com.mogo.module.v2x.receiver; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; + +import com.mogo.module.v2x.V2XConst; +import com.mogo.module.v2x.V2XServiceManager; +import com.mogo.module.v2x.scenario.scene.test.V2XTestConsoleWindow; +import com.mogo.utils.logger.Logger; + +/** + * V2X 测试面板广播接收,目的是可以通过广播调用起来面板 + * + * @author donghongyu + */ +public class TestPanelBroadcastReceiver extends BroadcastReceiver { + private static final String TAG = V2XConst.MODULE_NAME + "_TestPanelBroadcastReceiver"; + + @Override + public void onReceive(Context context, Intent intent) { + try { + boolean textPanelOpenStatus = intent.getBooleanExtra(V2XConst.BROADCAST_TEST_PANEL_CONTROL_EXTRA_KEY, false); + Logger.d(TAG, "textPanelOpenStatus:" + textPanelOpenStatus); + if (textPanelOpenStatus) { + V2XServiceManager + .getIMogoWindowManager() + .addView(V2XTestConsoleWindow.getInstance(context), 0, 0, false); + } else { + V2XServiceManager + .getIMogoWindowManager() + .removeView(V2XTestConsoleWindow.getInstance(context)); + } + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/park/V2XIllegalParkMarker.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/park/V2XIllegalParkMarker.java index 801ee51a9f..f44fd5ff4b 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/park/V2XIllegalParkMarker.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/park/V2XIllegalParkMarker.java @@ -95,6 +95,8 @@ public class V2XIllegalParkMarker implements IV2XMarker> V2XServiceManager.getMoGoV2XPolylineManager().clearLine(); // 移除事件POI V2XServiceManager.getMoGoV2XMarkerManager().clearAlarmPOI(); + // 绘制上次的数据 + V2XServiceManager.getMoGoV2XMarkerManager().drawableLastAllPOI(); } /** 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 022e54d07b..910f354fe4 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 @@ -32,6 +32,8 @@ import java.util.List; * version: 1.0 */ public class V2XTestConsoleWindow extends ConstraintLayout { + private static V2XTestConsoleWindow mV2XTestConsoleWindow; + private FlexboxLayout mFlTestPanel; private Button mBtnTriggerOpen; private Button mBtnTriggerRoadEvent; @@ -43,6 +45,17 @@ public class V2XTestConsoleWindow extends ConstraintLayout { private Button mBtnTriggerSeekHelpEvent; private Button mBtnTriggerParkEvent; + public static V2XTestConsoleWindow getInstance(Context context) { + if (mV2XTestConsoleWindow == null) { + synchronized (V2XTestConsoleWindow.class) { + if (mV2XTestConsoleWindow == null) { + mV2XTestConsoleWindow = new V2XTestConsoleWindow(context); + } + } + } + return mV2XTestConsoleWindow; + } + public V2XTestConsoleWindow(Context context) { this(context, null); } diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/EventTypeUtils.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/EventTypeUtils.java index 9ba13d8dd1..a13c6142c3 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/EventTypeUtils.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/EventTypeUtils.java @@ -127,8 +127,6 @@ public class EventTypeUtils { case V2XPoiTypeEnum.FOURS_FOG://浓雾 case V2XPoiTypeEnum.FOURS_ICE://结冰 case V2XPoiTypeEnum.FOURS_ACCIDENT://事故 - case V2XPoiTypeEnum.FOURS_NEALY://身边 - case V2XPoiTypeEnum.FOURS_LIVING://实时路况 isRoadEvent = true; break; } diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/animation/V2XAnimationManager.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/animation/V2XAnimationManager.java index 0a4d3e69d0..ff5ac0f781 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/animation/V2XAnimationManager.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/animation/V2XAnimationManager.java @@ -1,6 +1,7 @@ package com.mogo.module.v2x.utils.animation; import android.graphics.drawable.AnimationDrawable; +import android.util.Log; import android.view.View; import android.widget.ImageView; @@ -9,6 +10,7 @@ import com.mogo.utils.UiThreadHandler; public class V2XAnimationManager implements Animation { + private static final String TAG = "V2XAnimationManager"; private ImageView targetImageView; private Animation delegate; private boolean isStarted = false; @@ -18,6 +20,7 @@ public class V2XAnimationManager implements Animation { ThreadPoolService.execute(() -> { final AnimationDrawable drawable = new AnimationDrawable(); for (int i = 0; i < resources.length; i++) { + drawable.setOneShot(false); drawable.addFrame(targetImageView.getResources().getDrawable(resources[i]), duration); } UiThreadHandler.post(() -> { @@ -48,6 +51,7 @@ public class V2XAnimationManager implements Animation { } public void release() { + delegate = null; } } diff --git a/modules/mogo-module-v2x/src/main/res/layout/module_event_panel_fragment_surrounding.xml b/modules/mogo-module-v2x/src/main/res/layout/module_event_panel_fragment_surrounding.xml index 7f7650b06c..913477cb5a 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/module_event_panel_fragment_surrounding.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/module_event_panel_fragment_surrounding.xml @@ -2,23 +2,38 @@ + android:layout_height="match_parent" + android:background="@color/live_video_background_color"> + android:layout_height="80dp"> + @@ -28,13 +43,13 @@ android:layout_height="match_parent" android:layout_below="@+id/layout_top"> - + diff --git a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_description.xml b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_description.xml index caa4d78af2..12c61651bc 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_description.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_description.xml @@ -3,97 +3,116 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="horizontal"> + android:orientation="vertical" + android:background="@drawable/v2x_alert_window_bg"> + + + + + android:layout_width="match_parent" + android:layout_height="match_parent"> - + - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_empty.xml b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_empty.xml index d0490ac0f7..e93081c355 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_empty.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_empty.xml @@ -3,23 +3,18 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - - - + android:layout_height="wrap_content" + android:layout_centerInParent="true" + android:src="@drawable/amap_ride" /> diff --git a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_item.xml b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_item.xml index 37ffaf5639..2fd8208a0b 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_item.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_item.xml @@ -17,6 +17,60 @@ android:textColor="#FFFFFF" android:textSize="15sp" /> + + + +