diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java index 6e680df8e7..61264c7116 100644 --- a/app/src/main/java/com/mogo/launcher/MogoApplication.java +++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java @@ -85,6 +85,7 @@ public class MogoApplication extends AbsMogoApplication { MogoModulePaths.addBaseModule( new MogoModule( ServiceConst.PATH_REFRESH_STRATEGY, ServiceConst.PATH_REFRESH_STRATEGY ) ); MogoModulePaths.addBaseModule( new MogoModule( V2XConst.PATH_V2X_UI, V2XConst.MODULE_NAME ) ); MogoModulePaths.addBaseModule( new MogoModule( MogoServicePaths.PATH_STRATEGY_SHARE, "StrategyShare" ) ); + MogoModulePaths.addBaseModule( new MogoModule( MogoServicePaths.PATH_EVENT_PANEL, "EventPanel" ) ); MogoModulePaths.addBaseModule( new MogoModule( MogoServicePaths.PATH_MOGO_MONITOR, "MogoMonitor" ) ); MogoModulePaths.addModule( new MogoModule( PushUIConstants.PATH, PushUIConstants.NAME ) ); diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/SchemeIntent.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/SchemeIntent.java index afe5deee67..92831aa0fd 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/SchemeIntent.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/SchemeIntent.java @@ -207,6 +207,7 @@ public class SchemeIntent implements IMogoStatusChangedListener { private void handleShowSharePanel() { Logger.d(TAG, "handleShowSharePanel"); // todo 跳转到热心指数 + mApis.getEventPanelManager().showPanelWithSelectedItem(2); } @Override diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XEventPanelModuleProvider.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XEventPanelModuleProvider.java index 67b2f03b53..faca717a53 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XEventPanelModuleProvider.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XEventPanelModuleProvider.java @@ -13,6 +13,7 @@ import com.mogo.map.location.IMogoLocationListener; import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.navi.IMogoNaviListener; import com.mogo.module.v2x.fragment.V2XEventPanelFragment; +import com.mogo.service.eventpanel.IEventPanelProvider; import com.mogo.service.module.IMogoModuleLifecycle; import com.mogo.service.module.IMogoModuleProvider; import com.mogo.service.module.ModuleType; @@ -29,7 +30,7 @@ import static com.mogo.module.v2x.V2XConst.MODULE_NAME; */ @Route(path = V2XConst.PATH_EVENT_PANEL) public class V2XEventPanelModuleProvider implements - IMogoModuleProvider { + IEventPanelProvider { private final String TAG = "EventPanelModuleProvider"; @Override @@ -93,4 +94,9 @@ public class V2XEventPanelModuleProvider implements public void init(Context context) { Logger.e(MODULE_NAME, "事件模版 模块初始化。。。。"); } + + @Override + public void showPanelWithSelectedItem(int item) { + V2XEventPanelFragment.Companion.getInstance().showPanelWithSelectedItem(item); + } } diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XServiceManager.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XServiceManager.java index f4723af8fb..1785533b3d 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XServiceManager.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XServiceManager.java @@ -21,6 +21,7 @@ import com.mogo.service.adas.IMogoADASController; import com.mogo.service.analytics.IMogoAnalytics; import com.mogo.service.connection.IMogoSocketManager; import com.mogo.service.entrance.IMogoEntranceButtonController; +import com.mogo.service.eventpanel.IEventPanelProvider; import com.mogo.service.imageloader.IMogoImageloader; import com.mogo.service.intent.IMogoIntentManager; import com.mogo.service.map.IMogoMapService; @@ -71,6 +72,8 @@ public class V2XServiceManager { private static IMogoMarkerService mIMogoMarkerService; private static IMogoShareManager mIMogoShareManager; private static IMogoTanluProvider mIMogoTanluProvider; + //事件面板 + private static IEventPanelProvider mIEventPanelProvider; private static IMogoActionManager mMogoActionManager; private static ICarsChattingProvider mCarsChattingProvider; @@ -92,6 +95,8 @@ public class V2XServiceManager { private static IMoGoV2XStatusManager moGoV2XStatusManager; + + public static void init(final Context context) { if (!isInit) { isInit = true; @@ -116,6 +121,8 @@ public class V2XServiceManager { mIMogoShareManager = mMogoServiceApis.getShareManager(); mIMogoTanluProvider = mMogoServiceApis.getTanluApi(); mMogoOnlineCarListPanelProvider = mMogoServiceApis.getOnlineCarPanelApi(); + //事件面板 + mIEventPanelProvider = mMogoServiceApis.getEventPanelManager(); mMarkerManager = mMapService.getMarkerManager(context); mNavi = mMapService.getNavi(context); @@ -271,4 +278,8 @@ public class V2XServiceManager { public static IMogoOnlineCarListPanelProvider getMogoOnlineCarListPanelProvider() { return mMogoOnlineCarListPanelProvider; } + + public static IEventPanelProvider getEventPanelProvider(){ + return mIEventPanelProvider; + } } 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..b94c0ea895 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,24 @@ 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.commons.voice.IMogoVoiceCmdCallBack; +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.V2XServiceManager; +import com.mogo.module.v2x.scenario.scene.ugc.V2XEventUgcScenario; +import com.mogo.module.v2x.utils.EventTypeUtils; +import com.mogo.module.v2x.utils.V2XUtils; +import com.mogo.module.v2x.voice.V2XVoiceCallbackListener; +import com.mogo.module.v2x.voice.V2XVoiceConstants; +import com.mogo.module.v2x.voice.V2XVoiceManager; /** * e-mail : 1358506549@qq.com @@ -13,19 +26,133 @@ 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 { + // 语音控制反馈 YES + private V2XVoiceCallbackListener mFeedBackYes = (command, intent) -> manualMarkingTrafficJam(); + // 语音控制反馈 NO + private V2XVoiceCallbackListener mFeedBackNo = (command, intent) -> manualMarkingTrafficJam(); + + + private ImageView ivEventTypeIcon; + private TextView tvEventUgcTitle; + private ImageView ivEventReportTrue; + private ImageView ivEventReportErr; + + // 当前的新鲜事儿信息 + private MarkerExploreWay mNoveltyInfo; + private V2XRoadEventEntity mV2XRoadEventEntity; + private V2XEventShowEntity mV2XEventShowEntity; + + + // 要反馈的道路事件信息 + private String eventId = "122";//要反馈的道路事件ID + private int status = 1;//状态,1--有用,0--没用 + private String helpId = "11221";//本车弹窗的时候分享的事件ID,如果没用后台应做删除操作 + + 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); + // 设置视图状态监听 + itemView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() { + @Override + public void onViewAttachedToWindow(View v) { + //Logger.w(MODULE_NAME, "列表View V2XPushEventDetailVH 触发 onViewAttachedToWindow"); + } + + @Override + public void onViewDetachedFromWindow(View v) { + //Logger.w(MODULE_NAME, "列表View V2XPushEventDetailVH 触发 onViewDetachedFromWindow"); + // 反注册语音交互 + V2XVoiceManager.INSTANCE + .unRegisterUnWakeVoice(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_FEEDBACK_YONG_DU_YES_UN_WAKEUP) + .unRegisterUnWakeVoice(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_FEEDBACK_YONG_DU_NO_UN_WAKEUP) + + .unRegisterUnWakeVoice(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_YES_UN_WAKEUP) + .unRegisterUnWakeVoice(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_NO_UN_WAKEUP) + + .unRegisterUnWakeVoice(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GU_YES_UN_WAKEUP) + .unRegisterUnWakeVoice(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GU_NO_UN_WAKEUP) + + .unRegisterUnWakeVoice(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GONG_YES_UN_WAKEUP) + .unRegisterUnWakeVoice(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GONG_NO_UN_WAKEUP); + } + }); } @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], new IMogoVoiceCmdCallBack() { + @Override + public void onSpeakEnd(String speakText) { + // 注册语音交互 + V2XVoiceManager.INSTANCE + .registerUnWakeVoice((String) ugcTitleStr[3], mFeedBackYes) + .registerUnWakeVoice((String) ugcTitleStr[4], mFeedBackNo); + } + }); + ivEventTypeIcon.setImageResource((Integer) ugcTitleStr[2]); + } + + + ivEventReportTrue.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + manualMarkingTrafficJam(); + } + }); + ivEventReportErr.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + manualMarkingTrafficJam(); + } + }); + } + + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 对道路事件进行反馈 + */ + void manualMarkingTrafficJam() { + AIAssist.getInstance(V2XUtils.getApp()).speakTTSVoice("已反馈", null); + V2XServiceManager + .getV2XRefreshModel() + .manualMarkingTrafficJam( + eventId, + status, + helpId); + delayedCloseWindow(); } /** @@ -33,7 +160,7 @@ public class V2XEventUgcVH extends V2XBaseViewHolder { */ @Override public void delayedCloseWindow() { - itemView.postDelayed(() -> V2XFatigueDrivingScenario.getInstance().close(), 1000); + itemView.postDelayed(() -> V2XEventUgcScenario.getInstance().close(), 1000); } } 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/fragment/V2XEventPanelFragment.kt b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt index 2f163c8247..a2b443522c 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt @@ -22,6 +22,7 @@ import com.mogo.module.v2x.view.V2XEventPanelHistoryCountView import com.mogo.module.v2x.voice.V2XVoiceCallbackListener import com.mogo.module.v2x.voice.V2XVoiceConstants import com.mogo.module.v2x.voice.V2XVoiceManager +import com.mogo.service.eventpanel.IEventPanelProvider import com.mogo.utils.logger.Logger @@ -204,7 +205,7 @@ class V2XEventPanelFragment : MvpFragment respondingToHelp(@FieldMap Map params); + + /** + * 道路事件UGC + * 需求地址 + * http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=42321443 + */ + @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/network/V2XRefreshModel.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XRefreshModel.java index f5de5e4ca9..7fa8ad9bae 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XRefreshModel.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/network/V2XRefreshModel.java @@ -584,4 +584,42 @@ public class V2XRefreshModel { }); } } + + /** + * 道路事件UGC + * 需求地址 + * http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=42321443 + * {"id":"","status":1,"markUser":"name","sn":"111111","helpId":"222"} + */ + public void manualMarkingTrafficJam(String id, + int status, + String helpId) { + if (mV2XApiService != null) { + final Map map = new ParamsProvider.Builder(mContext).build(); + String json = new StringBuilder() + .append("{") + .append("\"id\":").append(id) + .append(",") + .append("\"sn\":").append(Utils.getSn()) + .append(",") + .append("\"status\":").append(status) + .append(",") + .append("\"helpId\":").append(helpId) + .append("}").toString(); + map.put("data", json); + mV2XApiService.manualMarkingTrafficJam(map).subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new SubscribeImpl(RequestOptions.create(mContext)) { + @Override + public void onSuccess(BaseData o) { + super.onSuccess(o); + } + + @Override + public void onError(String message, int code) { + super.onError(message, code); + } + }); + } + } } diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/UgcUploadStatusReceiver.kt b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/UgcUploadStatusReceiver.kt index 9463b6cdc0..6f3e8cdb6d 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/UgcUploadStatusReceiver.kt +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/UgcUploadStatusReceiver.kt @@ -7,6 +7,7 @@ import android.util.Log /** * ugc上报反馈 + * http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=42321443 */ class UgcUploadStatusReceiver : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { 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..aaa8c0e2c8 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 @@ -2,6 +2,7 @@ package com.mogo.module.v2x.utils; import com.mogo.module.common.entity.V2XPoiTypeEnum; import com.mogo.module.v2x.R; +import com.mogo.module.v2x.voice.V2XVoiceConstants; /** * @ProjectName: MoGoModulSafeDriving @@ -132,4 +133,52 @@ public class EventTypeUtils { } return isRoadEvent; } + + /** + * 获取 UGC 问答使用的 Title 和 TTS 以及展示图表 + * + * @param poiType 事件类型 + * @return UGC 文案 + */ + public static Object[] getUgcTitleStr(String poiType) { + Object[] str = new Object[5]; + switch (poiType) { + // 封路 + case V2XPoiTypeEnum.ROAD_CLOSED: + str[0] = "你刚经过 #### \n封路吗?"; + str[1] = "你刚路过的路段封路吗?您可以直接对我说封路、或者不封路。"; + str[2] = R.drawable.v_to_x_event_ugc_fenglu; + str[3] = V2XVoiceConstants.COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_YES_UN_WAKEUP; + str[4] = V2XVoiceConstants.COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_NO_UN_WAKEUP; + break; + // 施工 + case V2XPoiTypeEnum.FOURS_ROAD_WORK: + str[0] = "你刚经过 #### \n有道路施工吗?"; + str[1] = "你刚路过的路段道路施工吗?您可以直接对我说有施工、或者没有施工。"; + str[2] = R.drawable.v_to_x_event_ugc_shigong; + str[3] = V2XVoiceConstants.COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GONG_YES_UN_WAKEUP; + str[4] = V2XVoiceConstants.COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GONG_NO_UN_WAKEUP; + break; + // 拥堵 + case V2XPoiTypeEnum.FOURS_BLOCK_UP: + str[0] = "你刚路过 #### \n堵不堵?"; + str[1] = "你刚路过的路段堵不堵?您可以直接对我说拥赌、或者不堵。"; + str[2] = R.drawable.v_to_x_event_ugc_yongdu; + str[3] = V2XVoiceConstants.COMMAND_ZHIDAO_V2X_FEEDBACK_YONG_DU_YES_UN_WAKEUP; + str[4] = V2XVoiceConstants.COMMAND_ZHIDAO_V2X_FEEDBACK_YONG_DU_NO_UN_WAKEUP; + break; + // 事故 + case V2XPoiTypeEnum.FOURS_ACCIDENT: + str[0] = "你刚经过 #### \n有事故发生吗?"; + str[1] = "你刚路过的路段有交通事故吗?您可以直接对我说有事故、或者没有事故。"; + str[2] = R.drawable.v_to_x_event_ugc_shigu; + str[3] = V2XVoiceConstants.COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GU_YES_UN_WAKEUP; + str[4] = V2XVoiceConstants.COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GU_NO_UN_WAKEUP; + break; + default: + return null; + } + return str; + } + } diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/voice/V2XVoiceConstants.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/voice/V2XVoiceConstants.java index 74b5b13881..f72f5e2e12 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/voice/V2XVoiceConstants.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/voice/V2XVoiceConstants.java @@ -1,8 +1,6 @@ package com.mogo.module.v2x.voice; -import java.util.ArrayList; import java.util.HashMap; -import java.util.List; import java.util.Map; /** @@ -22,10 +20,6 @@ public class V2XVoiceConstants { * 免唤醒 */ public static final Map sVoiceCmds = new HashMap<>(); - /** - * 唤醒 - */ - public static final List sCmds = new ArrayList<>(); /** * 查看前方实况 */ @@ -225,12 +219,48 @@ public class V2XVoiceConstants { public static final String COMMAND_ZHIDAO_V2X_OPEN_SHEAR_EVENT_UN_WAKEUP = "COMMAND_ZHIDAO_V2X_OPEN_SHEAR_EVENT_UN_WAKEUP"; public static final String[] COMMAND_ZHIDAO_V2X_OPEN_SHEAR_EVENT_UN_WAKEUP_WORDS = {"我的分享"}; - /* - * 查看车辆信息 - * */ + /** + * 查看车辆信息 + */ public static final String COMMAND_ZHIDAO_V2X_OPEN_CAR_INFO_UN_WAKEUP = "COMMAND_ZHIDAO_V2X_OPEN_CAR_INFO_UN_WAKEUP"; public static final String[] COMMAND_ZHIDAO_V2X_OPEN_CAR_INFO_UN_WAKEUP_UN_WAKEUP_WORDS = {"查看车辆信息"}; + + /** + * 用户UGC反馈免唤醒词语 + */ + // 拥堵 + public static final String COMMAND_ZHIDAO_V2X_FEEDBACK_YONG_DU_YES_UN_WAKEUP = "COMMAND_ZHIDAO_V2X_FEEDBACK_YONG_DU_YES_UN_WAKEUP"; + public static final String[] COMMAND_ZHIDAO_V2X_FEEDBACK_YONG_DU_YES_UN_WAKEUP_WORDS = {"拥堵", "很堵", "堵死了", "有点堵", "确定"}; + + public static final String COMMAND_ZHIDAO_V2X_FEEDBACK_YONG_DU_NO_UN_WAKEUP = "COMMAND_ZHIDAO_V2X_FEEDBACK_YONG_DU_NO_UN_WAKEUP"; + public static final String[] COMMAND_ZHIDAO_V2X_FEEDBACK_YONG_DU_NO_UN_WAKEUP_WORDS = {"没注意", "不堵", "很畅通", "取消", "关闭"}; + + + // 封路 + public static final String COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_YES_UN_WAKEUP = "COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_YES_UN_WAKEUP"; + public static final String[] COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_YES_UN_WAKEUP_WORDS = {"封路了", "封了", "有封路", "确定"}; + + public static final String COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_NO_UN_WAKEUP = "COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_NO_UN_WAKEUP"; + public static final String[] COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_NO_UN_WAKEUP_WORDS = {"没注意", "没看到", "没有", "没封路", "取消", "关闭"}; + + + // 事故 + public static final String COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GU_YES_UN_WAKEUP = "COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GU_YES_UN_WAKEUP"; + public static final String[] COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GU_YES_UN_WAKEUP_WORDS = {"有事故", "存在交通事故", "确定"}; + + public static final String COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GU_NO_UN_WAKEUP = "COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GU_NO_UN_WAKEUP"; + public static final String[] COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GU_NO_UN_WAKEUP_WORDS = {"没注意", "没有事故", "没看到", "没有", "取消", "关闭"}; + + + // 道路施工 + public static final String COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GONG_YES_UN_WAKEUP = "COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GONG_YES_UN_WAKEUP"; + public static final String[] COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GONG_YES_UN_WAKEUP_WORDS = {"有", "在施工", "有施工", "确定"}; + + public static final String COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GONG_NO_UN_WAKEUP = "COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GONG_NO_UN_WAKEUP"; + public static final String[] COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GONG_NO_UN_WAKEUP_WORDS = {"没注意", "没看到", "没有施工", "很正常", "取消", "关闭"}; + + static { // 免唤醒 默认 sVoiceCmds.put(COMMAND_V2X_TO_CHAT_MORE_UN_WAKEUP, COMMAND_V2X_TO_CHAT_MORE_UN_WAKEUP_WORDS); @@ -259,17 +289,13 @@ public class V2XVoiceConstants { sVoiceCmds.put(COMMAND_ZHIDAO_V2X_OPEN_SHEAR_EVENT_UN_WAKEUP, COMMAND_ZHIDAO_V2X_OPEN_SHEAR_EVENT_UN_WAKEUP_WORDS); sVoiceCmds.put(COMMAND_ZHIDAO_V2X_OPEN_CAR_INFO_UN_WAKEUP, COMMAND_ZHIDAO_V2X_OPEN_CAR_INFO_UN_WAKEUP_UN_WAKEUP_WORDS); - - //默认 - /* sCmds.add(COMMAND_ZHIDAO_V2X_CALL_CHATTING); - sCmds.add(COMMAND_ZHIDAO_V2X_NAVI);*/ - - /* sCmds.add(COMMAND_ZHIDAO_V2X_NEXT); - sCmds.add(COMMAND_ZHIDAO_V2X_LIVE_ROAD); - sCmds.add(COMMAND_ZHIDAO_V2X_REPORT); - sCmds.add(COMMAND_ZHIDAO_V2X_ZAN); - sCmds.add(COMMAND_ZHIDAO_V2X_SEEK_HELP); - sCmds.add(COMMAND_ZHIDAO_V2X_CANCEL_HELP); - sCmds.add(COMMAND_ZHIDAO_V2X_CLOSE_WINDOW);*/ + sVoiceCmds.put(COMMAND_ZHIDAO_V2X_FEEDBACK_YONG_DU_YES_UN_WAKEUP, COMMAND_ZHIDAO_V2X_FEEDBACK_YONG_DU_YES_UN_WAKEUP_WORDS); + sVoiceCmds.put(COMMAND_ZHIDAO_V2X_FEEDBACK_YONG_DU_NO_UN_WAKEUP, COMMAND_ZHIDAO_V2X_FEEDBACK_YONG_DU_NO_UN_WAKEUP_WORDS); + sVoiceCmds.put(COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_YES_UN_WAKEUP, COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_YES_UN_WAKEUP_WORDS); + sVoiceCmds.put(COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_NO_UN_WAKEUP, COMMAND_ZHIDAO_V2X_FEEDBACK_FENG_LU_NO_UN_WAKEUP_WORDS); + sVoiceCmds.put(COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GU_YES_UN_WAKEUP, COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GU_YES_UN_WAKEUP_WORDS); + sVoiceCmds.put(COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GU_NO_UN_WAKEUP, COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GU_NO_UN_WAKEUP_WORDS); + sVoiceCmds.put(COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GONG_YES_UN_WAKEUP, COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GONG_YES_UN_WAKEUP_WORDS); + sVoiceCmds.put(COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GONG_NO_UN_WAKEUP, COMMAND_ZHIDAO_V2X_FEEDBACK_SHI_GONG_NO_UN_WAKEUP_WORDS); } } 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 diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/eventpanel/IEventPanelProvider.java b/services/mogo-service-api/src/main/java/com/mogo/service/eventpanel/IEventPanelProvider.java index d2031fbad4..e02e7d0ceb 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/eventpanel/IEventPanelProvider.java +++ b/services/mogo-service-api/src/main/java/com/mogo/service/eventpanel/IEventPanelProvider.java @@ -8,25 +8,10 @@ import com.mogo.service.module.IMogoModuleProvider; * @author tongchenfei */ public interface IEventPanelProvider extends IMogoModuleProvider { - /** - * 显示面板 - */ - void showPanel(); /** * 显示面板并选中某个item */ void showPanelWithSelectedItem(int item); - - /** - * 隐藏面板 - */ - void hidePanel(); - - /** - * 面板是否在展示 - * @return true-正在展示 false-未展示 - */ - boolean isPanelShow(); }