Merge branch 'dev' of gitlab.zhidaoauto.com:ecos/yycp-service/Launcher into dev

This commit is contained in:
tongchenfei
2020-10-23 10:25:29 +08:00
15 changed files with 305 additions and 51 deletions

View File

@@ -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 ) );

View File

@@ -207,6 +207,7 @@ public class SchemeIntent implements IMogoStatusChangedListener {
private void handleShowSharePanel() {
Logger.d(TAG, "handleShowSharePanel");
// todo 跳转到热心指数
mApis.getEventPanelManager().showPanelWithSelectedItem(2);
}
@Override

View File

@@ -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);
}
}

View File

@@ -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;
}
}

View File

@@ -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<V2XEventShowEntity> {
// 语音控制反馈 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<V2XEventShowEntity> {
*/
@Override
public void delayedCloseWindow() {
itemView.postDelayed(() -> V2XFatigueDrivingScenario.getInstance().close(), 1000);
itemView.postDelayed(() -> V2XEventUgcScenario.getInstance().close(), 1000);
}
}

View File

@@ -78,7 +78,6 @@ public class V2XRoadEventVH extends V2XBaseViewHolder<V2XEventShowEntity> {
private MarkerExploreWay mNoveltyInfo;
private V2XRoadEventEntity mV2XRoadEventEntity;
private V2XEventShowEntity mV2XEventShowEntity;
private V2XRoadVideoCarScenario mV2XRoadVideoCarScenario;
// 拨打车聊聊语音回调
private V2XVoiceCallbackListener v2XVoiceCallbackCallListener = new V2XVoiceCallbackListener() {

View File

@@ -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<V2XEventPanelFragment, EventPanelPrese
}
fun showPanelWithSelectedItem(item: Int) {
public fun showPanelWithSelectedItem(item: Int) {
showPanel()
mRbScenarioHistory?.typeface = Typeface.defaultFromStyle(Typeface.NORMAL)
mRbSurroundingEvent?.typeface = Typeface.defaultFromStyle(Typeface.NORMAL)

View File

@@ -154,4 +154,13 @@ public interface V2XApiService {
@FormUrlEncoded
@POST("/deva/poiInfoFabulous/car/poi/no/RespondingToHelp/v1")
Observable<BaseData> respondingToHelp(@FieldMap Map<String, Object> params);
/**
* 道路事件UGC
* 需求地址
* http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=42321443
*/
@FormUrlEncoded
@POST("/deva/car/poi/no/manualMarkingTrafficJam")
Observable<BaseData> manualMarkingTrafficJam(@FieldMap Map<String, Object> params);
}

View File

@@ -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<String, Object> 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<BaseData>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(BaseData o) {
super.onSuccess(o);
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
}
});
}
}
}

View File

@@ -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) {

View File

@@ -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;
}
}

View File

@@ -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<String, String[]> sVoiceCmds = new HashMap<>();
/**
* 唤醒
*/
public static final List<String> 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);
}
}

View File

@@ -8,7 +8,7 @@
android:paddingEnd="@dimen/dp_62">
<ImageView
android:id="@+id/ivFaultHelpHead"
android:id="@+id/ivEventTypeIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
@@ -20,7 +20,7 @@
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tvFaultHelpName"
android:id="@+id/tvEventUgcTitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_10"
@@ -28,10 +28,10 @@
android:textColor="@color/v2x_FFF_333"
android:textSize="@dimen/module_v2x_event_help_title_text_size"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/ivFaultHelpHead"
app:layout_constraintBottom_toBottomOf="@+id/ivEventTypeIcon"
app:layout_constraintEnd_toStartOf="@+id/ivEventReportTrue"
app:layout_constraintStart_toEndOf="@id/ivFaultHelpHead"
app:layout_constraintTop_toTopOf="@+id/ivFaultHelpHead"
app:layout_constraintStart_toEndOf="@id/ivEventTypeIcon"
app:layout_constraintTop_toTopOf="@+id/ivEventTypeIcon"
app:layout_constraintVertical_chainStyle="packed"
tools:text="你刚路过的路段堵不堵?您可以直接对我说拥赌、或者不堵。" />

View File

@@ -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"
}

View File

@@ -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();
}