Merge branch 'lk' into dev_MogoAP_eagle-1030_211020_8.0.14

This commit is contained in:
liujing
2021-11-15 17:52:29 +08:00
9 changed files with 212 additions and 122 deletions

View File

@@ -89,7 +89,7 @@ public class NoticeBannerView extends ConstraintLayout {
noticeBannerCheck.setOnClickListener(v -> {
mNoticeTrafficDialog = new NoticeTrafficDialog(mContext, mPushData);
mNoticeTrafficDialog.show();
WarningFloat.dismiss(WaringConst.MODULE_NAME);
// WarningFloat.dismiss(WaringConst.MODULE_NAME);
});
}

View File

@@ -55,7 +55,7 @@ public class NoticeTrafficDialog extends BaseFloatDialog {
private TextView connect;//连接
private NoticeTrafficAdapter adapter;
private ArrayList dataArrayList = new ArrayList();
private NoticeTrafficStyleInfo mTrafficStyleInfo;
private NoticeTrafficStyleInfo.NoticeTrafficAccountInfo mTrafficStyleInfo;
public NoticeTrafficDialog(@NonNull Context context, NoticeTrafficStylePushData pushData) {
super(context);
@@ -156,7 +156,11 @@ public class NoticeTrafficDialog extends BaseFloatDialog {
private void feedBackTraffic(int i) {
CallerNoticeManager.getNoticeProvider().feedBackNoticeTraffic(mPushData.getInfoId(), MoGoAiCloudClientConfig.getInstance().getSn(), i);
if (i == 1) {
startAutoPilot();
try {
startAutoPilot();
} catch (Exception e) {
e.printStackTrace();
}
}
dismiss();
}
@@ -364,21 +368,19 @@ public class NoticeTrafficDialog extends BaseFloatDialog {
@Override
public void callBackWithResult(NoticeTrafficStyleInfo trafficInfo) {
Log.d(TAG, "交通事故详情::" + trafficInfo);
trafficInfo.setOperaStatus("已处理");
trafficInfo.setTroubleReasonName("逆向");
mTrafficStyleInfo = trafficInfo;
infoRefresh(trafficInfo);
mTrafficStyleInfo = trafficInfo.getResult().getAccidentInfo();
infoRefresh(mTrafficStyleInfo);
}
});
}
private void infoRefresh(NoticeTrafficStyleInfo info) {
private void infoRefresh(NoticeTrafficStyleInfo.NoticeTrafficAccountInfo info) {
if (dataArrayList.size() > 0) {
dataArrayList.clear();
}
NoticeValue laiYuan = new NoticeValue();
laiYuan.setKey("事故来源:");
laiYuan.setValue("--");
laiYuan.setValue(info.getUploadType());
dataArrayList.add(laiYuan);
NoticeValue zeRen = new NoticeValue();
@@ -403,12 +405,16 @@ public class NoticeTrafficDialog extends BaseFloatDialog {
NoticeValue reason = new NoticeValue();
reason.setKey("事故原因:");
reason.setValue(info.getTroubleReasonName());
reason.setValue(info.getReason());
dataArrayList.add(reason);
NoticeValue status = new NoticeValue();
status.setKey("处理状态:");
status.setValue(info.getOperaStatus());
if (info.getOperaStatus() == "0"){
status.setValue("待处理");
}else {
status.setValue("已处理");
}
dataArrayList.add(status);
NoticeValue location = new NoticeValue();
@@ -417,7 +423,7 @@ public class NoticeTrafficDialog extends BaseFloatDialog {
dataArrayList.add(location);
NoticeValue style = new NoticeValue();
style.setKey("事故类型");
style.setKey("事故等级");
style.setValue(info.getTroubleTypeName());
dataArrayList.add(style);

View File

@@ -46,8 +46,8 @@
android:id="@+id/thumbnail_image"
android:layout_width="0dp"
android:layout_height="0dp"
android:src="@drawable/notice_traffic_placeholder"
android:scaleType="fitXY"
android:src="@drawable/notice_traffic_placeholder"
app:layout_constraintBottom_toBottomOf="@id/video_player"
app:layout_constraintEnd_toEndOf="@id/video_player"
app:layout_constraintStart_toStartOf="@id/video_player"
@@ -84,7 +84,7 @@
android:id="@+id/traffic_info_recyclerView"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginLeft="@dimen/dp_80"
android:layout_marginLeft="@dimen/dp_70"
android:layout_marginTop="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_80"
android:layout_marginBottom="@dimen/dp_40"

View File

@@ -24,7 +24,9 @@
<dimen name="dp_54">54px</dimen>
<dimen name="dp_56">56px</dimen>
<dimen name="dp_62">62px</dimen>
<dimen name="dp_70">70px</dimen>
<dimen name="dp_75">80px</dimen>
<dimen name="dp_80">80px</dimen>
<dimen name="dp_140">140px</dimen>
<dimen name="dp_150">150px</dimen>
<dimen name="dp_180">180px</dimen>

View File

@@ -7,9 +7,12 @@ import com.mogo.eagle.core.data.notice.NoticeTrafficStyleInfo;
import java.util.Map;
import io.reactivex.Observable;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Headers;
import retrofit2.http.POST;
import retrofit2.http.QueryMap;
@@ -22,12 +25,12 @@ public interface NoticeApiService {
/**
* 获取道路事故详情
*
* @param accidentParameters 请求数据(sn;infoId)
* @return {@link BaseData}
* @param requestBody 请求体(infoId 交警任务id)
* @return {@link NoticeTrafficStyleInfo}
*/
@FormUrlEncoded
@Headers("Content-Type:application/json;charset=UTF-8")
@POST("/deva/accidentInfoManage/queryMyAccidentHandleInfo/server/v1")
Observable<NoticeTrafficStyleInfo> getAccidentInfo(@FieldMap Map<String, String> accidentParameters);
Observable<NoticeTrafficStyleInfo> getAccidentInfo(@Body RequestBody requestBody);
/**

View File

@@ -1,18 +1,24 @@
package com.mogo.eagle.core.function.notice.network;
import android.content.Context;
import android.util.ArrayMap;
import android.util.Log;
import com.google.gson.Gson;
import com.mogo.cloud.network.NetConstants;
import com.mogo.cloud.network.RetrofitFactory;
import com.mogo.cloud.passport.MoGoAiCloudClient;
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.commons.network.ParamsProvider;
import com.mogo.eagle.core.data.BaseData;
import com.mogo.eagle.core.data.notice.NoticeNormalDetail;
import com.mogo.eagle.core.data.notice.NoticeTrafficStyleInfo;
import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData;
import com.mogo.eagle.core.function.api.notice.NoticeNetCallBack;
import com.mogo.module.common.drawer.PushRoadConditionDrawer;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.utils.GsonUtil;
import java.util.HashMap;
import java.util.Map;
@@ -23,6 +29,8 @@ import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import okhttp3.MediaType;
import okhttp3.RequestBody;
/**
* @author Jing
@@ -54,14 +62,14 @@ public class NoticeNetWorkManager {
* 获取事故详细信息
*
* @param infoId 事故id
* @param sn 车机sn
* @param callBack 回调
*/
public void requestAccidentInfo(String infoId, String sn, NoticeNetCallBack callBack) {
Map<String, String> map = new HashMap<>();
map.put("sn", sn);
map.put("infoId", infoId);
mNoticeApiService.getAccidentInfo(map)
public void requestAccidentInfo(String infoId, String sn,NoticeNetCallBack callBack) {
NoticeRequest request = new NoticeRequest(infoId);
RequestBody requestBody = RequestBody.create(MediaType.get("application/json;charset=UTF-8"),
GsonUtil.jsonFromObject(request));
mNoticeApiService.getAccidentInfo(requestBody)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<NoticeTrafficStyleInfo>() {
@@ -72,7 +80,8 @@ public class NoticeNetWorkManager {
@Override
public void onNext(@NonNull NoticeTrafficStyleInfo noticeTrafficStyleInfo) {
if (noticeTrafficStyleInfo != null) {
Log.d(TAG, "onNext:"+noticeTrafficStyleInfo);
if (noticeTrafficStyleInfo.getResult().getAccidentInfo() != null) {
callBack.callBackWithResult(noticeTrafficStyleInfo);
}
}
@@ -165,4 +174,5 @@ public class NoticeNetWorkManager {
}
}

View File

@@ -0,0 +1,22 @@
package com.mogo.eagle.core.function.notice.network;
/**
* @author Jing
* @description 描述
* @since: 11/15/21
*/
public class NoticeRequest {
private String infoId;
public NoticeRequest(String infoId) {
this.infoId = infoId;
}
public String getInfoId() {
return infoId;
}
public void setInfoId(String infoId) {
this.infoId = infoId;
}
}

View File

@@ -41,7 +41,7 @@ class TestNoticeBroadcastReceiver : BroadcastReceiver() {
val video: String = "https://view.2amok.com/20200219/012d8e2a55f227e90d76056bb6aab5e4.mp4"
pushData.poiImgUrl = video
pushData.type = 1
pushData.infoId = "909755160571400192"
pushData.infoId = "909754135789686784"
CallerHmiManager.showTrafficBanner(pushData)
}
}

View File

@@ -10,110 +10,157 @@ import java.io.Serializable;
* @since: 10/26/21
*/
public class NoticeTrafficStyleInfo extends BaseData {
private String infoId;//事故id
private String poiType;//事故类型
private long dataCreateTime;//事故发生时间
private long dataHandleTime;//事故处理时间
private String operaStatus;//事故处理状态
private String troubleReasonName;//事故原因
private String uploadAddress;//事故地点名称
private String troubleTypeName;//事故等级描述
private double lat;//纬度
private double lon;//经度
public NoticeTrafficStyleInfoResult result;
public String getInfoId() {
return infoId;
public NoticeTrafficStyleInfoResult getResult() {
return result;
}
public void setInfoId(String infoId) {
this.infoId = infoId;
}
public String getPoiType() {
return poiType;
}
public void setPoiType(String poiType) {
this.poiType = poiType;
}
public long getDataCreateTime() {
return dataCreateTime;
}
public void setDataCreateTime(long dataCreateTime) {
this.dataCreateTime = dataCreateTime;
}
public long getDataHandleTime() {
return dataHandleTime;
}
public void setDataHandleTime(long dataHandleTime) {
this.dataHandleTime = dataHandleTime;
}
public String getOperaStatus() {
return operaStatus;
}
public void setOperaStatus(String operaStatus) {
this.operaStatus = operaStatus;
}
public String getTroubleReasonName() {
return troubleReasonName;
}
public void setTroubleReasonName(String troubleReasonName) {
this.troubleReasonName = troubleReasonName;
}
public String getUploadAddress() {
return uploadAddress;
}
public void setUploadAddress(String uploadAddress) {
this.uploadAddress = uploadAddress;
}
public double getLat() {
return lat;
}
public void setLat(double lat) {
this.lat = lat;
}
public double getLon() {
return lon;
}
public void setLon(double lon) {
this.lon = lon;
}
public String getTroubleTypeName() {
return troubleTypeName;
}
public void setTroubleTypeName(String troubleTypeName) {
this.troubleTypeName = troubleTypeName;
public void setResult(NoticeTrafficStyleInfoResult result) {
this.result = result;
}
@Override
public String toString() {
return "NoticeTrafficStyleInfo{" +
"infoId='" + infoId + '\'' +
", poiType='" + poiType + '\'' +
", dataCreateTime=" + dataCreateTime +
", dataHandleTime=" + dataHandleTime +
", operaStatus='" + operaStatus + '\'' +
", troubleReasonName='" + troubleReasonName + '\'' +
", uploadAddress='" + uploadAddress + '\'' +
", troubleTypeName='" + troubleTypeName + '\'' +
", lat=" + lat +
", lon=" + lon +
"result=" + result +
'}';
}
public class NoticeTrafficAccountInfo implements Serializable{
private String infoId;//事故id
private String poiType;//事故类型
private long dataCreateTime;//事故发生时间
private long dataHandleTime;//事故处理时间
private String operaStatus;//事故处理状态
private String reason;//事故原因
private double lon;//经度
private double lat;//纬度
private String troubleTypeName;//事故等级描述
private String uploadType;//事故等级描述
private String uploadAddress;//事故地点名称
public String getInfoId() {
return infoId;
}
public void setInfoId(String infoId) {
this.infoId = infoId;
}
public String getPoiType() {
return poiType;
}
public void setPoiType(String poiType) {
this.poiType = poiType;
}
public long getDataCreateTime() {
return dataCreateTime;
}
public void setDataCreateTime(long dataCreateTime) {
this.dataCreateTime = dataCreateTime;
}
public long getDataHandleTime() {
return dataHandleTime;
}
public void setDataHandleTime(long dataHandleTime) {
this.dataHandleTime = dataHandleTime;
}
public String getOperaStatus() {
return operaStatus;
}
public void setOperaStatus(String operaStatus) {
this.operaStatus = operaStatus;
}
public String getReason() {
return reason;
}
public void setReason(String reason) {
this.reason = reason;
}
public String getUploadAddress() {
return uploadAddress;
}
public void setUploadAddress(String uploadAddress) {
this.uploadAddress = uploadAddress;
}
public double getLat() {
return lat;
}
public void setLat(double lat) {
this.lat = lat;
}
public double getLon() {
return lon;
}
public void setLon(double lon) {
this.lon = lon;
}
public String getTroubleTypeName() {
return troubleTypeName;
}
public void setTroubleTypeName(String troubleTypeName) {
this.troubleTypeName = troubleTypeName;
}
public String getUploadType() {
return uploadType;
}
public void setUploadType(String uploadType) {
this.uploadType = uploadType;
}
@Override
public String toString() {
return "NoticeTrafficAccountInfo{" +
"infoId='" + infoId + '\'' +
", poiType='" + poiType + '\'' +
", dataCreateTime=" + dataCreateTime +
", dataHandleTime=" + dataHandleTime +
", operaStatus='" + operaStatus + '\'' +
", reason='" + reason + '\'' +
", lon=" + lon +
", lat=" + lat +
", troubleTypeName='" + troubleTypeName + '\'' +
", uploadType='" + uploadType + '\'' +
", uploadAddress='" + uploadAddress + '\'' +
'}';
}
}
public class NoticeTrafficStyleInfoResult implements Serializable{
private NoticeTrafficAccountInfo accidentInfo;
public NoticeTrafficAccountInfo getAccidentInfo() {
return accidentInfo;
}
public void setAccidentInfo(NoticeTrafficAccountInfo accidentInfo) {
this.accidentInfo = accidentInfo;
}
@Override
public String toString() {
return "NoticeTrafficStyleInfoResult{" +
"accidentInfo=" + accidentInfo +
'}';
}
}
}