Remove hardcoded itemTypes from SearchTarget

- Introduces componentName and userHandle members to SearchTarget
- SearchTargetEvent now has searchTarget member
- Builder pattern for SearchTarget and SearchTargetEvent
- Search backend should add headers manually instead of launcher inferring sections

Bug: 171026321
Test: Manual
Change-Id: I28e0455e82b925277a17703b9aa061c8f9f15262
This commit is contained in:
Samuel Fufa
2020-10-16 02:01:31 -07:00
parent 9228ff53c2
commit 1f79eeda76
15 changed files with 313 additions and 391 deletions

View File

@@ -192,26 +192,15 @@ public class AllAppsGridAdapter extends
/**
* Extension of AdapterItem that contains an extra payload specific to item
*
* @param <T> Play load Type
*/
public static class SearchAdapterItem extends AdapterItem {
private SearchTarget mSearchTarget;
private String mSearchSessionId;
public SearchAdapterItem(SearchTarget searchTarget, int type) {
mSearchTarget = searchTarget;
viewType = type;
}
public void setSearchSessionId(String searchSessionId) {
mSearchSessionId = searchSessionId;
}
public String getSearchSessionId() {
return mSearchSessionId;
}
public SearchTarget getSearchTarget() {
return mSearchTarget;
}
@@ -484,8 +473,7 @@ public class AllAppsGridAdapter extends
SearchAdapterItem slicePayload = (SearchAdapterItem) mApps.getAdapterItems().get(
position);
SearchTarget searchTarget = slicePayload.getSearchTarget();
sliceView.setTag(new SearchSliceWrapper(mLauncher, sliceView, searchTarget,
slicePayload.getSearchSessionId(), slicePayload.position));
sliceView.setTag(new SearchSliceWrapper(mLauncher, sliceView, searchTarget));
break;
case VIEW_TYPE_SEARCH_CORPUS_TITLE:
@@ -500,7 +488,7 @@ public class AllAppsGridAdapter extends
SearchAdapterItem item =
(SearchAdapterItem) mApps.getAdapterItems().get(position);
SearchTargetHandler payloadResultView = (SearchTargetHandler) holder.itemView;
payloadResultView.setup(item);
payloadResultView.applySearchTarget(item.getSearchTarget());
break;
case VIEW_TYPE_ALL_APPS_DIVIDER:
// nothing to do