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

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