优化了V2X事件展示,以及历史列表中的展示样式

This commit is contained in:
董宏宇
2020-08-03 14:57:45 +08:00
parent 003443e41c
commit 06f097bd43
32 changed files with 222 additions and 304 deletions

View File

@@ -109,14 +109,16 @@ public class V2XEventShowEntity implements Serializable {
@IntDef(value = {
V2XWindowTypeEnum.DEFAULT_WINDOW,
V2XWindowTypeEnum.LIVE_CAR_WINDOW,
V2XWindowTypeEnum.ROAD_EVENT_WINDOW,
V2XWindowTypeEnum.PUSH_EVENT_WINDOW,
V2XWindowTypeEnum.ANIMATION_WINDOW,
V2XWindowTypeEnum.FATIGUE_DRIVING_WINDOW,
V2XWindowTypeEnum.SEEK_HELP_WINDOW,
V2XWindowTypeEnum.ILLEGAL_PARK_WINDOW,
V2XMessageEntity.V2XTypeEnum.ALERT_ROAD_WARNING,
V2XMessageEntity.V2XTypeEnum.ALERT_SEEK_WARNING,
V2XMessageEntity.V2XTypeEnum.ALERT_FATIGUE_DRIVING,
V2XMessageEntity.V2XTypeEnum.ALERT_PUSH_WINDOW_WARNING,
V2XMessageEntity.V2XTypeEnum.ALERT_PUSH_TOAST_WARNING,
V2XMessageEntity.V2XTypeEnum.ALERT_PUSH_LIVE_CAR_WARNING,
V2XMessageEntity.V2XTypeEnum.ALERT_ANIMATION_WARNING,
V2XMessageEntity.V2XTypeEnum.ALERT_ROAD_LIVE_CAR_WARNING,
V2XMessageEntity.V2XTypeEnum.ALERT_ILLEGAL_PARK_WARNING,
V2XMessageEntity.V2XTypeEnum.ALERT_CAR_FOR_HELP,
})
@Target({
ElementType.PARAMETER,

View File

@@ -80,6 +80,8 @@ public class V2XMessageEntity<T> implements Serializable {
* V2X 场景类型
*/
public interface V2XTypeEnum {
// 默认展示详情
int DEFAULT_WINDOW = 0;
// 道路事件预警
int ALERT_ROAD_WARNING = 1_000;
// 他车求助预警

View File

@@ -1,27 +0,0 @@
package com.mogo.module.common.entity;
/**
* author : donghongyu
* e-mail : 1358506549@qq.com
* date : 2020/3/31 4:53 PM
* desc : V2X 道路提醒类型
* version: 1.0
*/
public interface V2XWindowTypeEnum {
// 默认展示详情
int DEFAULT_WINDOW = 0;
// 直播
int LIVE_CAR_WINDOW = 1;
// 道路事件详情
int ROAD_EVENT_WINDOW = 2;
// 推送事件详情
int PUSH_EVENT_WINDOW = 3;
// 演示动画场景
int ANIMATION_WINDOW = 4;
// 疲劳驾驶
int FATIGUE_DRIVING_WINDOW = 5;
// 他人故障求助
int SEEK_HELP_WINDOW = 6;
// 违章停车
int ILLEGAL_PARK_WINDOW = 7;
}

View File

@@ -6,8 +6,12 @@ import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.mogo.module.common.entity.V2XHistoryScenarioData;
import com.mogo.module.common.entity.V2XWindowTypeEnum;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.v2x.adapter.holder.ScenarioHistoryFatigueDrivingVH;
import com.mogo.module.v2x.adapter.holder.ScenarioHistoryIllegalParkVH;
import com.mogo.module.v2x.adapter.holder.ScenarioHistoryOtherSeekHelpVH;
import com.mogo.module.v2x.adapter.holder.ScenarioHistoryPushEventVH;
import com.mogo.module.v2x.adapter.holder.ScenarioHistoryRoadEventVH;
import java.util.ArrayList;
@@ -29,21 +33,55 @@ public class ScenarioHistoryAdapter extends RecyclerView.Adapter<RecyclerView.Vi
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
RecyclerView.ViewHolder holder;
switch (viewType) {
// 直播
case V2XWindowTypeEnum.LIVE_CAR_WINDOW:
//道路事件详情
case V2XMessageEntity.V2XTypeEnum.ALERT_ROAD_WARNING:
holder = new ScenarioHistoryRoadEventVH(parent);
break;
//违章停车
case V2XMessageEntity.V2XTypeEnum.ALERT_ILLEGAL_PARK_WARNING:
holder = new ScenarioHistoryIllegalParkVH(parent);
break;
//推送展示
case V2XMessageEntity.V2XTypeEnum.ALERT_PUSH_WINDOW_WARNING:
holder = new ScenarioHistoryPushEventVH(parent);
break;
//疲劳驾驶
case V2XMessageEntity.V2XTypeEnum.ALERT_FATIGUE_DRIVING:
holder = new ScenarioHistoryFatigueDrivingVH(parent);
break;
//他人故障求助
case V2XMessageEntity.V2XTypeEnum.ALERT_SEEK_WARNING:
holder = new ScenarioHistoryOtherSeekHelpVH(parent);
break;
default:
holder = new ScenarioHistoryIllegalParkVH(parent);
}
return holder;
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
if (holder instanceof ScenarioHistoryRoadEventVH) {
((ScenarioHistoryRoadEventVH) holder).initView(mV2XHistoryScenarioData.get(position));
}
if (holder instanceof ScenarioHistoryIllegalParkVH) {
((ScenarioHistoryIllegalParkVH) holder).initView(mV2XHistoryScenarioData.get(position));
}
if (holder instanceof ScenarioHistoryPushEventVH) {
((ScenarioHistoryPushEventVH) holder).initView(mV2XHistoryScenarioData.get(position));
}
if (holder instanceof ScenarioHistoryFatigueDrivingVH) {
((ScenarioHistoryFatigueDrivingVH) holder).initView(mV2XHistoryScenarioData.get(position));
}
if (holder instanceof ScenarioHistoryOtherSeekHelpVH) {
((ScenarioHistoryOtherSeekHelpVH) holder).initView(mV2XHistoryScenarioData.get(position));
}
}
@Override
public int getItemViewType(int position) {
return mV2XHistoryScenarioData.get(position).getScenarioType();
}

View File

@@ -6,7 +6,7 @@ import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.mogo.module.common.entity.V2XEventShowEntity;
import com.mogo.module.common.entity.V2XWindowTypeEnum;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.v2x.adapter.holder.V2XFatigueDrivingVH;
import com.mogo.module.v2x.adapter.holder.V2XIllegalParkVH;
import com.mogo.module.v2x.adapter.holder.V2XLiveVideoVH;
@@ -37,27 +37,27 @@ public class V2XRoadEventAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
RecyclerView.ViewHolder holder;
switch (viewType) {
// 直播
case V2XWindowTypeEnum.LIVE_CAR_WINDOW:
case V2XMessageEntity.V2XTypeEnum.ALERT_ROAD_LIVE_CAR_WARNING:
holder = new V2XLiveVideoVH(parent);
break;
//道路事件详情
case V2XWindowTypeEnum.ROAD_EVENT_WINDOW:
case V2XMessageEntity.V2XTypeEnum.ALERT_ROAD_WARNING:
holder = new V2XRoadEventVH(parent);
break;
//违章停车
case V2XWindowTypeEnum.ILLEGAL_PARK_WINDOW:
case V2XMessageEntity.V2XTypeEnum.ALERT_ILLEGAL_PARK_WARNING:
holder = new V2XIllegalParkVH(parent);
break;
//推送展示
case V2XWindowTypeEnum.PUSH_EVENT_WINDOW:
case V2XMessageEntity.V2XTypeEnum.ALERT_PUSH_WINDOW_WARNING:
holder = new V2XPushEventVH(parent);
break;
//疲劳驾驶
case V2XWindowTypeEnum.FATIGUE_DRIVING_WINDOW:
case V2XMessageEntity.V2XTypeEnum.ALERT_FATIGUE_DRIVING:
holder = new V2XFatigueDrivingVH(parent);
break;
//他人故障求助
case V2XWindowTypeEnum.SEEK_HELP_WINDOW:
case V2XMessageEntity.V2XTypeEnum.ALERT_SEEK_WARNING:
holder = new V2XOtherSeekHelpVH(parent);
break;
default:

View File

@@ -1,224 +0,0 @@
package com.mogo.module.v2x.adapter;
import android.content.Context;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.mogo.module.carchattingprovider.ICarsChattingProvider;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.entity.net.V2XSpecialCarRes.V2XMarkerEntity;
import com.mogo.module.v2x.utils.ChartingUtil;
import com.mogo.module.v2x.utils.SpanUtils;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.service.imageloader.MogoImageView;
import com.mogo.utils.logger.Logger;
import com.zhidao.carchattingprovider.ICallChatResponse;
import org.jetbrains.annotations.Nullable;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import static android.view.View.GONE;
import static android.view.View.VISIBLE;
/**
* author : fenghualong
* e-mail : 1358506549@qq.com
* date : 2020/3/11 4:05 PM
* desc : V2X 其他车辆发起的故障求助
* version: 1.0
*/
public class V2XSeekHelpAdapter extends RecyclerView.Adapter<V2XSeekHelpAdapter.MyViewHolder> {
private static final String TAG = V2XSeekHelpAdapter.class.getSimpleName();
private List<V2XMarkerEntity> itemList;
private LayoutInflater mInflater;
public V2XSeekHelpAdapter(Context context) {
itemList = new ArrayList<>();
mInflater = LayoutInflater.from(context);
}
public void addDataList(List<V2XMarkerEntity> list) {
if (itemList == null) {
itemList = new ArrayList<>();
}
itemList.addAll(list);
}
public void addData(V2XMarkerEntity entity) {
if (itemList == null) {
itemList = new ArrayList<>();
}
itemList.add(entity);
}
public void removeData(V2XMarkerEntity entity) {
if (itemList != null) {
itemList.remove(entity);
}
}
public void removeData(int position) {
if (isPositionValid(position)) {
itemList.remove(position);
}
}
public void clearData() {
if (itemList != null) {
itemList.clear();
}
}
public boolean isPositionValid(int position) {
return position > -1 && itemList != null && itemList.size() > position;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = mInflater.inflate(R.layout.item_v2x_fault_help, parent, false);
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
if (isPositionValid(position)) {
V2XMarkerEntity entity = itemList.get(position);
if (entity != null) {
V2XMarkerEntity.UserInfoBean infoBean = entity.getUserInfo();
if (infoBean != null) {
long time = entity.getCreateTime();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm", Locale.CHINA);
String eventDistance = String.format("%d", entity.getDistance());
String eventTime = String.format("%s发布求助信息", sdf.format(new Date(time)));
holder.initView(infoBean.getHeadImgUrl(), infoBean.getDisplayName(), eventDistance, eventTime);
}
}
Log.d(TAG, "onBindViewHolder position=$position, entity= " + entity);
setCallData(holder.ivCall, entity);
//setCallDataWait(holder.ivCall, entity);
holder.ivNavi.setOnClickListener(v -> {
if (mListener != null && !V2XUtils.isFastClick()) {
mListener.onViewNaviClick(entity.getLat(), entity.getLon());
}
});
}
}
private void setCallData(ImageView ivCall, V2XMarkerEntity entity) {
ICarsChattingProvider provider = V2XServiceManager.getCarsChattingProvider();
// 判断是否可以打电话
ChartingUtil.isCanCall(b -> {
if (b) {
// 判断是否可以打电话
ChartingUtil.isOnLine(entity.getSn(), b1 -> {
if (b1) {
ivCall.setVisibility(VISIBLE);
} else {
ivCall.setVisibility(GONE);
}
});
} else {
ivCall.setVisibility(GONE);
}
});
ivCall.setOnClickListener(v -> {
if (!V2XUtils.isFastClick()) {
provider.isOnLine(V2XConst.MODULE_NAME, ivCall.getContext(), entity.getSn(), new ICallChatResponse() {
@Override
public void isOnLine(boolean isOnline, @Nullable String s) {
provider.canCall(V2XConst.MODULE_NAME, ivCall.getContext(), new ICallChatResponse() {
@Override
public void canCall(boolean canCall) {
Logger.d(TAG, "调用车聊聊,查询状态! SN=" + entity.getSn() + " is online: " + isOnline + " canCall: " + canCall + ", thread: " + Thread.currentThread().getName());
V2XUtils.runOnUiThread(() -> {
if (mListener != null && isOnline && canCall) {
mListener.onViewChatClick(entity);
}
});
}
});
}
}
);
}
});
}
@Override
public int getItemCount() {
return itemList != null ? itemList.size() : 0;
}
static class MyViewHolder extends RecyclerView.ViewHolder {
MogoImageView ivHead;
TextView tvName;
TextView tvDistance;
TextView tvEventTime;
ImageView ivCall;
ImageView ivNavi;
MyViewHolder(@NonNull View itemView) {
super(itemView);
ivHead = itemView.findViewById(R.id.ivFaultHelpHead);
tvName = itemView.findViewById(R.id.tvFaultHelpName);
tvDistance = itemView.findViewById(R.id.tvFaultHelpDistance);
tvEventTime = itemView.findViewById(R.id.tvFaultHelpEventTime);
ivCall = itemView.findViewById(R.id.ivFaultHelpEventCall);
ivNavi = itemView.findViewById(R.id.ivFaultHelpEventNavi);
}
void initView(String headUrl, String name, String distance, String eventTime) {
if (!TextUtils.isEmpty(headUrl)) {
V2XServiceManager.getImageLoader()
.displayImage(headUrl, ivHead);
}
tvName.setText(name);
tvDistance.setText(distance);
SpanUtils.with(tvDistance)
.append("" + distance)
.setFontSize((int) tvDistance.getResources().getDimension(R.dimen.dp_80))
.append("M")
.setFontSize((int) tvDistance.getResources().getDimension(R.dimen.dp_30))
.create();
tvEventTime.setText(eventTime);
}
}
private OnViewClickListener mListener;
public void setOnViewClickListener(OnViewClickListener listener) {
mListener = listener;
}
public interface OnViewClickListener {
/**
* 点击事件,打电话给车聊聊
*
* @param entity
*/
void onViewChatClick(V2XMarkerEntity entity);
/**
* 点击事件,导航去故障车位置
*/
void onViewNaviClick(double lat, double lng);
}
}

View File

@@ -0,0 +1,29 @@
package com.mogo.module.v2x.adapter.holder;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import com.mogo.module.common.entity.V2XHistoryScenarioData;
import com.mogo.module.v2x.R;
/**
* @author donghongyu
*/
public class ScenarioHistoryFatigueDrivingVH extends V2XBaseViewHolder<V2XHistoryScenarioData> {
public ScenarioHistoryFatigueDrivingVH(@NonNull ViewGroup viewGroup) {
super(LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.item_v2x_fatigue_driving, viewGroup, false));
}
@Override
public void initView(V2XHistoryScenarioData viewData) {
}
@Override
public void delayedCloseWindow() {
}
}

View File

@@ -14,7 +14,7 @@ import com.mogo.module.v2x.R;
public class ScenarioHistoryIllegalParkVH extends V2XBaseViewHolder<V2XHistoryScenarioData> {
public ScenarioHistoryIllegalParkVH(@NonNull ViewGroup viewGroup) {
super(LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.module_v2x_event_share_item, viewGroup, false));
.inflate(R.layout.item_v2x_illegal_parking, viewGroup, false));
}
@Override

View File

@@ -0,0 +1,29 @@
package com.mogo.module.v2x.adapter.holder;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import com.mogo.module.common.entity.V2XHistoryScenarioData;
import com.mogo.module.v2x.R;
/**
* @author donghongyu
*/
public class ScenarioHistoryOtherSeekHelpVH extends V2XBaseViewHolder<V2XHistoryScenarioData> {
public ScenarioHistoryOtherSeekHelpVH(@NonNull ViewGroup viewGroup) {
super(LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.item_v2x_fault_help, viewGroup, false));
}
@Override
public void initView(V2XHistoryScenarioData viewData) {
}
@Override
public void delayedCloseWindow() {
}
}

View File

@@ -0,0 +1,29 @@
package com.mogo.module.v2x.adapter.holder;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import com.mogo.module.common.entity.V2XHistoryScenarioData;
import com.mogo.module.v2x.R;
/**
* @author donghongyu
*/
public class ScenarioHistoryPushEventVH extends V2XBaseViewHolder<V2XHistoryScenarioData> {
public ScenarioHistoryPushEventVH(@NonNull ViewGroup viewGroup) {
super(LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.item_v2x_push_event_detail, viewGroup, false));
}
@Override
public void initView(V2XHistoryScenarioData viewData) {
}
@Override
public void delayedCloseWindow() {
}
}

View File

@@ -0,0 +1,29 @@
package com.mogo.module.v2x.adapter.holder;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import com.mogo.module.common.entity.V2XHistoryScenarioData;
import com.mogo.module.v2x.R;
/**
* @author donghongyu
*/
public class ScenarioHistoryRoadEventVH extends V2XBaseViewHolder<V2XHistoryScenarioData> {
public ScenarioHistoryRoadEventVH(@NonNull ViewGroup viewGroup) {
super(LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.item_v2x_event_detail, viewGroup, false));
}
@Override
public void initView(V2XHistoryScenarioData viewData) {
}
@Override
public void delayedCloseWindow() {
}
}

View File

@@ -98,9 +98,9 @@ public class V2XFatigueDrivingVH extends V2XBaseViewHolder<V2XEventShowEntity> {
SpanUtils.with(mTvAddressDistance)
.append("" + (int) mV2XPushMessageEntity.getDistance())
.setFontSize((int) itemView.getResources().getDimension(R.dimen.dp_80))
.append("M")
.setFontSize((int) itemView.getResources().getDimension(R.dimen.dp_30))
.setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_text))
.append("m")
.setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_title))
.create();
}

View File

@@ -16,7 +16,6 @@ import com.mogo.module.common.entity.V2XEventShowEntity;
import com.mogo.module.common.entity.V2XPushMessageEntity;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.scenario.scene.fatigue.V2XFatigueDrivingScenario;
import com.mogo.module.v2x.scenario.scene.seek.V2XSeekHelpScenario;
import com.mogo.module.v2x.utils.ChartingUtil;
import com.mogo.module.v2x.utils.SpanUtils;
@@ -171,9 +170,9 @@ public class V2XOtherSeekHelpVH extends V2XBaseViewHolder<V2XEventShowEntity> {
tvName.setText(mV2XPushMessageEntity.getDisplayName());
SpanUtils.with(tvDistance)
.append("" + (int) mV2XPushMessageEntity.getDistance())
.setFontSize((int) tvDistance.getResources().getDimension(R.dimen.dp_80))
.append("M")
.setFontSize((int) tvDistance.getResources().getDimension(R.dimen.dp_30))
.setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_text))
.append("m")
.setFontSize((int) itemView.getResources().getDimension(R.dimen.module_v2x_event_distance_title))
.create();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm", Locale.CHINA);
String eventTime = String.format("%s发布求助信息",

View File

@@ -15,7 +15,6 @@ import com.mogo.module.common.entity.V2XEventShowEntity;
import com.mogo.module.common.entity.V2XLiveCarInfoEntity;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.common.entity.V2XRoadEventEntity;
import com.mogo.module.common.entity.V2XWindowTypeEnum;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.entity.net.V2XUserInfoRes;
@@ -257,7 +256,7 @@ public class V2XRoadEventVH extends V2XBaseViewHolder<V2XEventShowEntity> {
List<V2XEventShowEntity> eventShowEntityArrayList = new ArrayList<>();
for (V2XLiveCarInfoEntity v2XLiveCarInfoRes : v2XEventShowEntity.getV2XLiveCarList()) {
V2XEventShowEntity showEntity = new V2XEventShowEntity();
showEntity.setViewType(V2XWindowTypeEnum.LIVE_CAR_WINDOW);
showEntity.setViewType(V2XMessageEntity.V2XTypeEnum.ALERT_ROAD_LIVE_CAR_WARNING);
showEntity.setV2XLiveCarInfoRes(v2XLiveCarInfoRes);
showEntity.setV2XRoadEventEntity(mV2XRoadEventEntity);
eventShowEntityArrayList.add(showEntity);

View File

@@ -14,6 +14,7 @@ import com.mogo.module.v2x.adapter.ScenarioHistoryAdapter;
import com.mogo.module.v2x.presenter.ScenarioHistoryPresenter;
import com.mogo.module.v2x.utils.V2XSQLiteUtils;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.utils.GsonUtil;
import java.util.ArrayList;
import java.util.List;
@@ -49,7 +50,7 @@ public class ScenarioHistoryFragment
mRecyclerView.setLayoutManager(layoutManager);
List<V2XHistoryScenarioData> v2XHistoryScenarioData = V2XSQLiteUtils.getScenarioHistoryData();
Logger.d("ScenarioHistoryFragment", "查询到历史消息:" + v2XHistoryScenarioData);
Logger.d("ScenarioHistoryFragment", "查询到历史消息:" + GsonUtil.jsonFromObject(v2XHistoryScenarioData));
mV2XHistoryScenarioData.clear();
mV2XHistoryScenarioData.addAll(v2XHistoryScenarioData);
mScenarioHistoryAdapter.notifyDataSetChanged();

View File

@@ -13,8 +13,8 @@ import androidx.recyclerview.widget.PagerSnapHelper;
import androidx.recyclerview.widget.RecyclerView;
import com.mogo.module.common.entity.V2XEventShowEntity;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.common.entity.V2XPushMessageEntity;
import com.mogo.module.common.entity.V2XWindowTypeEnum;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.adapter.V2XRoadEventAdapter;
@@ -106,7 +106,7 @@ public class V2XFatigueDrivingWindow extends RelativeLayout
//Logger.d(MODULE_NAME, "V2X===推送消息:" + v2XRoadEventEntity);
V2XEventShowEntity v2XEventShowEntity = new V2XEventShowEntity();
v2XEventShowEntity.setV2XPushMessageEntity(mV2XPushMessageEntity);
v2XEventShowEntity.setViewType(V2XWindowTypeEnum.FATIGUE_DRIVING_WINDOW);
v2XEventShowEntity.setViewType(V2XMessageEntity.V2XTypeEnum.ALERT_FATIGUE_DRIVING);
mItemList.add(v2XEventShowEntity);
// 刷新列表
mV2XRoadEventAdapter.notifyDataSetChanged();

View File

@@ -15,7 +15,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.mogo.module.common.entity.MarkerExploreWay;
import com.mogo.module.common.entity.V2XEventShowEntity;
import com.mogo.module.common.entity.V2XWindowTypeEnum;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.V2XServiceManager;
@@ -112,7 +112,7 @@ public class V2XIllegalParkWindow extends RelativeLayout implements IV2XWindow<M
//Logger.d(MODULE_NAME, "V2X===推送消息:" + v2XRoadEventEntity);
V2XEventShowEntity v2XEventShowEntity = new V2XEventShowEntity();
v2XEventShowEntity.setV2XIllegalPark(mExploreWay);
v2XEventShowEntity.setViewType(V2XWindowTypeEnum.ILLEGAL_PARK_WINDOW);
v2XEventShowEntity.setViewType(V2XMessageEntity.V2XTypeEnum.ALERT_ILLEGAL_PARK_WARNING);
mItemList.add(v2XEventShowEntity);
}
// 刷新列表

View File

@@ -14,8 +14,8 @@ import androidx.recyclerview.widget.PagerSnapHelper;
import androidx.recyclerview.widget.RecyclerView;
import com.mogo.module.common.entity.V2XEventShowEntity;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.common.entity.V2XPushMessageEntity;
import com.mogo.module.common.entity.V2XWindowTypeEnum;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.adapter.V2XRoadEventAdapter;
@@ -114,7 +114,7 @@ public class V2XPushEventWindow extends RelativeLayout implements IV2XWindow<V2X
//Logger.d(MODULE_NAME, "V2X===推送消息:" + v2XRoadEventEntity);
V2XEventShowEntity v2XEventShowEntity = new V2XEventShowEntity();
v2XEventShowEntity.setV2XPushMessageEntity(v2XRoadEventEntity);
v2XEventShowEntity.setViewType(V2XWindowTypeEnum.PUSH_EVENT_WINDOW);
v2XEventShowEntity.setViewType(V2XMessageEntity.V2XTypeEnum.ALERT_PUSH_WINDOW_WARNING);
mItemList.add(v2XEventShowEntity);
}
// 刷新列表

View File

@@ -12,6 +12,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.PagerSnapHelper;
import androidx.recyclerview.widget.RecyclerView;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.adapter.V2XRoadEventAdapter;
@@ -19,7 +20,6 @@ import com.mogo.module.common.entity.V2XEventShowEntity;
import com.mogo.module.v2x.entity.net.V2XLiveCarRes;
import com.mogo.module.common.entity.V2XPoiTypeEnum;
import com.mogo.module.common.entity.V2XRoadEventEntity;
import com.mogo.module.common.entity.V2XWindowTypeEnum;
import com.mogo.module.v2x.listener.V2XWindowStatusListener;
import com.mogo.module.v2x.network.V2XRefreshCallback;
import com.mogo.module.v2x.scenario.view.IV2XWindow;
@@ -168,7 +168,7 @@ public class V2XRoadEventWindow extends RelativeLayout
// 展示道路事件本身详情
if (mItemList.isEmpty()) {
V2XEventShowEntity v2XEventShowEntity = new V2XEventShowEntity();
v2XEventShowEntity.setViewType(V2XWindowTypeEnum.ROAD_EVENT_WINDOW);
v2XEventShowEntity.setViewType(V2XMessageEntity.V2XTypeEnum.ALERT_ROAD_WARNING);
v2XEventShowEntity.setV2XRoadEventEntity(v2XRoadEventEntity);
mItemList.add(v2XEventShowEntity);
}

View File

@@ -13,8 +13,8 @@ import androidx.recyclerview.widget.PagerSnapHelper;
import androidx.recyclerview.widget.RecyclerView;
import com.mogo.module.common.entity.V2XEventShowEntity;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.common.entity.V2XPushMessageEntity;
import com.mogo.module.common.entity.V2XWindowTypeEnum;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.adapter.V2XRoadEventAdapter;
@@ -117,7 +117,7 @@ public class V2XSeekHelpWindow extends ConstraintLayout implements IV2XWindow<Li
//Logger.d(MODULE_NAME, "V2X===推送消息:" + v2XRoadEventEntity);
V2XEventShowEntity v2XEventShowEntity = new V2XEventShowEntity();
v2XEventShowEntity.setV2XPushMessageEntity(mV2XPushMessageEntity);
v2XEventShowEntity.setViewType(V2XWindowTypeEnum.SEEK_HELP_WINDOW);
v2XEventShowEntity.setViewType(V2XMessageEntity.V2XTypeEnum.ALERT_SEEK_WARNING);
mItemList.add(v2XEventShowEntity);
// 刷新列表
mV2XRoadEventAdapter.notifyDataSetChanged();

View File

@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="@dimen/dp_20" />
<corners android:radius="@dimen/dp_40" />
<gradient
android:angle="135"
android:startColor="#ff2a2b38"
android:endColor="#ff3f4057"
android:endColor="#3F4057"
android:startColor="#5E6079"
android:type="linear"
android:useLevel="true" />
</shape>

View File

@@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#3F4057"
android:background="@drawable/v2x_alert_window_bg"
android:paddingStart="@dimen/dp_15"
android:paddingTop="@dimen/dp_15"
android:paddingBottom="@dimen/dp_15"
@@ -14,7 +14,7 @@
android:id="@+id/rlRoadEventImg"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#3F4057"
android:background="#5E6079"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
@@ -24,7 +24,7 @@
android:id="@+id/ivEventImg"
android:layout_width="@dimen/module_v2x_event_image_width"
android:layout_height="@dimen/module_v2x_event_image_height"
android:background="#FF484C61"
android:background="#5E6079"
android:scaleType="center"
app:miv_failureHolder="@drawable/icon_default_black_logo"
app:miv_overlayImageId="@drawable/icon_default_black_logo"

View File

@@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#3D4053"
android:background="@drawable/v2x_alert_window_bg"
android:gravity="center"
app:roundLayoutRadius="@dimen/dp_40"
tools:layout_height="@dimen/dp_382">

View File

@@ -5,7 +5,7 @@
android:id="@+id/rlContent"
android:layout_width="match_parent"
android:layout_height="@dimen/module_v2x_fatigue_driving_window_height_ground"
android:background="@color/live_video_background_color"
android:background="@drawable/v2x_alert_window_bg"
android:paddingStart="@dimen/dp_40"
android:paddingEnd="@dimen/dp_40"
app:roundLayoutRadius="@dimen/dp_40">

View File

@@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="@dimen/module_v2x_fatigue_driving_window_height_ground"
android:background="@drawable/v2x_fault_help_bg"
android:background="@drawable/v2x_alert_window_bg"
android:paddingStart="@dimen/dp_40"
android:paddingEnd="@dimen/dp_40"
app:roundLayoutRadius="@dimen/dp_40">

View File

@@ -5,7 +5,7 @@
android:id="@+id/rlContent"
android:layout_width="match_parent"
android:layout_height="@dimen/module_v2x_fatigue_driving_window_height_ground"
android:background="@color/live_video_background_color"
android:background="@drawable/v2x_alert_window_bg"
android:paddingStart="@dimen/dp_40"
android:paddingEnd="@dimen/dp_40"
app:roundLayoutRadius="@dimen/dp_40">

View File

@@ -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"
>
<com.mogo.module.v2x.view.V2XLiveGSYVideoView
android:id="@+id/videoPlayer"

View File

@@ -8,7 +8,7 @@
android:id="@+id/rlRoadEventList"
android:layout_width="match_parent"
android:layout_height="@dimen/module_v2x_push_img_height"
android:background="#161617"
android:background="@drawable/v2x_alert_window_bg"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"

View File

@@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="@dimen/module_v2x_event_window_height"
android:background="@color/live_video_background_color"
android:background="@drawable/v2x_alert_window_bg"
app:roundLayoutRadius="@dimen/dp_40">
<com.tencent.rtmp.ui.TXCloudVideoView

View File

@@ -17,4 +17,7 @@
<dimen name="module_v2x_event_image_height">270px</dimen>
<dimen name="module_v2x_event_image_width">480px</dimen>
<dimen name="module_v2x_event_distance_text">60px</dimen>
<dimen name="module_v2x_event_distance_title">40px</dimen>
</resources>

View File

@@ -17,4 +17,8 @@
<dimen name="module_v2x_event_image_height">320px</dimen>
<dimen name="module_v2x_event_image_width">480px</dimen>
<dimen name="module_v2x_event_distance_text">60px</dimen>
<dimen name="module_v2x_event_distance_title">40px</dimen>
</resources>

View File

@@ -19,4 +19,9 @@
<dimen name="module_v2x_event_image_height">175px</dimen>
<dimen name="module_v2x_event_image_width">262px</dimen>
<dimen name="module_v2x_event_distance_text">34px</dimen>
<dimen name="module_v2x_event_distance_title">22px</dimen>
</resources>