Loading quickstep/src/com/android/launcher3/search/DeviceSearchAdapterProvider.java +28 −6 Original line number Diff line number Diff line Loading @@ -18,15 +18,18 @@ package com.android.launcher3.search; import static com.android.launcher3.allapps.AllAppsGridAdapter.VIEW_TYPE_ICON; import android.app.search.SearchTarget; import android.util.SparseIntArray; import android.view.LayoutInflater; import android.view.ViewGroup; import com.android.launcher3.Launcher; import com.android.launcher3.R; import com.android.launcher3.allapps.AllAppsContainerView; import com.android.launcher3.allapps.AllAppsGridAdapter; import com.android.launcher3.allapps.search.SearchAdapterProvider; import com.android.systemui.plugins.shared.SearchTarget; import com.android.launcher3.config.FeatureFlags; import com.android.systemui.plugins.shared.SearchTargetLegacy; /** * Provides views for on-device search results Loading @@ -45,11 +48,13 @@ public class DeviceSearchAdapterProvider extends SearchAdapterProvider { public static final int VIEW_TYPE_SEARCH_WIDGET_LIVE = 1 << 15; public static final int VIEW_TYPE_SEARCH_WIDGET_PREVIEW = 1 << 16; private final AllAppsContainerView mAppsView; private final SparseIntArray mViewTypeToLayoutMap = new SparseIntArray(); public DeviceSearchAdapterProvider(Launcher launcher) { public DeviceSearchAdapterProvider(Launcher launcher, AllAppsContainerView appsView) { super(launcher); mAppsView = appsView; mViewTypeToLayoutMap.put(VIEW_TYPE_SEARCH_ICON, R.layout.search_result_icon); mViewTypeToLayoutMap.put(VIEW_TYPE_SEARCH_CORPUS_TITLE, R.layout.search_section_title); Loading @@ -68,13 +73,17 @@ public class DeviceSearchAdapterProvider extends SearchAdapterProvider { @Override public void onBindView(AllAppsGridAdapter.ViewHolder holder, int position) { SearchAdapterItem item = (SearchAdapterItem) Launcher.getLauncher(mLauncher) .getAppsView().getApps().getAdapterItems().get(position); SearchAdapterItem item = (SearchAdapterItem) mAppsView.getApps().getAdapterItems().get( position); SearchTargetHandler payloadResultView = (SearchTargetHandler) holder.itemView; if (FeatureFlags.SEARCH_TARGET_LEGACY.get()) { payloadResultView.applySearchTarget(item.getSearchTargetLegacy()); } else { payloadResultView.applySearchTarget(item.getSearchTarget()); } } @Override public boolean isSearchView(int viewType) { Loading @@ -101,10 +110,23 @@ public class DeviceSearchAdapterProvider extends SearchAdapterProvider { @Override public boolean onAdapterItemSelected(AllAppsGridAdapter.AdapterItem focusedItem) { if (focusedItem instanceof SearchTargetHandler) { SearchTarget searchTarget = ((SearchAdapterItem) focusedItem).getSearchTarget(); SearchTargetLegacy searchTarget = ((SearchAdapterItem) focusedItem) .getSearchTargetLegacy(); SearchEventTracker.INSTANCE.get(mLauncher).quickSelect(searchTarget); return true; } return false; } /** * Determines what view type should be used to present search target. * Returns -1 if viewType is not found */ public int getViewTypeForSearchTarget(SearchTarget t) { //TODO: Replace with values from :SearchUi if (t.getResultType() == 1 && t.getLayoutType().equals("icon")) { return VIEW_TYPE_SEARCH_ICON; } return -1; } } quickstep/src/com/android/launcher3/search/SearchAdapterItem.java +14 −1 Original line number Diff line number Diff line Loading @@ -27,13 +27,16 @@ import static com.android.launcher3.search.DeviceSearchAdapterProvider.VIEW_TYPE import static com.android.launcher3.search.DeviceSearchAdapterProvider.VIEW_TYPE_SEARCH_WIDGET_LIVE; import static com.android.launcher3.search.DeviceSearchAdapterProvider.VIEW_TYPE_SEARCH_WIDGET_PREVIEW; import android.app.search.SearchTarget; import com.android.launcher3.allapps.AllAppsGridAdapter; import com.android.systemui.plugins.shared.SearchTarget; import com.android.systemui.plugins.shared.SearchTargetLegacy; /** * Extension of AdapterItem that contains an extra payload specific to item */ public class SearchAdapterItem extends AllAppsGridAdapter.AdapterItem { private SearchTargetLegacy mSearchTargetLegacy; private SearchTarget mSearchTarget; Loading @@ -43,11 +46,21 @@ public class SearchAdapterItem extends AllAppsGridAdapter.AdapterItem { | VIEW_TYPE_SEARCH_WIDGET_PREVIEW | VIEW_TYPE_SEARCH_WIDGET_LIVE | VIEW_TYPE_SEARCH_SUGGEST; public SearchAdapterItem(SearchTargetLegacy searchTargetLegacy, int type) { mSearchTargetLegacy = searchTargetLegacy; viewType = type; } public SearchAdapterItem(SearchTarget searchTarget, int type) { mSearchTarget = searchTarget; viewType = type; } public SearchTargetLegacy getSearchTargetLegacy() { return mSearchTargetLegacy; } public SearchTarget getSearchTarget() { return mSearchTarget; } Loading quickstep/src/com/android/launcher3/search/SearchEventTracker.java +9 −8 Original line number Diff line number Diff line Loading @@ -23,8 +23,8 @@ import androidx.annotation.Nullable; import com.android.launcher3.util.MainThreadInitializedObject; import com.android.systemui.plugins.AllAppsSearchPlugin; import com.android.systemui.plugins.shared.SearchTarget; import com.android.systemui.plugins.shared.SearchTargetEvent; import com.android.systemui.plugins.shared.SearchTargetEventLegacy; import com.android.systemui.plugins.shared.SearchTargetLegacy; import java.util.WeakHashMap; Loading @@ -34,7 +34,7 @@ import java.util.WeakHashMap; public class SearchEventTracker { @Nullable private AllAppsSearchPlugin mPlugin; private final WeakHashMap<SearchTarget, SearchTargetHandler> private final WeakHashMap<SearchTargetLegacy, SearchTargetHandler> mCallbacks = new WeakHashMap<>(); public static final MainThreadInitializedObject<SearchEventTracker> INSTANCE = Loading @@ -60,26 +60,27 @@ public class SearchEventTracker { /** * Sends SearchTargetEvent to search provider */ public void notifySearchTargetEvent(SearchTargetEvent searchTargetEvent) { public void notifySearchTargetEvent(SearchTargetEventLegacy searchTargetEvent) { if (mPlugin != null) { UI_HELPER_EXECUTOR.post(() -> mPlugin.notifySearchTargetEvent(searchTargetEvent)); UI_HELPER_EXECUTOR.post(() -> mPlugin.notifySearchTargetEventLegacy(searchTargetEvent)); } } /** * Registers a {@link SearchTargetHandler} to handle quick launch for specified SearchTarget. */ public void registerWeakHandler(SearchTarget searchTarget, SearchTargetHandler targetHandler) { public void registerWeakHandler(SearchTargetLegacy searchTarget, SearchTargetHandler targetHandler) { mCallbacks.put(searchTarget, targetHandler); } /** * Handles quick select for SearchTarget */ public void quickSelect(SearchTarget searchTarget) { public void quickSelect(SearchTargetLegacy searchTarget) { SearchTargetHandler searchTargetHandler = mCallbacks.get(searchTarget); if (searchTargetHandler != null) { searchTargetHandler.handleSelection(SearchTargetEvent.QUICK_SELECT); searchTargetHandler.handleSelection(SearchTargetEventLegacy.QUICK_SELECT); } } Loading quickstep/src/com/android/launcher3/search/SearchResultIcon.java +17 −8 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static com.android.launcher3.util.Executors.MODEL_EXECUTOR; import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR; import android.app.RemoteAction; import android.app.search.SearchTarget; import android.content.ComponentName; import android.content.Context; import android.content.pm.ShortcutInfo; Loading @@ -42,8 +43,8 @@ import com.android.launcher3.model.data.RemoteActionItemInfo; import com.android.launcher3.model.data.WorkspaceItemInfo; import com.android.launcher3.touch.ItemLongClickListener; import com.android.launcher3.util.ComponentKey; import com.android.systemui.plugins.shared.SearchTarget; import com.android.systemui.plugins.shared.SearchTargetEvent; import com.android.systemui.plugins.shared.SearchTargetEventLegacy; import com.android.systemui.plugins.shared.SearchTargetLegacy; import java.util.function.Consumer; Loading @@ -69,7 +70,7 @@ public class SearchResultIcon extends BubbleTextView implements private final Launcher mLauncher; private SearchTarget mSearchTarget; private SearchTargetLegacy mSearchTarget; private Consumer<ItemInfoWithIcon> mOnItemInfoChanged; public SearchResultIcon(Context context) { Loading Loading @@ -100,13 +101,13 @@ public class SearchResultIcon extends BubbleTextView implements * Applies search target with a ItemInfoWithIcon consumer to be called after itemInfo is * constructed */ public void applySearchTarget(SearchTarget searchTarget, Consumer<ItemInfoWithIcon> cb) { public void applySearchTarget(SearchTargetLegacy searchTarget, Consumer<ItemInfoWithIcon> cb) { mOnItemInfoChanged = cb; applySearchTarget(searchTarget); } @Override public void applySearchTarget(SearchTarget searchTarget) { public void applySearchTarget(SearchTargetLegacy searchTarget) { mSearchTarget = searchTarget; SearchEventTracker.getInstance(getContext()).registerWeakHandler(mSearchTarget, this); setVisibility(VISIBLE); Loading @@ -127,9 +128,16 @@ public class SearchResultIcon extends BubbleTextView implements } } @Override public void applySearchTarget(SearchTarget searchTarget) { prepareUsingApp(new ComponentName(searchTarget.getPackageName(), searchTarget.getExtras().getString("class")), searchTarget.getUserHandle()); } private void prepareUsingApp(ComponentName componentName, UserHandle userHandle) { AllAppsStore appsStore = mLauncher.getAppsView().getAppsStore(); AppInfo appInfo = appsStore.getApp(new ComponentKey(componentName, userHandle)); if (appInfo == null) { setVisibility(GONE); return; Loading Loading @@ -181,7 +189,8 @@ public class SearchResultIcon extends BubbleTextView implements } private void reportEvent(int eventType) { SearchTargetEvent.Builder b = new SearchTargetEvent.Builder(mSearchTarget, eventType); SearchTargetEventLegacy.Builder b = new SearchTargetEventLegacy.Builder(mSearchTarget, eventType); if (mSearchTarget.getItemType().equals(TARGET_TYPE_SHORTCUT)) { b.setShortcutPosition(0); } Loading @@ -191,7 +200,7 @@ public class SearchResultIcon extends BubbleTextView implements @Override public void onClick(View view) { handleSelection(SearchTargetEvent.SELECT); handleSelection(SearchTargetEventLegacy.SELECT); } @Override Loading @@ -199,7 +208,7 @@ public class SearchResultIcon extends BubbleTextView implements if (!supportsLongPress(mSearchTarget.getItemType())) { return false; } reportEvent(SearchTargetEvent.LONG_PRESS); reportEvent(SearchTargetEventLegacy.LONG_PRESS); return ItemLongClickListener.INSTANCE_ALL_APPS.onLongClick(view); } Loading quickstep/src/com/android/launcher3/search/SearchResultIconRow.java +7 −6 Original line number Diff line number Diff line Loading @@ -39,8 +39,8 @@ import com.android.launcher3.R; import com.android.launcher3.model.data.ItemInfoWithIcon; import com.android.launcher3.model.data.PackageItemInfo; import com.android.launcher3.model.data.WorkspaceItemInfo; import com.android.systemui.plugins.shared.SearchTarget; import com.android.systemui.plugins.shared.SearchTargetEvent; import com.android.systemui.plugins.shared.SearchTargetEventLegacy; import com.android.systemui.plugins.shared.SearchTargetLegacy; import java.util.ArrayList; import java.util.List; Loading @@ -63,7 +63,7 @@ public class SearchResultIconRow extends LinearLayout implements private TextView mDescriptionView; private BubbleTextView[] mShortcutViews = new BubbleTextView[2]; private SearchTarget mSearchTarget; private SearchTargetLegacy mSearchTarget; private PackageItemInfo mProviderInfo; Loading Loading @@ -100,8 +100,9 @@ public class SearchResultIconRow extends LinearLayout implements lp.width = iconSize; bubbleTextView.setOnClickListener(view -> { WorkspaceItemInfo itemInfo = (WorkspaceItemInfo) bubbleTextView.getTag(); SearchTargetEvent event = new SearchTargetEvent.Builder(mSearchTarget, SearchTargetEvent.CHILD_SELECT).setShortcutPosition(itemInfo.rank).build(); SearchTargetEventLegacy event = new SearchTargetEventLegacy.Builder(mSearchTarget, SearchTargetEventLegacy.CHILD_SELECT).setShortcutPosition( itemInfo.rank).build(); SearchEventTracker.getInstance(getContext()).notifySearchTargetEvent(event); mLauncher.getItemOnClickListener().onClick(view); }); Loading @@ -111,7 +112,7 @@ public class SearchResultIconRow extends LinearLayout implements } @Override public void applySearchTarget(SearchTarget searchTarget) { public void applySearchTarget(SearchTargetLegacy searchTarget) { mSearchTarget = searchTarget; mResultIcon.applySearchTarget(searchTarget, this); String itemType = searchTarget.getItemType(); Loading Loading
quickstep/src/com/android/launcher3/search/DeviceSearchAdapterProvider.java +28 −6 Original line number Diff line number Diff line Loading @@ -18,15 +18,18 @@ package com.android.launcher3.search; import static com.android.launcher3.allapps.AllAppsGridAdapter.VIEW_TYPE_ICON; import android.app.search.SearchTarget; import android.util.SparseIntArray; import android.view.LayoutInflater; import android.view.ViewGroup; import com.android.launcher3.Launcher; import com.android.launcher3.R; import com.android.launcher3.allapps.AllAppsContainerView; import com.android.launcher3.allapps.AllAppsGridAdapter; import com.android.launcher3.allapps.search.SearchAdapterProvider; import com.android.systemui.plugins.shared.SearchTarget; import com.android.launcher3.config.FeatureFlags; import com.android.systemui.plugins.shared.SearchTargetLegacy; /** * Provides views for on-device search results Loading @@ -45,11 +48,13 @@ public class DeviceSearchAdapterProvider extends SearchAdapterProvider { public static final int VIEW_TYPE_SEARCH_WIDGET_LIVE = 1 << 15; public static final int VIEW_TYPE_SEARCH_WIDGET_PREVIEW = 1 << 16; private final AllAppsContainerView mAppsView; private final SparseIntArray mViewTypeToLayoutMap = new SparseIntArray(); public DeviceSearchAdapterProvider(Launcher launcher) { public DeviceSearchAdapterProvider(Launcher launcher, AllAppsContainerView appsView) { super(launcher); mAppsView = appsView; mViewTypeToLayoutMap.put(VIEW_TYPE_SEARCH_ICON, R.layout.search_result_icon); mViewTypeToLayoutMap.put(VIEW_TYPE_SEARCH_CORPUS_TITLE, R.layout.search_section_title); Loading @@ -68,13 +73,17 @@ public class DeviceSearchAdapterProvider extends SearchAdapterProvider { @Override public void onBindView(AllAppsGridAdapter.ViewHolder holder, int position) { SearchAdapterItem item = (SearchAdapterItem) Launcher.getLauncher(mLauncher) .getAppsView().getApps().getAdapterItems().get(position); SearchAdapterItem item = (SearchAdapterItem) mAppsView.getApps().getAdapterItems().get( position); SearchTargetHandler payloadResultView = (SearchTargetHandler) holder.itemView; if (FeatureFlags.SEARCH_TARGET_LEGACY.get()) { payloadResultView.applySearchTarget(item.getSearchTargetLegacy()); } else { payloadResultView.applySearchTarget(item.getSearchTarget()); } } @Override public boolean isSearchView(int viewType) { Loading @@ -101,10 +110,23 @@ public class DeviceSearchAdapterProvider extends SearchAdapterProvider { @Override public boolean onAdapterItemSelected(AllAppsGridAdapter.AdapterItem focusedItem) { if (focusedItem instanceof SearchTargetHandler) { SearchTarget searchTarget = ((SearchAdapterItem) focusedItem).getSearchTarget(); SearchTargetLegacy searchTarget = ((SearchAdapterItem) focusedItem) .getSearchTargetLegacy(); SearchEventTracker.INSTANCE.get(mLauncher).quickSelect(searchTarget); return true; } return false; } /** * Determines what view type should be used to present search target. * Returns -1 if viewType is not found */ public int getViewTypeForSearchTarget(SearchTarget t) { //TODO: Replace with values from :SearchUi if (t.getResultType() == 1 && t.getLayoutType().equals("icon")) { return VIEW_TYPE_SEARCH_ICON; } return -1; } }
quickstep/src/com/android/launcher3/search/SearchAdapterItem.java +14 −1 Original line number Diff line number Diff line Loading @@ -27,13 +27,16 @@ import static com.android.launcher3.search.DeviceSearchAdapterProvider.VIEW_TYPE import static com.android.launcher3.search.DeviceSearchAdapterProvider.VIEW_TYPE_SEARCH_WIDGET_LIVE; import static com.android.launcher3.search.DeviceSearchAdapterProvider.VIEW_TYPE_SEARCH_WIDGET_PREVIEW; import android.app.search.SearchTarget; import com.android.launcher3.allapps.AllAppsGridAdapter; import com.android.systemui.plugins.shared.SearchTarget; import com.android.systemui.plugins.shared.SearchTargetLegacy; /** * Extension of AdapterItem that contains an extra payload specific to item */ public class SearchAdapterItem extends AllAppsGridAdapter.AdapterItem { private SearchTargetLegacy mSearchTargetLegacy; private SearchTarget mSearchTarget; Loading @@ -43,11 +46,21 @@ public class SearchAdapterItem extends AllAppsGridAdapter.AdapterItem { | VIEW_TYPE_SEARCH_WIDGET_PREVIEW | VIEW_TYPE_SEARCH_WIDGET_LIVE | VIEW_TYPE_SEARCH_SUGGEST; public SearchAdapterItem(SearchTargetLegacy searchTargetLegacy, int type) { mSearchTargetLegacy = searchTargetLegacy; viewType = type; } public SearchAdapterItem(SearchTarget searchTarget, int type) { mSearchTarget = searchTarget; viewType = type; } public SearchTargetLegacy getSearchTargetLegacy() { return mSearchTargetLegacy; } public SearchTarget getSearchTarget() { return mSearchTarget; } Loading
quickstep/src/com/android/launcher3/search/SearchEventTracker.java +9 −8 Original line number Diff line number Diff line Loading @@ -23,8 +23,8 @@ import androidx.annotation.Nullable; import com.android.launcher3.util.MainThreadInitializedObject; import com.android.systemui.plugins.AllAppsSearchPlugin; import com.android.systemui.plugins.shared.SearchTarget; import com.android.systemui.plugins.shared.SearchTargetEvent; import com.android.systemui.plugins.shared.SearchTargetEventLegacy; import com.android.systemui.plugins.shared.SearchTargetLegacy; import java.util.WeakHashMap; Loading @@ -34,7 +34,7 @@ import java.util.WeakHashMap; public class SearchEventTracker { @Nullable private AllAppsSearchPlugin mPlugin; private final WeakHashMap<SearchTarget, SearchTargetHandler> private final WeakHashMap<SearchTargetLegacy, SearchTargetHandler> mCallbacks = new WeakHashMap<>(); public static final MainThreadInitializedObject<SearchEventTracker> INSTANCE = Loading @@ -60,26 +60,27 @@ public class SearchEventTracker { /** * Sends SearchTargetEvent to search provider */ public void notifySearchTargetEvent(SearchTargetEvent searchTargetEvent) { public void notifySearchTargetEvent(SearchTargetEventLegacy searchTargetEvent) { if (mPlugin != null) { UI_HELPER_EXECUTOR.post(() -> mPlugin.notifySearchTargetEvent(searchTargetEvent)); UI_HELPER_EXECUTOR.post(() -> mPlugin.notifySearchTargetEventLegacy(searchTargetEvent)); } } /** * Registers a {@link SearchTargetHandler} to handle quick launch for specified SearchTarget. */ public void registerWeakHandler(SearchTarget searchTarget, SearchTargetHandler targetHandler) { public void registerWeakHandler(SearchTargetLegacy searchTarget, SearchTargetHandler targetHandler) { mCallbacks.put(searchTarget, targetHandler); } /** * Handles quick select for SearchTarget */ public void quickSelect(SearchTarget searchTarget) { public void quickSelect(SearchTargetLegacy searchTarget) { SearchTargetHandler searchTargetHandler = mCallbacks.get(searchTarget); if (searchTargetHandler != null) { searchTargetHandler.handleSelection(SearchTargetEvent.QUICK_SELECT); searchTargetHandler.handleSelection(SearchTargetEventLegacy.QUICK_SELECT); } } Loading
quickstep/src/com/android/launcher3/search/SearchResultIcon.java +17 −8 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static com.android.launcher3.util.Executors.MODEL_EXECUTOR; import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR; import android.app.RemoteAction; import android.app.search.SearchTarget; import android.content.ComponentName; import android.content.Context; import android.content.pm.ShortcutInfo; Loading @@ -42,8 +43,8 @@ import com.android.launcher3.model.data.RemoteActionItemInfo; import com.android.launcher3.model.data.WorkspaceItemInfo; import com.android.launcher3.touch.ItemLongClickListener; import com.android.launcher3.util.ComponentKey; import com.android.systemui.plugins.shared.SearchTarget; import com.android.systemui.plugins.shared.SearchTargetEvent; import com.android.systemui.plugins.shared.SearchTargetEventLegacy; import com.android.systemui.plugins.shared.SearchTargetLegacy; import java.util.function.Consumer; Loading @@ -69,7 +70,7 @@ public class SearchResultIcon extends BubbleTextView implements private final Launcher mLauncher; private SearchTarget mSearchTarget; private SearchTargetLegacy mSearchTarget; private Consumer<ItemInfoWithIcon> mOnItemInfoChanged; public SearchResultIcon(Context context) { Loading Loading @@ -100,13 +101,13 @@ public class SearchResultIcon extends BubbleTextView implements * Applies search target with a ItemInfoWithIcon consumer to be called after itemInfo is * constructed */ public void applySearchTarget(SearchTarget searchTarget, Consumer<ItemInfoWithIcon> cb) { public void applySearchTarget(SearchTargetLegacy searchTarget, Consumer<ItemInfoWithIcon> cb) { mOnItemInfoChanged = cb; applySearchTarget(searchTarget); } @Override public void applySearchTarget(SearchTarget searchTarget) { public void applySearchTarget(SearchTargetLegacy searchTarget) { mSearchTarget = searchTarget; SearchEventTracker.getInstance(getContext()).registerWeakHandler(mSearchTarget, this); setVisibility(VISIBLE); Loading @@ -127,9 +128,16 @@ public class SearchResultIcon extends BubbleTextView implements } } @Override public void applySearchTarget(SearchTarget searchTarget) { prepareUsingApp(new ComponentName(searchTarget.getPackageName(), searchTarget.getExtras().getString("class")), searchTarget.getUserHandle()); } private void prepareUsingApp(ComponentName componentName, UserHandle userHandle) { AllAppsStore appsStore = mLauncher.getAppsView().getAppsStore(); AppInfo appInfo = appsStore.getApp(new ComponentKey(componentName, userHandle)); if (appInfo == null) { setVisibility(GONE); return; Loading Loading @@ -181,7 +189,8 @@ public class SearchResultIcon extends BubbleTextView implements } private void reportEvent(int eventType) { SearchTargetEvent.Builder b = new SearchTargetEvent.Builder(mSearchTarget, eventType); SearchTargetEventLegacy.Builder b = new SearchTargetEventLegacy.Builder(mSearchTarget, eventType); if (mSearchTarget.getItemType().equals(TARGET_TYPE_SHORTCUT)) { b.setShortcutPosition(0); } Loading @@ -191,7 +200,7 @@ public class SearchResultIcon extends BubbleTextView implements @Override public void onClick(View view) { handleSelection(SearchTargetEvent.SELECT); handleSelection(SearchTargetEventLegacy.SELECT); } @Override Loading @@ -199,7 +208,7 @@ public class SearchResultIcon extends BubbleTextView implements if (!supportsLongPress(mSearchTarget.getItemType())) { return false; } reportEvent(SearchTargetEvent.LONG_PRESS); reportEvent(SearchTargetEventLegacy.LONG_PRESS); return ItemLongClickListener.INSTANCE_ALL_APPS.onLongClick(view); } Loading
quickstep/src/com/android/launcher3/search/SearchResultIconRow.java +7 −6 Original line number Diff line number Diff line Loading @@ -39,8 +39,8 @@ import com.android.launcher3.R; import com.android.launcher3.model.data.ItemInfoWithIcon; import com.android.launcher3.model.data.PackageItemInfo; import com.android.launcher3.model.data.WorkspaceItemInfo; import com.android.systemui.plugins.shared.SearchTarget; import com.android.systemui.plugins.shared.SearchTargetEvent; import com.android.systemui.plugins.shared.SearchTargetEventLegacy; import com.android.systemui.plugins.shared.SearchTargetLegacy; import java.util.ArrayList; import java.util.List; Loading @@ -63,7 +63,7 @@ public class SearchResultIconRow extends LinearLayout implements private TextView mDescriptionView; private BubbleTextView[] mShortcutViews = new BubbleTextView[2]; private SearchTarget mSearchTarget; private SearchTargetLegacy mSearchTarget; private PackageItemInfo mProviderInfo; Loading Loading @@ -100,8 +100,9 @@ public class SearchResultIconRow extends LinearLayout implements lp.width = iconSize; bubbleTextView.setOnClickListener(view -> { WorkspaceItemInfo itemInfo = (WorkspaceItemInfo) bubbleTextView.getTag(); SearchTargetEvent event = new SearchTargetEvent.Builder(mSearchTarget, SearchTargetEvent.CHILD_SELECT).setShortcutPosition(itemInfo.rank).build(); SearchTargetEventLegacy event = new SearchTargetEventLegacy.Builder(mSearchTarget, SearchTargetEventLegacy.CHILD_SELECT).setShortcutPosition( itemInfo.rank).build(); SearchEventTracker.getInstance(getContext()).notifySearchTargetEvent(event); mLauncher.getItemOnClickListener().onClick(view); }); Loading @@ -111,7 +112,7 @@ public class SearchResultIconRow extends LinearLayout implements } @Override public void applySearchTarget(SearchTarget searchTarget) { public void applySearchTarget(SearchTargetLegacy searchTarget) { mSearchTarget = searchTarget; mResultIcon.applySearchTarget(searchTarget, this); String itemType = searchTarget.getItemType(); Loading