导航语音指令

This commit is contained in:
zhangyuanzhen
2020-03-06 22:12:15 +08:00
parent 259dced9c0
commit ef84f73895
16 changed files with 155 additions and 110 deletions

View File

@@ -20,6 +20,7 @@ import com.mogo.module.navi.constants.SearchServiceHolder
import com.mogo.module.navi.ui.adapter.SearchCategoryAdapter
import com.mogo.module.navi.ui.base.BaseFragment
import com.mogo.module.navi.uitls.BitmapUtils
import com.mogo.module.navi.uitls.StringUtils
import kotlinx.android.synthetic.main.fragment_search_category.cv_search_result
import kotlinx.android.synthetic.main.fragment_search_category.et_navi_search
import kotlinx.android.synthetic.main.fragment_search_category.iv_navi_back
@@ -81,11 +82,10 @@ class CategorySearchFragment : BaseFragment(), CategoryView, IMogoVoiceCmdCallBa
.longitude(datums[index].point?.lng ?: 0.0)
arrayList.add(options)
var int2String = StringUtils.int2String(index)
AIAssist.getInstance(context)
.registerUnWakeupCommand(
"position" + index, arrayOf("" + index + "", "" + index + ""), this
"position" + index, arrayOf("" + int2String + "", "" + int2String + ""), this
)
cmds.add("position" + index)
}

View File

@@ -200,8 +200,6 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB
SearchServiceHolder.getMarkerManger()
.removeMarkers()
AIAssist.getInstance(context)
.registerUnWakeupCommand("firstPath", arrayOf<String>(firstPath), this)
AIAssist.getInstance(context)
@@ -210,8 +208,6 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB
.registerUnWakeupCommand("thirdPath", arrayOf<String>(thirdPath), this)
AIAssist.getInstance(context)
.registerUnWakeupCommand("startNavi", arrayOf<String>(startNavi), this)
AIAssist.getInstance(context)
.registerUnWakeupCommand("cancel", arrayOf<String>("取消", "退出", "返回", "退出导航", "取消导航"), this)
}
@@ -255,8 +251,7 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener, IMogoVoiceCmdCallB
.unregisterUnWakeupCommand("thirdPath")
AIAssist.getInstance(context)
.unregisterUnWakeupCommand("startNavi")
AIAssist.getInstance(context)
.unregisterUnWakeupCommand("cancel")
}

View File

@@ -28,6 +28,7 @@ import com.mogo.module.navi.ui.base.UiController;
import com.mogo.module.navi.ui.setting.NaviSettingFragment;
import com.mogo.module.navi.uitls.StringUtils;
import com.mogo.service.fragmentmanager.FragmentDescriptor;
import com.mogo.service.fragmentmanager.FragmentStackTransactionListener;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -44,7 +45,8 @@ import java.util.List;
*/
@Route(path = MogoModulePaths.PATH_FRAGMENT_SEARCH)
public class SearchFragment extends BaseSearchFragment
implements SearchView, View.OnClickListener, IMogoVoiceCmdCallBack {
implements SearchView, View.OnClickListener, IMogoVoiceCmdCallBack,
FragmentStackTransactionListener {
public static final String TAG = "search";
@@ -183,7 +185,8 @@ public class SearchFragment extends BaseSearchFragment
}
});
registerVoidCmd();
AIAssist.getInstance(getContext())
.registerUnWakeupCommand(BACK_CMD, new String[] { "关闭", "返回" }, this);
}
private void goSetting() {
@@ -222,15 +225,13 @@ public class SearchFragment extends BaseSearchFragment
AIAssist.getInstance(getContext())
.registerUnWakeupCommand(RESTAURANT_CMD, new String[] { "餐馆" }, this);
AIAssist.getInstance(getContext())
.registerUnWakeupCommand(TOILET_CMD, new String[] { "卫生间","厕所" }, this);
.registerUnWakeupCommand(TOILET_CMD, new String[] { "卫生间", "厕所" }, this);
AIAssist.getInstance(getContext())
.registerUnWakeupCommand(PARK_CMD, new String[] { "停车场" }, this);
AIAssist.getInstance(getContext())
.registerUnWakeupCommand(NAVI_SETTING_CMD, new String[] { "导航设置" }, this);
AIAssist.getInstance(getContext())
.registerUnWakeupCommand(CLEAN_CMD, new String[] { "清空历史目的地" }, this);
AIAssist.getInstance(getContext())
.registerUnWakeupCommand(BACK_CMD, new String[] { "关闭", "返回" }, this);
AIAssist.getInstance(getContext())
.registerUnWakeupCommand(WASH_CMD, new String[] { "洗车" }, this);
}
@@ -339,11 +340,19 @@ public class SearchFragment extends BaseSearchFragment
}
showHistory();
mHistoryAdapter.setDatas(datums);
registerHistory();
}
private void registerHistory() {
List<SearchPoi> datums = mHistoryAdapter.getList();
for (int i = 0; i < datums.size(); i++) {
String s = StringUtils.int2String(i + 1);
AIAssist.getInstance(getContext())
.registerUnWakeupCommand("history" + i,
new String[] { "" + s + "", "" + s + "" }, this);
if (cmds.contains("history" + i)) {
continue;
}
cmds.add("history" + i);
}
}
@@ -480,6 +489,7 @@ public class SearchFragment extends BaseSearchFragment
SearchServiceHolder.INSTANCE.getMapUIController().showMyLocation(true);
moveMapToRight();
unRegisterVoice();
AIAssist.getInstance(getContext()).unregisterUnWakeupCommand(BACK_CMD);
}
private void unRegisterVoice() {
@@ -503,12 +513,33 @@ public class SearchFragment extends BaseSearchFragment
AIAssist.getInstance(getContext()).unregisterUnWakeupCommand(WASH_CMD);
AIAssist.getInstance(getContext()).unregisterUnWakeupCommand(NAVI_SETTING_CMD);
AIAssist.getInstance(getContext()).unregisterUnWakeupCommand(CLEAN_CMD);
AIAssist.getInstance(getContext()).unregisterUnWakeupCommand(BACK_CMD);
for (String cmd : cmds) {
AIAssist.getInstance(getContext()).unregisterUnWakeupCommand(cmd);
}
}
//@Override public void onPause() {
// super.onPause();
// unRegisterVoice();
//}
//
//@Override public void onResume() {
// super.onResume();
// registerVoidCmd();
// registerHistory();
//}
@Override public void onHiddenChanged(boolean hidden) {
super.onHiddenChanged(hidden);
if (hidden) {
unRegisterVoice();
} else {
registerVoidCmd();
registerHistory();
}
}
@Override public void onCmdSelected(String cmd) {
if (!TextUtils.isEmpty(cmd) && cmd.startsWith("history")) {
String index = cmd.substring(7);
@@ -584,4 +615,8 @@ public class SearchFragment extends BaseSearchFragment
@Override public void onSpeakSelectTimeOut(String speakText) {
}
@Override public void onTransaction(int size) {
}
}