diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java index e7984a154e..9578f5079f 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java @@ -131,16 +131,22 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent .tag( MogoModulePaths.PATH_FRAGMENT_SEARCH ) .notifyMainModule( true ) .build() ); + + mApis.getAdasControllerApi().closeADAS(); } ); mHome = findViewById( R.id.module_entrance_id_home ); mHome.setOnClickListener( view -> { mMogoAddressManager.goHome(); + mApis.getAdasControllerApi().closeADAS(); + } ); mCompany = findViewById( R.id.module_entrance_id_company ); mCompany.setOnClickListener( view -> { mMogoAddressManager.goCompany(); + mApis.getAdasControllerApi().closeADAS(); + } ); mUploadRoadCondition = findViewById( R.id.module_entrance_id_upload_road_condition ); diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java index 9c2c7f16f8..6c17b3df7c 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java @@ -14,6 +14,7 @@ import androidx.viewpager.widget.ViewPager; import com.alibaba.android.arouter.launcher.ARouter; import com.mogo.commons.mvp.MvpActivity; import com.mogo.commons.voice.AIAssist; +import com.mogo.commons.voice.IMogoVoiceCmdCallBack; import com.mogo.map.location.IMogoLocationClient; import com.mogo.map.location.IMogoLocationListener; import com.mogo.map.location.MogoLocation; @@ -58,10 +59,11 @@ import java.util.List; * 描述:加载各个模块 */ public class MainActivity extends MvpActivity< MainView, MainPresenter > implements MainView, - IMogoLocationListener, - IMogoMarkerClickListener { + IMogoLocationListener, + IMogoMarkerClickListener, IMogoVoiceCmdCallBack { private static final String TAG = "MainActivity"; + private static final String BACK_CMD = "back"; private IMogoServiceApis mServiceApis; private IMogoMapService mMogoMapService; @@ -268,7 +270,14 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mMogoFragmentManager.registerMainFragmentStackTransactionListener( ( size ) -> { if ( size == 0 ) { showLayout(); + + AIAssist.getInstance(getContext()) + .unregisterUnWakeupCommand(BACK_CMD); + } else if ( size == 1 ) { + AIAssist.getInstance(getContext()) + .registerUnWakeupCommand(BACK_CMD, new String[] { "关闭", "返回" }, this); + UiThreadHandler.postDelayed(new Runnable() { @Override public void run() { mMogoMapUIController.setPointToCenter(0.5,0.5); @@ -410,4 +419,28 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mMogoFragmentManager = null; AIAssist.getInstance( this ).release(); } + + @Override public void onCmdSelected(String cmd) { + + if (TextUtils.equals(BACK_CMD,cmd)) { + mMogoFragmentManager.clearAll(); + } + + } + + @Override public void onCmdAction(String speakText) { + + } + + @Override public void onCmdCancel(String speakText) { + + } + + @Override public void onSpeakEnd(String speakText) { + + } + + @Override public void onSpeakSelectTimeOut(String speakText) { + + } } diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/SearchFragment.java b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/SearchFragment.java index 0b335233d8..2ce8b818e3 100644 --- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/SearchFragment.java +++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/SearchFragment.java @@ -177,9 +177,7 @@ public class SearchFragment extends BaseSearchFragment } }); - AIAssist.getInstance(getContext()) - .registerUnWakeupCommand(BACK_CMD, new String[] { "关闭", "返回" }, this); - registerVoidCmd(); + registerVoidCmd(); } private void goResult(MogoTip tag) { @@ -217,7 +215,6 @@ public class SearchFragment extends BaseSearchFragment private static final String WASH_CMD = "wash"; private static final String NAVI_SETTING_CMD = "setting"; private static final String CLEAN_CMD = "clean"; - private static final String BACK_CMD = "back"; private void registerVoidCmd() { @@ -522,7 +519,6 @@ public class SearchFragment extends BaseSearchFragment SearchServiceHolder.INSTANCE.getMapUIController().showMyLocation(true); moveMapToRight(); unRegisterVoice(); - AIAssist.getInstance(getContext()).unregisterUnWakeupCommand(BACK_CMD); } private void unRegisterVoice() { @@ -598,9 +594,7 @@ public class SearchFragment extends BaseSearchFragment new String[] { "确定","立即清空" }, new String[] { "取消" }, this); break; - case BACK_CMD: - SearchServiceHolder.INSTANCE.getFragmentManager().clearAll(); - break; + case GAS_CMD: goCategory(getString(R.string.navi_gas));