diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XEventUgcVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XEventUgcVH.java index bd22b0638c..7c86e3d820 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XEventUgcVH.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XEventUgcVH.java @@ -1,11 +1,19 @@ package com.mogo.module.v2x.adapter.holder; import android.view.LayoutInflater; +import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; +import com.mogo.commons.voice.AIAssist; +import com.mogo.module.common.entity.MarkerExploreWay; import com.mogo.module.common.entity.V2XEventShowEntity; +import com.mogo.module.common.entity.V2XRoadEventEntity; import com.mogo.module.v2x.R; import com.mogo.module.v2x.scenario.scene.fatigue.V2XFatigueDrivingScenario; +import com.mogo.module.v2x.utils.EventTypeUtils; +import com.mogo.module.v2x.utils.V2XUtils; /** * e-mail : 1358506549@qq.com @@ -13,19 +21,72 @@ import com.mogo.module.v2x.scenario.scene.fatigue.V2XFatigueDrivingScenario; * desc : 道路事件UGC * 需求地址 * http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=42321443 + * * @author donghongyu */ public class V2XEventUgcVH extends V2XBaseViewHolder { + private ImageView ivEventTypeIcon; + private TextView tvEventUgcTitle; + private ImageView ivEventReportTrue; + private ImageView ivEventReportErr; + + // 当前的新鲜事儿信息 + private MarkerExploreWay mNoveltyInfo; + private V2XRoadEventEntity mV2XRoadEventEntity; + private V2XEventShowEntity mV2XEventShowEntity; + public V2XEventUgcVH(ViewGroup viewGroup) { super(LayoutInflater.from(viewGroup.getContext()) .inflate(R.layout.item_v2x_event_ugc, viewGroup, false)); - + ivEventTypeIcon = itemView.findViewById(R.id.ivEventTypeIcon); + tvEventUgcTitle = itemView.findViewById(R.id.tvEventUgcTitle); + ivEventReportTrue = itemView.findViewById(R.id.ivEventReportTrue); + ivEventReportErr = itemView.findViewById(R.id.ivEventReportErr); } @Override public void initView(V2XEventShowEntity v2XEventShowEntity) { + try { + if (v2XEventShowEntity == null) { + return; + } + mV2XEventShowEntity = v2XEventShowEntity; + mV2XRoadEventEntity = v2XEventShowEntity.getV2XRoadEventEntity(); + if (mV2XRoadEventEntity == null) { + return; + } + mNoveltyInfo = mV2XRoadEventEntity.getNoveltyInfo(); + + if (mNoveltyInfo != null) { + + Object[] ugcTitleStr = EventTypeUtils.getUgcTitleStr(mNoveltyInfo.getPoiType()); + + if (ugcTitleStr != null) { + tvEventUgcTitle.setText(((String) ugcTitleStr[0]).replace("####", mNoveltyInfo.getAddr())); + AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice((String) ugcTitleStr[1], null); + ivEventTypeIcon.setImageResource((Integer) ugcTitleStr[2]); + } + + + ivEventReportTrue.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + ivEventReportErr.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + } + + } catch (Exception e) { + e.printStackTrace(); + } } /** diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java index 604d7ccc75..84121b7b8a 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java @@ -78,7 +78,6 @@ public class V2XRoadEventVH extends V2XBaseViewHolder { private MarkerExploreWay mNoveltyInfo; private V2XRoadEventEntity mV2XRoadEventEntity; private V2XEventShowEntity mV2XEventShowEntity; - private V2XRoadVideoCarScenario mV2XRoadVideoCarScenario; // 拨打车聊聊语音回调 private V2XVoiceCallbackListener v2XVoiceCallbackCallListener = new V2XVoiceCallbackListener() { 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 8efd454b4c..7a5869ade5 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 @@ -154,4 +154,10 @@ public interface V2XApiService { @FormUrlEncoded @POST("/deva/poiInfoFabulous/car/poi/no/RespondingToHelp/v1") Observable respondingToHelp(@FieldMap Map params); + /** + * 响应求助 + */ + @FormUrlEncoded + @POST("/deva/car/poi/no/manualMarkingTrafficJam") + Observable manualMarkingTrafficJam(@FieldMap Map params); } 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..879353b4a7 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 @@ -132,4 +132,44 @@ public class EventTypeUtils { } return isRoadEvent; } + + /** + * 获取 UGC 问答使用的 Title 和 TTS 以及展示图表 + * + * @param poiType 事件类型 + * @return UGC 文案 + */ + public static Object[] getUgcTitleStr(String poiType) { + Object[] str = new Object[3]; + switch (poiType) { + // 封路 + case V2XPoiTypeEnum.ROAD_CLOSED: + str[0] = "你刚经过 #### 封路吗?"; + str[1] = "你刚路过的路段封路吗?您可以直接对我说封路、或者不封路。"; + str[2] = R.drawable.v_to_x_event_ugc_fenglu; + break; + // 施工 + case V2XPoiTypeEnum.FOURS_ROAD_WORK: + str[0] = "你刚经过 #### 有道路施工吗?"; + str[1] = "你刚路过的路段道路施工吗?您可以直接对我说有施工、或者没有施工。"; + str[2] = R.drawable.v_to_x_event_ugc_shigong; + break; + // 拥堵 + case V2XPoiTypeEnum.FOURS_BLOCK_UP: + str[0] = "你刚路过 #### 堵不堵?"; + str[1] = "你刚路过的路段堵不堵?您可以直接对我说拥赌、或者不堵。"; + str[2] = R.drawable.v_to_x_event_ugc_yongdu; + break; + // 事故 + case V2XPoiTypeEnum.FOURS_ACCIDENT: + str[0] = "你刚经过 #### 有事故发生吗?"; + str[1] = "你刚路过的路段有交通事故吗?您可以直接对我说有事故、或者没有事故。"; + str[2] = R.drawable.v_to_x_event_ugc_shigu; + break; + default: + return null; + } + return str; + } + } diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_ugc.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_ugc.xml index e1bf37c9c2..6a257089b0 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_ugc.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_event_ugc.xml @@ -8,7 +8,7 @@ android:paddingEnd="@dimen/dp_62"> diff --git a/modules/mogo-module-v2x/src/main/res/raw/scenario_road_event_data.json b/modules/mogo-module-v2x/src/main/res/raw/scenario_road_event_data.json index f275b10762..92470209e1 100644 --- a/modules/mogo-module-v2x/src/main/res/raw/scenario_road_event_data.json +++ b/modules/mogo-module-v2x/src/main/res/raw/scenario_road_event_data.json @@ -3,13 +3,13 @@ "expireTime":20000, "isShowEventButton":false, "location":{ - "address":"北五环(测试位置不准确)", + "address":"北三环环球贸易中心", "angle":270, "lat":39.966668, "lon":116.411211 }, "noveltyInfo":{ - "addr":"北五环(测试位置不准确)", + "addr":"北三环环球贸易中心", "canLive":false, "cityName":"", "direction":0, @@ -25,12 +25,12 @@ } ], "location":{ - "address":"北五环(测试位置不准确)", + "address":"北三环环球贸易中心", "angle":270, "lat":39.966668, "lon":116.411211 }, - "poiType":"10002", + "poiType":"10006", "type":"CARD_TYPE_ROAD_CONDITION", "uploadType":"2", "userInfo":{ @@ -41,5 +41,5 @@ "userName":"零下的雨" } }, - "poiType":"10002" + "poiType":"10006" } \ No newline at end of file