搜索结果指令

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() { mPoiAdapter.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) { @Override public void onClick(View v) {
MogoTip tag = (MogoTip) v.getTag(R.id.tag_position); MogoTip tag = (MogoTip) v.getTag(R.id.tag_position);
SearchPoi searchPoi = EntityConvertUtils.tipToPoi(tag); goResult(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);
}
} }
}); });
@@ -190,6 +182,18 @@ public class SearchFragment extends BaseSearchFragment
registerVoidCmd(); 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() { private void goSetting() {
SearchServiceHolder.INSTANCE.getAnalyticsManager() SearchServiceHolder.INSTANCE.getAnalyticsManager()
.track("Navigation_button_setting", new HashMap<String, Object>()); .track("Navigation_button_setting", new HashMap<String, Object>());
@@ -331,6 +335,7 @@ public class SearchFragment extends BaseSearchFragment
} }
showResult(); showResult();
mPoiAdapter.setDatas(datums); mPoiAdapter.setDatas(datums);
registerResult();
} }
@Override public void showHistory(List<SearchPoi> datums) { @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>(); private List<String> cmds = new ArrayList<String>();
@Override @Override
@@ -470,6 +490,10 @@ public class SearchFragment extends BaseSearchFragment
tvEmpty.setVisibility(View.VISIBLE); 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")) { if (!TextUtils.isEmpty(cmd) && cmd.startsWith("history")) {
String index = cmd.substring(7); String index = cmd.substring(7);
Integer integer = Integer.valueOf(index); Integer integer = Integer.valueOf(index);
if (isHistory()){
if (integer < mHistoryAdapter.getItemCount()) { if (integer < mHistoryAdapter.getItemCount()) {
SearchPoi item = mHistoryAdapter.getItem(integer); SearchPoi item = mHistoryAdapter.getItem(integer);
goHistory(item); goHistory(item);
} }
}else {
if (integer < mPoiAdapter.getItemCount()) {
MogoTip item = mPoiAdapter.getItem(integer);
goResult(item);
}
}
return; return;
} }
switch (cmd) { switch (cmd) {