add navilisten api

This commit is contained in:
wangcongtao
2020-03-26 11:02:06 +08:00
parent 6ca2ea7381
commit d77b63e6fa
6 changed files with 104 additions and 28 deletions

2
.idea/misc.xml generated
View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
</project>

View File

@@ -27,24 +27,24 @@ PASSWORD=xintai2018
RELEASE=false
# 模块版本
## 工程内模块
MOGO_MODULE_SHARE_VERSION=1.0.2-SNAPSHOT
MOGO_COMMONS_VERSION=1.0.2-SNAPSHOT
MOGO_UTILS_VERSION=1.0.2-SNAPSHOT
MAP_AMAP_VERSION=1.0.2-SNAPSHOT
MOGO_MAP_VERSION=1.0.2-SNAPSHOT
MOGO_MAP_API_VERSION=1.0.2-SNAPSHOT
MOGO_MODULE_COMMON_VERSION=1.0.2-SNAPSHOT
MOGO_MODULE_MAIN_VERSION=1.0.2-SNAPSHOT
MOGO_MODULE_MAP_VERSION=1.0.2-SNAPSHOT
MOGO_SERVICE_VERSION=1.0.2-SNAPSHOT
MOGO_SERVICE_API_VERSION=1.0.2-SNAPSHOT
MOGO_MODULE_APPS_VERSION=1.0.2-SNAPSHOT
MOGO_CONNECTION_VERSION=1.0.2-SNAPSHOT
MOGO_MODULE_NAVI_VERSION=1.0.2-SNAPSHOT
MOGO_MODULE_SERVICE_VERSION=1.0.2-SNAPSHOT
MOGO_MODULE_EXTENSIONS_VERSION=1.0.2-SNAPSHOT
MOGO_MODULE_SEARCH_VERSION=1.0.2-SNAPSHOT
MOGO_MODULE_BACK_VERSION=1.0.2-SNAPSHOT
MOGO_MODULE_SHARE_VERSION=1.0.3-SNAPSHOT
MOGO_COMMONS_VERSION=1.0.3-SNAPSHOT
MOGO_UTILS_VERSION=1.0.3-SNAPSHOT
MAP_AMAP_VERSION=1.0.3-SNAPSHOT
MOGO_MAP_VERSION=1.0.3-SNAPSHOT
MOGO_MAP_API_VERSION=1.0.3-SNAPSHOT
MOGO_MODULE_COMMON_VERSION=1.0.3-SNAPSHOT
MOGO_MODULE_MAIN_VERSION=1.0.3-SNAPSHOT
MOGO_MODULE_MAP_VERSION=1.0.3-SNAPSHOT
MOGO_SERVICE_VERSION=1.0.3-SNAPSHOT
MOGO_SERVICE_API_VERSION=1.0.3-SNAPSHOT
MOGO_MODULE_APPS_VERSION=1.0.3-SNAPSHOT
MOGO_CONNECTION_VERSION=1.0.3-SNAPSHOT
MOGO_MODULE_NAVI_VERSION=1.0.3-SNAPSHOT
MOGO_MODULE_SERVICE_VERSION=1.0.3-SNAPSHOT
MOGO_MODULE_EXTENSIONS_VERSION=1.0.3-SNAPSHOT
MOGO_MODULE_SEARCH_VERSION=1.0.3-SNAPSHOT
MOGO_MODULE_BACK_VERSION=1.0.3-SNAPSHOT
MOGO_MODULE_AUTHORIZE_VERSION=1.0.0-SNAPSHOT
MOGO_MODULE_GUIDE_VERSION=1.0.0-SNAPSHOT

View File

@@ -171,24 +171,33 @@ public class NaviListenerAdapter extends AMapNaviListenerAdapter {
@Override
public void onEndEmulatorNavi() {
stopNaviDelay();
stopNaviDelay( () -> {
MogoNaviListenerHandler.getInstance().onEndEmulatorNavi();
} );
}
@Override
public void onArriveDestination() {
stopNaviDelay();
stopNaviDelay( () -> {
MogoNaviListenerHandler.getInstance().onArriveDestination();
} );
}
/**
* 避免导航结束语音播报被立刻打断的情况
*
* @param after 停止后的行为
*/
private void stopNaviDelay() {
private void stopNaviDelay( Runnable after ) {
UiThreadHandler.postDelayed( () -> {
if ( TextUtils.isEmpty( mLastSpeakWord ) || !mLastSpeakWord.contains( "结束" ) ) {
AIAssist.getInstance( mContext ).speakTTSVoice( "到达目的地附近,本次导航结束" );
}
mLastSpeakWord = "";
stopNavi();
if ( after != null ) {
after.run();
}
}, 5_000L );
}
@@ -238,10 +247,6 @@ public class NaviListenerAdapter extends AMapNaviListenerAdapter {
if ( mNaviOverlayHelper != null ) {
mNaviOverlayHelper.handleClickedPolyline( polyline, isNaviing() );
mAMapNavi.selectRouteId( mNaviOverlayHelper.getSelectedPathId() );
// if ( isNaviing() ) {
// mAMapNavi.stopNavi();
// mAMapNavi.startNavi( mClient.isRealNavi() ? NaviType.GPS : NaviType.EMULATOR );
// }
}
}

View File

@@ -0,0 +1,20 @@
package com.mogo.map.navi;
/**
* @author congtaowang
* @since 2019-12-25
* <p>
* 导航监听:区分导航结束
*/
public interface IMogoNaviListener2 extends IMogoNaviListener {
/**
* 实际导航结束
*/
void onArriveDestination();
/**
* 模拟导航结束
*/
void onEndEmulatorNavi();
}

View File

@@ -6,7 +6,7 @@ package com.mogo.map.navi;
* <p>
* 地图监听注册管理
*/
public class MogoNaviListenerHandler implements IMogoNaviListener, IMogoNaviListenerRegister, IMogoAimlessModeListener {
public class MogoNaviListenerHandler implements IMogoNaviListener2, IMogoNaviListenerRegister, IMogoAimlessModeListener {
private static volatile MogoNaviListenerHandler sInstance;
@@ -128,4 +128,18 @@ public class MogoNaviListenerHandler implements IMogoNaviListener, IMogoNaviList
mAimlessDelegateListener.onUpdateCongestion( info );
}
}
@Override
public void onArriveDestination() {
if ( mDelegateListener instanceof IMogoNaviListener2 ) {
( ( IMogoNaviListener2 ) mDelegateListener ).onArriveDestination();
}
}
@Override
public void onEndEmulatorNavi() {
if ( mDelegateListener instanceof IMogoNaviListener2 ) {
( ( IMogoNaviListener2 ) mDelegateListener ).onEndEmulatorNavi();
}
}
}

View File

@@ -19,6 +19,7 @@ import com.mogo.map.model.MogoPoi;
import com.mogo.map.navi.IMogoAimlessModeListener;
import com.mogo.map.navi.IMogoCarLocationChangedListener;
import com.mogo.map.navi.IMogoNaviListener;
import com.mogo.map.navi.IMogoNaviListener2;
import com.mogo.map.navi.MogoCongestionInfo;
import com.mogo.map.navi.MogoNaviInfo;
import com.mogo.map.navi.MogoTraffic;
@@ -59,7 +60,7 @@ import java.util.Map;
*/
public class MogoModulesManager implements MogoModulesHandler,
IMogoMapListener,
IMogoNaviListener,
IMogoNaviListener2,
IMogoLocationListener,
IMogoIntentListener {
@@ -671,6 +672,42 @@ public class MogoModulesManager implements MogoModulesHandler,
}
}
@Override
public void onArriveDestination() {
Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners();
if ( iterator == null ) {
return;
}
while ( iterator.hasNext() ) {
IMogoNaviListener listener = iterator.next();
if ( listener instanceof IMogoNaviListener2 ) {
try {
( ( IMogoNaviListener2 ) listener ).onArriveDestination();
} catch ( Exception e ) {
Logger.e( TAG, e, "error." );
}
}
}
}
@Override
public void onEndEmulatorNavi() {
Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners();
if ( iterator == null ) {
return;
}
while ( iterator.hasNext() ) {
IMogoNaviListener listener = iterator.next();
if ( listener instanceof IMogoNaviListener2 ) {
try {
( ( IMogoNaviListener2 ) listener ).onEndEmulatorNavi();
} catch ( Exception e ) {
Logger.e( TAG, e, "error." );
}
}
}
}
@Override
public String getCurrentModuleName() {
return mEnableModuleName;