From edd27d95bb600e5ba8b16515eecc09b01c9f1c40 Mon Sep 17 00:00:00 2001 From: liujing Date: Thu, 6 Aug 2020 19:50:40 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E6=9B=B4=E5=A4=9Apagen?= =?UTF-8?q?um=E8=B5=8B=E5=80=BC=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v2x/adapter/V2XShareEventAdapter.java | 5 +- .../entity/panel/ShareEventLoadMoreItem.java | 9 +++ .../v2x/fragment/V2XShareEventsFragment.java | 18 +++--- .../v2x/network/V2XShareNetworkModel.java | 62 +++++++++++-------- 4 files changed, 58 insertions(+), 36 deletions(-) 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..3e4d20987b 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 @@ -143,13 +143,14 @@ public class V2XShareEventAdapter extends RecyclerView.Adapter 0) { + Object data = dataArrayList.get(dataArrayList.size() - 1); + if (data instanceof ShareEventLoadMoreItem || data instanceof ShareEventLoadMoreItem) { + 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.setStatusText("查看更早记录"); + item.setClickable(true); } else { //当前页没有数据 item.setViewType(ShareEventItemEnum.ITEM_TYPE_NO_MORE); item.setStatusText("没有更多了"); + item.setClickable(false); } if (total > 10) { dataArrayList.add(item); @@ -194,7 +196,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/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); + } + } + + }); + + } + /* * 分享列表 * */ From 4d0c30a905922e77ad98667caaa1d53e48a70933 Mon Sep 17 00:00:00 2001 From: liujing Date: Thu, 6 Aug 2020 19:54:15 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v2x/adapter/V2XShareEventAdapter.java | 34 +++++++++---------- ...ion.java => V2XShareEventDescription.java} | 2 +- ...eEventItem.java => V2XShareEventItem.java} | 4 +-- ...emEnum.java => V2XShareEventItemEnum.java} | 2 +- ...em.java => V2XShareEventLoadMoreItem.java} | 2 +- .../v2x/fragment/V2XShareEventsFragment.java | 29 ++++++++-------- .../module/v2x/network/V2XApiService.java | 8 ++--- 7 files changed, 40 insertions(+), 41 deletions(-) rename modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/entity/panel/{ShareEventDescription.java => V2XShareEventDescription.java} (98%) rename modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/entity/panel/{ShareEventItem.java => V2XShareEventItem.java} (98%) rename modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/entity/panel/{ShareEventItemEnum.java => V2XShareEventItemEnum.java} (84%) rename modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/entity/panel/{ShareEventLoadMoreItem.java => V2XShareEventLoadMoreItem.java} (90%) 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 3e4d20987b..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,7 +141,7 @@ public class V2XShareEventAdapter extends RecyclerView.Adapter 0) { Object data = dataArrayList.get(dataArrayList.size() - 1); - if (data instanceof ShareEventLoadMoreItem || data instanceof ShareEventLoadMoreItem) { + if (data instanceof V2XShareEventLoadMoreItem || data instanceof V2XShareEventLoadMoreItem) { dataArrayList.remove(dataArrayList.size() - 1); } } if (resultData.getResult().getPage().getContent().size() > 0) { //当前页有数据 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); } @@ -149,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(); 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); /* * 周边列表 From 557adf82bd4ef45c1844b3b73494a480edc2f3b0 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Fri, 7 Aug 2020 11:06:44 +0800 Subject: [PATCH 03/13] add videocompress lib --- config.gradle | 1 + ...odule_event_panel_fragment_surrounding.xml | 27 ++++++++++++++----- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/config.gradle b/config.gradle index 9006536b75..8cbaaddd98 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/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"> - + From 25760ee650e39a3b3d312e5e14ce9adc8bcdb5c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Fri, 7 Aug 2020 12:06:41 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E9=80=9A=E8=BF=87=E5=B9=BF=E6=92=AD=E5=BC=80=E5=90=AF?= =?UTF-8?q?=E7=9A=84V2X=E6=B5=8B=E8=AF=95=E9=9D=A2=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/AndroidManifest.xml | 7 ++++ .../java/com/mogo/module/v2x/V2XConst.java | 7 ++++ .../mogo/module/v2x/V2XModuleProvider.java | 7 ---- .../v2x/receiver/SceneBroadcastReceiver.java | 2 +- .../receiver/TestPanelBroadcastReceiver.java | 38 +++++++++++++++++++ .../scene/test/V2XTestConsoleWindow.java | 13 +++++++ 6 files changed, 66 insertions(+), 8 deletions(-) create mode 100644 modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/TestPanelBroadcastReceiver.java 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/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/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); } From 706d45dd4f4335f59b0e4a9107fe3468f8b7f3d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Fri, 7 Aug 2020 12:23:38 +0800 Subject: [PATCH 05/13] =?UTF-8?q?=E5=85=B3=E9=97=AD=E4=BA=86=E8=BA=AB?= =?UTF-8?q?=E8=BE=B9=E5=92=8C=E5=AE=9E=E6=97=B6=E8=B7=AF=E5=86=B5=E7=9A=84?= =?UTF-8?q?=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/module/v2x/utils/EventTypeUtils.java | 2 -- 1 file changed, 2 deletions(-) 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; } From f11630b1aa0d0b091bcae17fa21d16800d17c0f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Fri, 7 Aug 2020 12:32:15 +0800 Subject: [PATCH 06/13] =?UTF-8?q?=E5=BC=80=E5=90=AF=E4=BA=86=E5=AE=9E?= =?UTF-8?q?=E6=97=B6=E8=B7=AF=E5=86=B5=E7=9A=84=E9=A2=84=E8=AD=A6=E5=B1=95?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/v2x/marker/V2XMarkerRoadEventView.kt | 16 ++++++++++------ .../mogo/module/v2x/utils/EventTypeUtils.java | 1 + 2 files changed, 11 insertions(+), 6 deletions(-) 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/utils/EventTypeUtils.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/EventTypeUtils.java index a13c6142c3..ccd94c45b9 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,6 +127,7 @@ public class EventTypeUtils { case V2XPoiTypeEnum.FOURS_FOG://浓雾 case V2XPoiTypeEnum.FOURS_ICE://结冰 case V2XPoiTypeEnum.FOURS_ACCIDENT://事故 + case V2XPoiTypeEnum.FOURS_LIVING://实时路况 isRoadEvent = true; break; } From 0d16fdcc23141a2897cc41ce53e6fa434bd13650 Mon Sep 17 00:00:00 2001 From: liujing Date: Fri, 7 Aug 2020 13:16:14 +0800 Subject: [PATCH 07/13] UI --- .../utils/animation/V2XAnimationManager.java | 4 + .../module_v2x_event_share_description.xml | 188 ++++++++++-------- .../layout/module_v2x_event_share_empty.xml | 17 +- .../layout/module_v2x_event_share_item.xml | 114 +++++------ 4 files changed, 167 insertions(+), 156 deletions(-) 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_v2x_event_share_description.xml b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_share_description.xml index caa4d78af2..5031d5407d 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,115 @@ 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: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" /> + + + +