Merge remote-tracking branch 'origin/feature/v1.0.0' into feature/v1.0.0
This commit is contained in:
@@ -109,20 +109,20 @@ public abstract class AMapNaviListenerAdapter implements AMapNaviListener {
|
||||
|
||||
@Override
|
||||
public void updateCameraInfo( AMapNaviCameraInfo[] aMapNaviCameraInfos ) {
|
||||
if ( aMapNaviCameraInfos != null ) {
|
||||
for ( AMapNaviCameraInfo aMapNaviCameraInfo : aMapNaviCameraInfos ) {
|
||||
if ( aMapNaviCameraInfo != null ) {
|
||||
Logger.i( TAG, "current camera speed: %d", aMapNaviCameraInfo.getCameraSpeed() );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateIntervalCameraInfo( AMapNaviCameraInfo aMapNaviCameraInfo, AMapNaviCameraInfo aMapNaviCameraInfo1, int i ) {
|
||||
|
||||
if ( aMapNaviCameraInfo != null ) {
|
||||
Logger.i( TAG, "current camera speed: %d, status = %d", aMapNaviCameraInfo.getCameraSpeed(), i );
|
||||
}
|
||||
if ( aMapNaviCameraInfo1 != null ) {
|
||||
Logger.i( TAG, "current camera speed: %d, status = %d", aMapNaviCameraInfo1.getCameraSpeed(), i );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onServiceAreaUpdate( AMapServiceAreaInfo[] aMapServiceAreaInfos ) {
|
||||
|
||||
@@ -188,11 +188,23 @@ public abstract class AMapNaviListenerAdapter implements AMapNaviListener {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 巡航回调
|
||||
* 连续5个点速度大于15km/h后触发 updateAimlessModeStatistics 回调,通过 AimLessModeStat 对象可获取巡航的连续行驶距离和连续启用时间
|
||||
*
|
||||
* @param aimLessModeStat
|
||||
*/
|
||||
@Override
|
||||
public void updateAimlessModeStatistics( AimLessModeStat aimLessModeStat ) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 巡航回调
|
||||
* 出现拥堵长度大于500米且拥堵时间大于5分钟时,会进到 updateAimlessModeCongestionInfo 回调中,通过 AimLessModeCongestionInfo 对象,可获取到道路拥堵信息(如:导致拥堵的事件类型、拥堵的状态等)
|
||||
*
|
||||
* @param aimLessModeCongestionInfo
|
||||
*/
|
||||
@Override
|
||||
public void updateAimlessModeCongestionInfo( AimLessModeCongestionInfo aimLessModeCongestionInfo ) {
|
||||
|
||||
|
||||
@@ -0,0 +1,204 @@
|
||||
package com.mogo.map.impl.amap.navi;
|
||||
|
||||
import com.amap.api.navi.AimlessModeListener;
|
||||
import com.amap.api.navi.model.AMapNaviTrafficFacilityInfo;
|
||||
import com.amap.api.navi.model.AimLessModeCongestionInfo;
|
||||
import com.amap.api.navi.model.AimLessModeStat;
|
||||
import com.mogo.map.navi.MogoNaviListenerHandler;
|
||||
import com.mogo.map.navi.MogoTraffic;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020-01-16
|
||||
* <p>
|
||||
* 巡航监听
|
||||
*/
|
||||
public class AimlessModeListenerAdapter implements AimlessModeListener {
|
||||
|
||||
@Override
|
||||
public void onUpdateTrafficFacility( AMapNaviTrafficFacilityInfo[] aMapNaviTrafficFacilityInfos ) {
|
||||
if ( aMapNaviTrafficFacilityInfos == null || aMapNaviTrafficFacilityInfos.length == 0 ) {
|
||||
return;
|
||||
}
|
||||
int speedLimit = 0;
|
||||
for ( AMapNaviTrafficFacilityInfo aMapNaviTrafficFacilityInfo : aMapNaviTrafficFacilityInfos ) {
|
||||
if ( aMapNaviTrafficFacilityInfo == null ) {
|
||||
continue;
|
||||
}
|
||||
speedLimit = aMapNaviTrafficFacilityInfo.getLimitSpeed();
|
||||
if ( aMapNaviTrafficFacilityInfo.getBroadcastType() == 4 && aMapNaviTrafficFacilityInfo.getLimitSpeed() > 0 ) {
|
||||
MogoTraffic traffic = new MogoTraffic( MogoTraffic.TYPE_AIM );
|
||||
traffic.setDistance( aMapNaviTrafficFacilityInfo.getDistance() );
|
||||
traffic.setSpeedLimit( aMapNaviTrafficFacilityInfo.getLimitSpeed() );
|
||||
traffic.setDesc( "测速摄像头、测速雷达" );
|
||||
MogoNaviListenerHandler.getInstance().onUpdateTraffic( traffic );
|
||||
}
|
||||
}
|
||||
if ( speedLimit <= 0 ) {
|
||||
MogoTraffic traffic = new MogoTraffic( MogoTraffic.TYPE_AIM );
|
||||
traffic.setDistance( 0 );
|
||||
traffic.setSpeedLimit( 0 );
|
||||
traffic.setDesc( "测速摄像头、测速雷达" );
|
||||
MogoNaviListenerHandler.getInstance().onUpdateTraffic( traffic );
|
||||
}
|
||||
// MogoTraffic traffic = new MogoTraffic( MogoTraffic.TYPE_AIM );
|
||||
// traffic.setDistance( aMapNaviTrafficFacilityInfos[0].getDistance() );
|
||||
// traffic.setSpeedLimit( aMapNaviTrafficFacilityInfos[0].getLimitSpeed() );
|
||||
// switch ( aMapNaviTrafficFacilityInfos[0].getBroadcastType() ) {
|
||||
// case 0:
|
||||
// traffic.setDesc( "未知道路设施" );
|
||||
// break;
|
||||
// case 4:
|
||||
// traffic.setDesc( "测速摄像头、测速雷达" );
|
||||
// break;
|
||||
// case 5:
|
||||
// traffic.setDesc( "违章摄像头" );
|
||||
// break;
|
||||
// case 10:
|
||||
// traffic.setDesc( "请谨慎驾驶" );
|
||||
// break;
|
||||
// case 11:
|
||||
// traffic.setDesc( "有连续拍照" );
|
||||
// break;
|
||||
// case 12:
|
||||
// traffic.setDesc( "铁路道口" );
|
||||
// break;
|
||||
// case 13:
|
||||
// traffic.setDesc( "注意落石(左侧)" );
|
||||
// break;
|
||||
// case 14:
|
||||
// traffic.setDesc( "事故易发地段" );
|
||||
// break;
|
||||
// case 15:
|
||||
// traffic.setDesc( "易滑" );
|
||||
// break;
|
||||
// case 16:
|
||||
// traffic.setDesc( "村庄" );
|
||||
// break;
|
||||
// case 18:
|
||||
// traffic.setDesc( "前方学校" );
|
||||
// break;
|
||||
// case 19:
|
||||
// traffic.setDesc( "有人看管的铁路道口" );
|
||||
// break;
|
||||
// case 20:
|
||||
// traffic.setDesc( "无人看管的铁路道口" );
|
||||
// break;
|
||||
// case 21:
|
||||
// traffic.setDesc( "两侧变窄" );
|
||||
// break;
|
||||
// case 22:
|
||||
// traffic.setDesc( "向左急弯路" );
|
||||
// break;
|
||||
// case 23:
|
||||
// traffic.setDesc( "向右急弯路" );
|
||||
// break;
|
||||
// case 24:
|
||||
// traffic.setDesc( "反向弯路" );
|
||||
// break;
|
||||
// case 25:
|
||||
// traffic.setDesc( "连续弯路" );
|
||||
// break;
|
||||
// case 26:
|
||||
// traffic.setDesc( "左侧合流标识牌" );
|
||||
// break;
|
||||
// case 27:
|
||||
// traffic.setDesc( "右侧合流标识牌" );
|
||||
// break;
|
||||
// case 28:
|
||||
// traffic.setDesc( "监控摄像头" );
|
||||
// break;
|
||||
// case 29:
|
||||
// traffic.setDesc( "专用道摄像头" );
|
||||
// break;
|
||||
// case 31:
|
||||
// traffic.setDesc( "禁止超车" );
|
||||
// break;
|
||||
// case 36:
|
||||
// traffic.setDesc( "右侧变窄" );
|
||||
// break;
|
||||
// case 37:
|
||||
// traffic.setDesc( "左侧变窄" );
|
||||
// break;
|
||||
// case 38:
|
||||
// traffic.setDesc( "窄桥" );
|
||||
// break;
|
||||
// case 39:
|
||||
// traffic.setDesc( "左右绕行" );
|
||||
// break;
|
||||
// case 40:
|
||||
// traffic.setDesc( "左侧绕行" );
|
||||
// break;
|
||||
// case 41:
|
||||
// traffic.setDesc( "右侧绕行" );
|
||||
// break;
|
||||
// case 42:
|
||||
// traffic.setDesc( "注意落石(右侧)" );
|
||||
// break;
|
||||
// case 43:
|
||||
// traffic.setDesc( "傍山险路(左侧)" );
|
||||
// break;
|
||||
// case 44:
|
||||
// traffic.setDesc( "傍山险路(右侧)" );
|
||||
// break;
|
||||
// case 47:
|
||||
// traffic.setDesc( "上陡坡" );
|
||||
// break;
|
||||
// case 48:
|
||||
// traffic.setDesc( "下陡坡" );
|
||||
// break;
|
||||
// case 49:
|
||||
// traffic.setDesc( "过水路面" );
|
||||
// break;
|
||||
// case 50:
|
||||
// traffic.setDesc( "路面不平" );
|
||||
// break;
|
||||
// case 52:
|
||||
// traffic.setDesc( "慢行" );
|
||||
// break;
|
||||
// case 53:
|
||||
// traffic.setDesc( "注意危险" );
|
||||
// break;
|
||||
// case 58:
|
||||
// traffic.setDesc( "隧道" );
|
||||
// break;
|
||||
// case 59:
|
||||
// traffic.setDesc( "渡口" );
|
||||
// break;
|
||||
// case 92:
|
||||
// traffic.setDesc( "闯红灯" );
|
||||
// break;
|
||||
// case 93:
|
||||
// traffic.setDesc( "应急车道" );
|
||||
// break;
|
||||
// case 94:
|
||||
// traffic.setDesc( "非机动车道" );
|
||||
// break;
|
||||
// case 100:
|
||||
// traffic.setDesc( "不绑定电子眼高发地" );
|
||||
// break;
|
||||
// case 101:
|
||||
// traffic.setDesc( "车道违章" );
|
||||
// break;
|
||||
// case 102:
|
||||
// traffic.setDesc( "超速违章" );
|
||||
// break;
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdateAimlessModeElecCameraInfo( AMapNaviTrafficFacilityInfo[] aMapNaviTrafficFacilityInfos ) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAimlessModeStatistics( AimLessModeStat aimLessModeStat ) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAimlessModeCongestionInfo( AimLessModeCongestionInfo aimLessModeCongestionInfo ) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,7 @@ import android.graphics.Rect;
|
||||
|
||||
import com.amap.api.maps.model.Polyline;
|
||||
import com.amap.api.navi.AMapNavi;
|
||||
import com.amap.api.navi.enums.AimLessMode;
|
||||
import com.amap.api.navi.enums.NaviType;
|
||||
import com.amap.api.navi.model.NaviLatLng;
|
||||
import com.mogo.map.MogoLatLng;
|
||||
@@ -32,6 +33,9 @@ public class NaviClient implements IMogoNavi {
|
||||
private AMapNavi mAMapNavi;
|
||||
private final NaviListenerAdapter mAMapNaviListener;
|
||||
|
||||
|
||||
private final AimlessModeListenerAdapter mAimlessModeListener;
|
||||
|
||||
/**
|
||||
* 导航策略配置
|
||||
*/
|
||||
@@ -45,7 +49,10 @@ public class NaviClient implements IMogoNavi {
|
||||
mAMapNavi.setEmulatorNaviSpeed( 120 );
|
||||
mAMapNavi.setUseInnerVoice( true );
|
||||
mAMapNaviListener = new NaviListenerAdapter( context, mAMapNavi, this );
|
||||
mAimlessModeListener = new AimlessModeListenerAdapter() {
|
||||
};
|
||||
mAMapNavi.addAMapNaviListener( mAMapNaviListener );
|
||||
mAMapNavi.addAimlessModeListener( mAimlessModeListener );
|
||||
}
|
||||
|
||||
public static NaviClient getInstance( Context context ) {
|
||||
@@ -123,6 +130,8 @@ public class NaviClient implements IMogoNavi {
|
||||
if ( mAMapNaviListener != null ) {
|
||||
mAMapNaviListener.stopNavi();
|
||||
}
|
||||
// 开启巡航 巡航时返回电子眼和特殊道路设施信息
|
||||
mAMapNavi.startAimlessMode( AimLessMode.CAMERA_AND_SPECIALROAD_DETECTED );
|
||||
}
|
||||
|
||||
|
||||
@@ -131,6 +140,8 @@ public class NaviClient implements IMogoNavi {
|
||||
if ( mAMapNaviListener.isStopped() ) {
|
||||
return;
|
||||
}
|
||||
// 关闭巡航
|
||||
mAMapNavi.stopAimlessMode();
|
||||
mIsRealNavi = isRealNavi;
|
||||
mAMapNavi.startNavi( isRealNavi ? NaviType.GPS : NaviType.EMULATOR );
|
||||
}
|
||||
@@ -176,16 +187,18 @@ public class NaviClient implements IMogoNavi {
|
||||
@Override
|
||||
public void setCalculatePathDisplayBounds( Rect bounds ) {
|
||||
if ( mAMapNaviListener != null ) {
|
||||
mAMapNaviListener.setCalculatePathDisplayBounds(bounds);
|
||||
mAMapNaviListener.setCalculatePathDisplayBounds( bounds );
|
||||
}
|
||||
}
|
||||
|
||||
@Override public MogoNaviConfig getNaviConfig() {
|
||||
@Override
|
||||
public MogoNaviConfig getNaviConfig() {
|
||||
return mMogoNaviConfig;
|
||||
}
|
||||
|
||||
@Override public boolean setBroadcastMode(int mode) {
|
||||
return mAMapNavi.setBroadcastMode(mode);
|
||||
@Override
|
||||
public boolean setBroadcastMode( int mode ) {
|
||||
return mAMapNavi.setBroadcastMode( mode );
|
||||
}
|
||||
|
||||
// -- end
|
||||
|
||||
@@ -5,8 +5,13 @@ import android.graphics.Rect;
|
||||
|
||||
import com.amap.api.maps.model.Polyline;
|
||||
import com.amap.api.navi.AMapNavi;
|
||||
import com.amap.api.navi.AimlessModeListener;
|
||||
import com.amap.api.navi.enums.AimLessMode;
|
||||
import com.amap.api.navi.enums.CameraType;
|
||||
import com.amap.api.navi.enums.CarEnterCameraStatus;
|
||||
import com.amap.api.navi.enums.NaviType;
|
||||
import com.amap.api.navi.model.AMapCalcRouteResult;
|
||||
import com.amap.api.navi.model.AMapNaviCameraInfo;
|
||||
import com.amap.api.navi.model.AMapNaviInfo;
|
||||
import com.amap.api.navi.model.AMapNaviLocation;
|
||||
import com.amap.api.navi.model.NaviInfo;
|
||||
@@ -15,6 +20,7 @@ import com.mogo.map.impl.amap.message.AMapMessageManager;
|
||||
import com.mogo.map.impl.amap.utils.ObjectUtils;
|
||||
import com.mogo.map.navi.MogoCalculatePath;
|
||||
import com.mogo.map.navi.MogoNaviListenerHandler;
|
||||
import com.mogo.map.navi.MogoTraffic;
|
||||
import com.mogo.map.navi.OnCalculatePathItemClickInteraction;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
@@ -86,14 +92,77 @@ public class NaviListenerAdapter extends AMapNaviListenerAdapter {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartNavi( int i ) {
|
||||
setStopped( false );
|
||||
setNaviing( true );
|
||||
if ( mAMapNavi != null ) {
|
||||
mAMapNavi.startSpeak();
|
||||
public void updateCameraInfo( AMapNaviCameraInfo[] aMapNaviCameraInfos ) {
|
||||
super.updateCameraInfo( aMapNaviCameraInfos );
|
||||
if ( aMapNaviCameraInfos == null || aMapNaviCameraInfos.length == 0 ) {
|
||||
return;
|
||||
}
|
||||
int limitSpeed = 0;
|
||||
for ( AMapNaviCameraInfo aMapNaviCameraInfo : aMapNaviCameraInfos ) {
|
||||
if ( aMapNaviCameraInfo == null ) {
|
||||
continue;
|
||||
}
|
||||
limitSpeed = aMapNaviCameraInfo.getCameraSpeed();
|
||||
if ( limitSpeed > 0 && aMapNaviCameraInfo.getCameraType() == CameraType.SPEED ) {
|
||||
MogoTraffic traffic = new MogoTraffic( MogoTraffic.TYPE_NAVI );
|
||||
traffic.setDistance( aMapNaviCameraInfo.getCameraDistance() );
|
||||
traffic.setSpeedLimit( aMapNaviCameraInfo.getCameraSpeed() );
|
||||
traffic.setDesc( "测速摄像" );
|
||||
MogoNaviListenerHandler.getInstance().onUpdateTraffic( traffic );
|
||||
}
|
||||
|
||||
// switch ( aMapNaviCameraInfo.getCameraType() ) {
|
||||
// case CameraType.SPEED:
|
||||
//
|
||||
// break;
|
||||
// case CameraType.SURVEILLANCE:
|
||||
// traffic.setDesc( "监控摄像" );
|
||||
// break;
|
||||
// case CameraType.TRAFFICLIGHT:
|
||||
// traffic.setDesc( "闯红灯拍照" );
|
||||
// break;
|
||||
// case CameraType.BREAKRULE:
|
||||
// traffic.setDesc( "违章拍照" );
|
||||
// break;
|
||||
// case CameraType.BUSWAY:
|
||||
// traffic.setDesc( "公交专用道摄像头" );
|
||||
// break;
|
||||
// case CameraType.EMERGENCY:
|
||||
// traffic.setDesc( "应急车道拍照" );
|
||||
// break;
|
||||
// case CameraType.BICYCLE:
|
||||
// traffic.setDesc( "非机动车道" );
|
||||
// break;
|
||||
// case CameraType.INTERVALVELOCITYSTART:
|
||||
// traffic.setDesc( "区间测速起始" );
|
||||
// break;
|
||||
// case CameraType.INTERVALVELOCITYEND:
|
||||
// traffic.setDesc( "区间测速解除" );
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
if ( limitSpeed <= 0 ) {
|
||||
MogoTraffic traffic = new MogoTraffic( MogoTraffic.TYPE_NAVI );
|
||||
traffic.setDistance( 0 );
|
||||
traffic.setSpeedLimit( 0 );
|
||||
traffic.setDesc( "测速摄像" );
|
||||
MogoNaviListenerHandler.getInstance().onUpdateTraffic( traffic );
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartNavi( int type ) {
|
||||
|
||||
// 巡航
|
||||
if ( type != NaviType.CRUISE ) {
|
||||
setStopped( false );
|
||||
setNaviing( true );
|
||||
if ( mAMapNavi != null ) {
|
||||
mAMapNavi.startSpeak();
|
||||
}
|
||||
MogoNaviListenerHandler.getInstance().onStartNavi();
|
||||
AMapMessageManager.getInstance().postNaviStarted();
|
||||
}
|
||||
MogoNaviListenerHandler.getInstance().onStartNavi();
|
||||
AMapMessageManager.getInstance().postNaviStarted();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -175,15 +244,15 @@ public class NaviListenerAdapter extends AMapNaviListenerAdapter {
|
||||
}
|
||||
}
|
||||
|
||||
public void clearCalculatePaths(){
|
||||
public void clearCalculatePaths() {
|
||||
if ( mNaviOverlayHelper != null ) {
|
||||
mNaviOverlayHelper.clearCalculatedOverlay();
|
||||
}
|
||||
}
|
||||
|
||||
public void setCalculatePathDisplayBounds( Rect bounds ){
|
||||
public void setCalculatePathDisplayBounds( Rect bounds ) {
|
||||
if ( mNaviOverlayHelper != null ) {
|
||||
mNaviOverlayHelper.setCalculatePathDisplayBounds(bounds);
|
||||
mNaviOverlayHelper.setCalculatePathDisplayBounds( bounds );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,7 +63,8 @@ public interface IMogoNavi {
|
||||
*
|
||||
* @param isRealNavi true - 实时导航 false - 模拟导航
|
||||
*/
|
||||
void startNavi( boolean isRealNavi );
|
||||
void
|
||||
startNavi( boolean isRealNavi );
|
||||
|
||||
/**
|
||||
* 是否正在导航
|
||||
|
||||
@@ -44,4 +44,9 @@ public interface IMogoNaviListener {
|
||||
* 路径规划失败
|
||||
*/
|
||||
void onoCalculateFailed();
|
||||
|
||||
/**
|
||||
* 巡航信息发生改变
|
||||
*/
|
||||
void onUpdateTraffic(MogoTraffic traffic);
|
||||
}
|
||||
|
||||
@@ -91,4 +91,11 @@ public class MogoNaviListenerHandler implements IMogoNaviListener, IMogoNaviList
|
||||
mDelegateListener.onoCalculateFailed();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdateTraffic( MogoTraffic traffic ) {
|
||||
if ( mDelegateListener != null ) {
|
||||
mDelegateListener.onUpdateTraffic( traffic );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
package com.mogo.map.navi;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020-01-16
|
||||
* <p>
|
||||
* 巡航信息、导航信息
|
||||
*/
|
||||
public class MogoTraffic {
|
||||
|
||||
/**
|
||||
* 导航
|
||||
*/
|
||||
public static final int TYPE_NAVI = 1;
|
||||
|
||||
/**
|
||||
* 巡航
|
||||
*/
|
||||
public static final int TYPE_AIM = 2;
|
||||
|
||||
/**
|
||||
* 导航 or 巡航
|
||||
*/
|
||||
private int mFromType;
|
||||
|
||||
/**
|
||||
* 距离
|
||||
*/
|
||||
private int mDistance;
|
||||
|
||||
/**
|
||||
* 限速
|
||||
*/
|
||||
private int mSpeedLimit;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String mDesc;
|
||||
|
||||
public MogoTraffic( int fromType ) {
|
||||
mFromType = fromType;
|
||||
}
|
||||
|
||||
public int getFromType() {
|
||||
return mFromType;
|
||||
}
|
||||
|
||||
public void setFromType( int fromType ) {
|
||||
this.mFromType = fromType;
|
||||
}
|
||||
|
||||
public int getDistance() {
|
||||
return mDistance;
|
||||
}
|
||||
|
||||
public void setDistance( int distance ) {
|
||||
this.mDistance = distance;
|
||||
}
|
||||
|
||||
public int getSpeedLimit() {
|
||||
return mSpeedLimit;
|
||||
}
|
||||
|
||||
public void setSpeedLimit( int speedLimit ) {
|
||||
this.mSpeedLimit = speedLimit;
|
||||
}
|
||||
|
||||
public String getDesc() {
|
||||
return mDesc;
|
||||
}
|
||||
|
||||
public void setDesc( String desc ) {
|
||||
this.mDesc = desc;
|
||||
}
|
||||
}
|
||||
@@ -23,6 +23,7 @@ import com.mogo.map.model.MogoPoi;
|
||||
import com.mogo.map.navi.IMogoNavi;
|
||||
import com.mogo.map.navi.IMogoNaviListener;
|
||||
import com.mogo.map.navi.MogoNaviInfo;
|
||||
import com.mogo.map.navi.MogoTraffic;
|
||||
import com.mogo.map.uicontroller.EnumMapUI;
|
||||
import com.mogo.map.uicontroller.IMogoMapUIController;
|
||||
import com.mogo.module.common.MogoModulePaths;
|
||||
@@ -41,6 +42,7 @@ import com.mogo.service.module.IMogoModuleProvider;
|
||||
import com.mogo.service.module.IMogoRegisterCenter;
|
||||
import com.mogo.service.windowview.IMogoWindowManager;
|
||||
import com.mogo.utils.TipToast;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
@@ -67,6 +69,10 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
private NaviInfoView mNaviInfo;
|
||||
private TextView mExitNavi;
|
||||
|
||||
private View mSpeedLimit;
|
||||
private TextView mSpeedLimitValue;
|
||||
private View mSpeedLimitUnit;
|
||||
|
||||
private IMogoMapService mService;
|
||||
private IMogoMapUIController mMApUIController;
|
||||
private IMogoLocationClient mMogoLocationClient;
|
||||
@@ -91,7 +97,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
@Override
|
||||
protected void initViews() {
|
||||
mMogoFragmentManager = ( IMogoFragmentManager ) ARouter.getInstance().build( MogoServicePaths.PATH_FRAGMENT_MANAGER ).navigation();
|
||||
mMogoAddressManager = (IMogoAddressManager) ARouter.getInstance().build( MogoServicePaths.PATH_ADDRESS_MANAGER ).navigation();
|
||||
mMogoAddressManager = ( IMogoAddressManager ) ARouter.getInstance().build( MogoServicePaths.PATH_ADDRESS_MANAGER ).navigation();
|
||||
mCommonAddress = findViewById( R.id.module_entrance_id_common_address );
|
||||
|
||||
mSearch = findViewById( R.id.module_entrance_id_search );
|
||||
@@ -135,7 +141,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
mExitNavi.setOnClickListener( view -> {
|
||||
if ( mMogoNavi != null ) {
|
||||
if ( mIsLock ) {
|
||||
NaviNoticeDialog naviNoticeDialog = new NaviNoticeDialog(getContext());
|
||||
NaviNoticeDialog naviNoticeDialog = new NaviNoticeDialog( getContext() );
|
||||
naviNoticeDialog.show();
|
||||
} else {
|
||||
mMApUIController.recoverLockMode();
|
||||
@@ -143,6 +149,10 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
}
|
||||
} );
|
||||
|
||||
mSpeedLimit = findViewById( R.id.module_entrance_id_speed_limit_container );
|
||||
mSpeedLimitValue = findViewById( R.id.module_entrance_id_speed_limit_value );
|
||||
mSpeedLimitUnit = findViewById( R.id.module_entrance_id_speed_limit_unit );
|
||||
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@@ -188,9 +198,9 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
mCommonAddress.setVisibility( View.GONE );
|
||||
mNaviInfo.setVisibility( View.VISIBLE );
|
||||
mExitNavi.setVisibility( View.VISIBLE );
|
||||
AnalyticsUtils.track("Navigation_guide_type", new HashMap<>());
|
||||
AnalyticsUtils.track( "Navigation_guide_type", new HashMap<>() );
|
||||
|
||||
mMApUIController.setPointToCenter(0.675926, 0.77552);
|
||||
mMApUIController.setPointToCenter( 0.675926, 0.77552 );
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -198,9 +208,10 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
mCommonAddress.setVisibility( View.VISIBLE );
|
||||
mNaviInfo.setVisibility( View.GONE );
|
||||
mExitNavi.setVisibility( View.GONE );
|
||||
AnalyticsUtils.track("Navigation_guide_type", new HashMap<>());
|
||||
mSpeedLimit.setVisibility( View.GONE );
|
||||
AnalyticsUtils.track( "Navigation_guide_type", new HashMap<>() );
|
||||
|
||||
mMApUIController.setPointToCenter(0.66145, 0.590688);
|
||||
mMApUIController.setPointToCenter( 0.66145, 0.590688 );
|
||||
|
||||
}
|
||||
|
||||
@@ -212,6 +223,20 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
|
||||
public void onoCalculateFailed() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdateTraffic( MogoTraffic traffic ) {
|
||||
if ( traffic == null ) {
|
||||
return;
|
||||
}
|
||||
if ( traffic.getSpeedLimit() <= 0 ) {
|
||||
mSpeedLimit.setVisibility( View.INVISIBLE );
|
||||
mSpeedLimitValue.setText( "--" );
|
||||
} else {
|
||||
mSpeedLimit.setVisibility( View.VISIBLE );
|
||||
mSpeedLimitValue.setText( String.valueOf( traffic.getSpeedLimit() ) );
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMapLoaded() {
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item>
|
||||
<shape>
|
||||
<corners android:radius="90dp" />
|
||||
<stroke android:width="@dimen/dp_6" android:color="#B92F49" />/>
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
@@ -71,6 +72,36 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/module_entrance_id_speed_limit_container"
|
||||
android:layout_width="@dimen/dp_180"
|
||||
android:layout_height="@dimen/dp_180"
|
||||
android:layout_marginTop="@dimen/dp_2"
|
||||
android:layout_marginRight="@dimen/dp_60"
|
||||
android:background="@drawable/module_ext_dw_speed_limit_bkg"
|
||||
android:gravity="center"
|
||||
android:visibility="invisible"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_entrance_id_speed_limit_value"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="@dimen/dp_60"
|
||||
tools:text="100" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/module_entrance_id_speed_limit_unit"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="km/h"
|
||||
android:textColor="#CCFFFFFF"
|
||||
android:textSize="@dimen/dp_28" />
|
||||
</LinearLayout>
|
||||
|
||||
<com.mogo.module.extensions.navi.NaviInfoView
|
||||
android:id="@+id/module_entrance_id_navi_info_panel"
|
||||
android:layout_width="wrap_content"
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
android:layout_height="@dimen/dp_120"
|
||||
android:background="@drawable/module_ext_dw_shadow_frame_bkg"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="@dimen/dp_70"
|
||||
android:paddingRight="@dimen/dp_70">
|
||||
android:paddingLeft="@dimen/dp_60"
|
||||
android:paddingRight="@dimen/dp_60">
|
||||
|
||||
<com.mogo.module.extensions.anim.JSurfaceView
|
||||
android:id="@+id/module_ext_id_voice"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:clearTaskOnLaunch="true"
|
||||
android:configChanges="keyboardHidden|orientation|screenSize|screenLayout|mcc|mnc|keyboard|navigation"
|
||||
android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|screenLayout|fontScale|uiMode|orientation|screenSize|smallestScreenSize"
|
||||
android:enabled="true"
|
||||
android:launchMode="singleInstance"
|
||||
android:resizeableActivity="true"
|
||||
|
||||
@@ -99,13 +99,15 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
|
||||
@Override
|
||||
public void onPageSelected( int position ) {
|
||||
try {
|
||||
IMogoModuleProvider provider = mCardModulesAdapter.getProvider( mCurrentPosition );
|
||||
trackLastCardShowEvent( provider );
|
||||
|
||||
mCurrentPosition = position;
|
||||
final IMogoModuleProvider provider = mCardModulesAdapter.getProvider( position );
|
||||
provider = mCardModulesAdapter.getProvider( mCurrentPosition );
|
||||
mMogoModuleHandler.setEnable( provider.getModuleName() );
|
||||
if ( !isClickMarker ) {
|
||||
mMogoCardManager.invoke( position, mMogoModuleHandler.getCurrentModuleName() );
|
||||
}
|
||||
trackCardSelectedEvent( provider );
|
||||
} catch ( Exception e ) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@@ -129,7 +131,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
|
||||
* 卡片展示时长埋点
|
||||
* @param provider
|
||||
*/
|
||||
private void trackCardSelectedEvent( IMogoModuleProvider provider ) {
|
||||
private void trackLastCardShowEvent( IMogoModuleProvider provider ) {
|
||||
if ( provider == null ) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ import com.mogo.map.marker.IMogoMarkerClickListener;
|
||||
import com.mogo.map.model.MogoPoi;
|
||||
import com.mogo.map.navi.IMogoNaviListener;
|
||||
import com.mogo.map.navi.MogoNaviInfo;
|
||||
import com.mogo.map.navi.MogoTraffic;
|
||||
import com.mogo.map.uicontroller.EnumMapUI;
|
||||
import com.mogo.module.common.MogoModule;
|
||||
import com.mogo.module.common.MogoModulePaths;
|
||||
@@ -462,6 +463,24 @@ public class MogoModulesManager implements MogoModulesHandler,
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdateTraffic( MogoTraffic traffic ) {
|
||||
Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners();
|
||||
if ( iterator == null ) {
|
||||
return;
|
||||
}
|
||||
while ( iterator.hasNext() ) {
|
||||
IMogoNaviListener listener = iterator.next();
|
||||
if ( listener != null ) {
|
||||
try {
|
||||
listener.onUpdateTraffic(traffic);
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "error." );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLocationChanged( MogoLocation location ) {
|
||||
Iterator< IMogoLocationListener > iterator = MogoRegisterCenterHandler.getInstance().getLocationListeners();
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
package com.mogo.module.main.receiver;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.text.TextUtils;
|
||||
|
||||
/**
|
||||
* @author congtaowang
|
||||
* @since 2020-01-02
|
||||
* <p>
|
||||
* 广播接收者
|
||||
* <p>
|
||||
* {@link Intent#ACTION_POWER_CONNECTED}
|
||||
* {@link Intent#ACTION_POWER_DISCONNECTED}
|
||||
*/
|
||||
public class MogoReceiver extends BroadcastReceiver {
|
||||
|
||||
public static void register( Context context ) {
|
||||
if ( context == null ) {
|
||||
return;
|
||||
}
|
||||
IntentFilter inputFilter = new IntentFilter();
|
||||
inputFilter.addAction( Intent.ACTION_POWER_CONNECTED );
|
||||
inputFilter.addAction( Intent.ACTION_POWER_DISCONNECTED );
|
||||
context.getApplicationContext().registerReceiver( new MogoReceiver(), inputFilter );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReceive( Context context, Intent intent ) {
|
||||
final String action = intent.getAction();
|
||||
if ( TextUtils.equals( action, Intent.ACTION_POWER_CONNECTED ) ) {
|
||||
|
||||
}
|
||||
if ( TextUtils.equals( action, Intent.ACTION_POWER_DISCONNECTED ) ) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -41,7 +41,7 @@
|
||||
<FrameLayout
|
||||
android:layout_width="@dimen/dp_660"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginLeft="@dimen/dp_70">
|
||||
android:layout_marginLeft="@dimen/dp_60">
|
||||
|
||||
<com.mogo.module.main.cards.OrientedViewPager
|
||||
android:id="@+id/module_main_id_cards_container"
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.mogo.map.MogoLatLng
|
||||
import com.mogo.map.navi.IMogoNaviListener
|
||||
import com.mogo.map.navi.MogoCalculatePath
|
||||
import com.mogo.map.navi.MogoNaviInfo
|
||||
import com.mogo.map.navi.MogoTraffic
|
||||
import com.mogo.map.search.inputtips.MogoTip
|
||||
import com.mogo.module.common.MogoModulePaths
|
||||
import com.mogo.module.navi.R
|
||||
@@ -53,7 +54,10 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener {
|
||||
override fun onoCalculateFailed() {
|
||||
}
|
||||
|
||||
private lateinit var mAdapter: CalculatePathAdapter
|
||||
override fun onUpdateTraffic(traffic: MogoTraffic?) {
|
||||
}
|
||||
|
||||
private lateinit var mAdapter: CalculatePathAdapter
|
||||
override fun getLayoutId(): Int {
|
||||
return R.layout.fragment_search_category
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ import com.mogo.map.marker.IMogoMarkerManager;
|
||||
import com.mogo.map.model.MogoPoi;
|
||||
import com.mogo.map.navi.IMogoNaviListener;
|
||||
import com.mogo.map.navi.MogoNaviInfo;
|
||||
import com.mogo.map.navi.MogoTraffic;
|
||||
import com.mogo.map.uicontroller.EnumMapUI;
|
||||
import com.mogo.map.uicontroller.IMogoMapUIController;
|
||||
import com.mogo.module.common.MogoModule;
|
||||
@@ -46,8 +47,6 @@ import com.mogo.service.module.ModuleType;
|
||||
import com.mogo.service.statusmanager.IMogoStatusChangedListener;
|
||||
import com.mogo.service.statusmanager.IMogoStatusManager;
|
||||
import com.mogo.service.statusmanager.StatusDescriptor;
|
||||
import com.mogo.service.voice.IMogoVoiceListener;
|
||||
import com.mogo.service.voice.IMogoVoiceManager;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
import java.util.List;
|
||||
@@ -239,8 +238,10 @@ public class MogoServiceProvider implements IMogoModuleProvider,
|
||||
registerCenter.registerMogoMapListener( getModuleName(), this );
|
||||
|
||||
mIntentManager = ( IMogoIntentManager ) ARouter.getInstance().build( MogoServicePaths.PATH_INTENT_MANAGER ).navigation( context );
|
||||
mIntentManager.registerIntentListener( MogoReceiver.ADAS_ACTION, this );
|
||||
|
||||
mIntentManager.registerIntentListener( MogoReceiver.ACTIION_ADAS, this );
|
||||
mIntentManager.registerIntentListener( Intent.ACTION_POWER_CONNECTED, this );
|
||||
mIntentManager.registerIntentListener( Intent.ACTION_POWER_DISCONNECTED, this );
|
||||
mIntentManager.registerIntentListener( MogoReceiver.ACTION_NWD_ACC, this );
|
||||
}
|
||||
|
||||
private void registerAIReceiver( Context context ) {
|
||||
@@ -262,7 +263,11 @@ public class MogoServiceProvider implements IMogoModuleProvider,
|
||||
}
|
||||
}
|
||||
filter.addAction( MogoReceiver.VOICE_ACTION );
|
||||
filter.addAction( MogoReceiver.ADAS_ACTION );
|
||||
filter.addAction( MogoReceiver.ACTIION_ADAS );
|
||||
filter.addAction( MogoReceiver.ACTION_NWD_ACC );
|
||||
// acc On
|
||||
filter.addAction( Intent.ACTION_POWER_CONNECTED );
|
||||
filter.addAction( Intent.ACTION_POWER_DISCONNECTED );
|
||||
try {
|
||||
context.getApplicationContext().registerReceiver( mAIAssistReceiver, filter );
|
||||
Logger.i( TAG, "register voice receiver." );
|
||||
@@ -376,7 +381,6 @@ public class MogoServiceProvider implements IMogoModuleProvider,
|
||||
@Override
|
||||
public void onMapChanged( MogoLatLng latLng, float zoom, float tilt, float bearing ) {
|
||||
|
||||
|
||||
if ( mIsCameraInited ) {
|
||||
mLastCustomRefreshCenterLocation = latLng;
|
||||
mIsCameraInited = false;
|
||||
@@ -477,11 +481,6 @@ public class MogoServiceProvider implements IMogoModuleProvider,
|
||||
|
||||
@Override
|
||||
public void onNaviInfoUpdate( MogoNaviInfo naviinfo ) {
|
||||
// 发送当前限速到 adas
|
||||
Intent intent = new Intent( "com.mogo.launcher.adas" );
|
||||
intent.putExtra( "adas_speed_limit", naviinfo.getCurrentLimitSpeed() );
|
||||
Logger.i( TAG, "send limit data to adas: limitspeed = %f", naviinfo.getCurrentLimitSpeed() );
|
||||
mContext.sendBroadcast( intent );
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -525,18 +524,37 @@ public class MogoServiceProvider implements IMogoModuleProvider,
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdateTraffic( MogoTraffic traffic ) {
|
||||
if ( traffic != null ) {
|
||||
|
||||
Logger.i( TAG, "speed = %d, desc = %s", traffic.getSpeedLimit(), traffic.getDesc() );
|
||||
// 发送当前限速到 adas
|
||||
Intent intent = new Intent( "com.mogo.launcher.adas" );
|
||||
intent.putExtra( "adas_speed_limit", traffic.getSpeedLimit() );
|
||||
mContext.sendBroadcast( intent );
|
||||
}
|
||||
}
|
||||
|
||||
public IMogoMarkerClickListener getMarkerClickListener() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onIntentReceived( String command, Intent intent ) {
|
||||
if ( MogoReceiver.ADAS_ACTION.equals( command ) ) {
|
||||
if ( MogoReceiver.ACTIION_ADAS.equals( command ) ) {
|
||||
if ( intent == null ) {
|
||||
return;
|
||||
}
|
||||
int status = intent.getIntExtra( MogoReceiver.PARAM_ADAS_STATUS, 0 );
|
||||
mStatusManager.setADASUIShow( getModuleName(), status == 1 );
|
||||
} else if ( Intent.ACTION_POWER_CONNECTED.equals( command ) ) {
|
||||
mStatusManager.setAccStatus( getModuleName(), true );
|
||||
} else if ( Intent.ACTION_POWER_DISCONNECTED.equals( command ) ) {
|
||||
mStatusManager.setAccStatus( getModuleName(), false );
|
||||
} else if ( MogoReceiver.ACTION_NWD_ACC.equals( command ) ) {
|
||||
int state = intent.getByteExtra( MogoReceiver.PARAM_ACC_STATUS, ( byte ) 0 );
|
||||
mStatusManager.setAccStatus( getModuleName(), state == 1 );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -30,10 +30,16 @@ public class MogoReceiver extends BroadcastReceiver {
|
||||
/**
|
||||
* ADAS
|
||||
*/
|
||||
public static final String ADAS_ACTION = "com.zhidao.autopilot.adas";
|
||||
public static final String ACTIION_ADAS = "com.zhidao.autopilot.adas";
|
||||
// ADAS 状态 0 - 关闭 1 - 打开
|
||||
public static final String PARAM_ADAS_STATUS = "adas_drawer_status";
|
||||
|
||||
// 诺威达 acc 状态
|
||||
public static final String ACTION_NWD_ACC = "com.nwd.action.ACTION_MCU_STATE_CHANGE";
|
||||
|
||||
// 诺威达 acc 状态
|
||||
public static final String PARAM_ACC_STATUS = "extra_mcu_state";
|
||||
|
||||
private IMogoIntentManager mMogoIntentManager;
|
||||
|
||||
public MogoReceiver( Context context ) {
|
||||
|
||||
@@ -25,7 +25,6 @@ import com.amap.api.services.geocoder.GeocodeSearch;
|
||||
import com.amap.api.services.geocoder.RegeocodeResult;
|
||||
import com.amap.api.services.poisearch.PoiResult;
|
||||
import com.amap.api.services.poisearch.PoiSearch;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.mogo.commons.mvp.IView;
|
||||
import com.mogo.commons.mvp.MvpFragment;
|
||||
import com.mogo.commons.mvp.Presenter;
|
||||
@@ -43,6 +42,7 @@ import com.mogo.map.marker.MogoMarkerOptions;
|
||||
import com.mogo.map.model.MogoPoi;
|
||||
import com.mogo.map.navi.IMogoNaviListener;
|
||||
import com.mogo.map.navi.MogoNaviInfo;
|
||||
import com.mogo.map.navi.MogoTraffic;
|
||||
import com.mogo.map.search.geo.MogoPoiItem;
|
||||
import com.mogo.map.search.poisearch.IMogoPoiSearchListener;
|
||||
import com.mogo.map.search.poisearch.MogoPoiResult;
|
||||
@@ -349,6 +349,11 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
|
||||
public void onoCalculateFailed() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdateTraffic( MogoTraffic traffic ) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
//监听marker点击
|
||||
@@ -799,7 +804,7 @@ public class TanluCardViewFragment extends MvpFragment<IView, Presenter<IView>>
|
||||
getViewLifecycleOwner().getLifecycle().removeObserver(mPresenter);
|
||||
TanluServiceHandler.getLocationClient().removeLocationListener(this);
|
||||
mMogoRegisterCenter.unregisterMogoNaviListener(TanluConstants.MODEL_NAME);
|
||||
mogoIntentManager.unregisterIntentListener(MogoReceiver.ADAS_ACTION);
|
||||
mogoIntentManager.unregisterIntentListener(MogoReceiver.ACTIION_ADAS );
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -8,7 +8,7 @@ import com.alibaba.android.arouter.facade.template.IProvider;
|
||||
* @author congtaowang
|
||||
* @since 2020-01-09
|
||||
* <p>
|
||||
* 免唤醒语音控制
|
||||
* 唤醒语音控制
|
||||
*/
|
||||
public interface IMogoIntentManager extends IProvider {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user