搜索结果指令

This commit is contained in:
zhangyuanzhen
2020-03-18 18:26:54 +08:00
parent 4a93fc881b
commit cc01be7e5d

View File

@@ -134,15 +134,7 @@ public class SearchFragment extends BaseSearchFragment
mPoiAdapter.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
MogoTip tag = (MogoTip) v.getTag(R.id.tag_position);
SearchPoi searchPoi = EntityConvertUtils.tipToPoi(tag);
if (tag.getPoint() == null) {
goCategory(tag.getName());
} else {
mSearchPresenter.insert(searchPoi);
SearchServiceHolder.INSTANCE.push(
ChoosePathFragment.Companion.newInstance(tag.getPoint()),
MogoModulePaths.PATH_FRAGMENT_CHOOSE_PAHT);
}
goResult(tag);
}
});
@@ -190,6 +182,18 @@ public class SearchFragment extends BaseSearchFragment
registerVoidCmd();
}
private void goResult(MogoTip tag) {
SearchPoi searchPoi = EntityConvertUtils.tipToPoi(tag);
if (tag.getPoint() == null) {
goCategory(tag.getName());
} else {
mSearchPresenter.insert(searchPoi);
SearchServiceHolder.INSTANCE.push(
ChoosePathFragment.Companion.newInstance(tag.getPoint()),
MogoModulePaths.PATH_FRAGMENT_CHOOSE_PAHT);
}
}
private void goSetting() {
SearchServiceHolder.INSTANCE.getAnalyticsManager()
.track("Navigation_button_setting", new HashMap<String, Object>());
@@ -331,6 +335,7 @@ public class SearchFragment extends BaseSearchFragment
}
showResult();
mPoiAdapter.setDatas(datums);
registerResult();
}
@Override public void showHistory(List<SearchPoi> datums) {
@@ -358,6 +363,21 @@ public class SearchFragment extends BaseSearchFragment
}
}
private void registerResult() {
List<MogoTip> datums = mPoiAdapter.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);
}
}
private List<String> cmds = new ArrayList<String>();
@Override
@@ -470,6 +490,10 @@ public class SearchFragment extends BaseSearchFragment
tvEmpty.setVisibility(View.VISIBLE);
}
private boolean isHistory(){
return rlHistory.getVisibility()==View.VISIBLE;
}
/**
* 类别
*/
@@ -552,10 +576,18 @@ public class SearchFragment extends BaseSearchFragment
if (!TextUtils.isEmpty(cmd) && cmd.startsWith("history")) {
String index = cmd.substring(7);
Integer integer = Integer.valueOf(index);
if (isHistory()){
if (integer < mHistoryAdapter.getItemCount()) {
SearchPoi item = mHistoryAdapter.getItem(integer);
goHistory(item);
}
}else {
if (integer < mPoiAdapter.getItemCount()) {
MogoTip item = mPoiAdapter.getItem(integer);
goResult(item);
}
}
return;
}
switch (cmd) {