Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d5684000 authored by Brian Isganitis's avatar Brian Isganitis
Browse files

Have dragged search items return to All Apps icon if cancelled.

Test: Manual
Fix: 303302706
Flag: ENABLE_ALL_APPS_SEARCH_IN_TASKBAR
Change-Id: Id2a06b38a987566b8e334125a050196a2845921e
parent fe384078
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -21,6 +21,8 @@ import static com.android.launcher3.LauncherSettings.Favorites.CONTAINER_ALL_APP
import static com.android.launcher3.LauncherSettings.Favorites.CONTAINER_PREDICTION;
import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT;
import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_SEARCH_ACTION;
import static com.android.launcher3.logger.LauncherAtom.ContainerInfo.ContainerCase.EXTENDED_CONTAINERS;
import static com.android.launcher3.logger.LauncherAtomExtensions.ExtendedContainers.ContainerCase.DEVICE_SEARCH_RESULT_CONTAINER;

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
@@ -64,6 +66,7 @@ import com.android.launcher3.dragndrop.DragOptions;
import com.android.launcher3.dragndrop.DragView;
import com.android.launcher3.dragndrop.DraggableView;
import com.android.launcher3.graphics.DragPreviewProvider;
import com.android.launcher3.logger.LauncherAtom.ContainerInfo;
import com.android.launcher3.logging.StatsLogManager;
import com.android.launcher3.model.data.ItemInfo;
import com.android.launcher3.model.data.WorkspaceItemInfo;
@@ -626,7 +629,9 @@ public class TaskbarDragController extends DragController<BaseTaskbarContext> im

        if (tag instanceof ItemInfo) {
            ItemInfo item = (ItemInfo) tag;
            if (item.container == CONTAINER_ALL_APPS || item.container == CONTAINER_PREDICTION) {
            if (item.container == CONTAINER_ALL_APPS
                    || item.container == CONTAINER_PREDICTION
                    || isInSearchResultContainer(item)) {
                if (mDisallowGlobalDrag) {
                    // We're dragging in taskbarAllApps, we don't have folders or shortcuts
                    return iconView;
@@ -648,6 +653,13 @@ public class TaskbarDragController extends DragController<BaseTaskbarContext> im
        return iconView;
    }

    private static boolean isInSearchResultContainer(ItemInfo item) {
        ContainerInfo containerInfo = item.getContainerInfo();
        return containerInfo.getContainerCase() == EXTENDED_CONTAINERS
                && containerInfo.getExtendedContainers().getContainerCase()
                        == DEVICE_SEARCH_RESULT_CONTAINER;
    }

    private void setupReturnDragAnimator(float fromX, float fromY, View originalView,
            TaskbarReturnPropertiesListener animListener) {
        // Finish any pending return animation before starting a new return