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

Commit 0acab253 authored by Brian Isganitis's avatar Brian Isganitis
Browse files

Provide AllApps item OnLongClickListener through ActivityContext.

This cleans up how alternative AllApps implementations such as Taskbar
and SecondaryDisplay override the default INSTANCE_ALL_APPS listener.
This change will also be helpful for Toast in Taskbar drag-n-drop.

Test: Manual
Bug: 289261756
Flag: n/a
Change-Id: I55eb881bcd1e210852d435a3ea2a6686ce0a9838
parent f6191558
Loading
Loading
Loading
Loading
+1 −12
Original line number Diff line number Diff line
@@ -43,7 +43,6 @@ import com.android.launcher3.keyboard.FocusIndicatorHelper.SimpleFocusIndicatorH
import com.android.launcher3.model.data.ItemInfo;
import com.android.launcher3.model.data.ItemInfoWithIcon;
import com.android.launcher3.model.data.WorkspaceItemInfo;
import com.android.launcher3.touch.ItemLongClickListener;
import com.android.launcher3.views.ActivityContext;

import java.util.ArrayList;
@@ -66,7 +65,6 @@ public class PredictionRowView<T extends Context & ActivityContext>
    private FloatingHeaderView mParent;

    private boolean mPredictionsEnabled = false;
    private OnLongClickListener mOnIconLongClickListener = ItemLongClickListener.INSTANCE_ALL_APPS;

    public PredictionRowView(@NonNull Context context) {
        this(context, null);
@@ -176,15 +174,6 @@ public class PredictionRowView<T extends Context & ActivityContext>
        applyPredictionApps();
    }

    /**
     * Sets the long click listener for predictions for any future predictions.
     *
     * Existing predictions in the container are not updated with this new callback.
     */
    public void setOnIconLongClickListener(OnLongClickListener onIconLongClickListener) {
        mOnIconLongClickListener = onIconLongClickListener;
    }

    @Override
    public void onDeviceProfileChanged(DeviceProfile dp) {
        mNumPredictedAppsPerRow = dp.numShownAllAppsColumns;
@@ -202,7 +191,7 @@ public class PredictionRowView<T extends Context & ActivityContext>
                BubbleTextView icon = (BubbleTextView) inflater.inflate(
                        R.layout.all_apps_icon, this, false);
                icon.setOnClickListener(mActivityContext.getItemOnClickListener());
                icon.setOnLongClickListener(mOnIconLongClickListener);
                icon.setOnLongClickListener(mActivityContext.getAllAppsItemLongClickListener());
                icon.setLongPressTimeoutFactor(1f);
                icon.setOnFocusChangeListener(mFocusHelper);

+0 −10
Original line number Diff line number Diff line
@@ -18,9 +18,7 @@ package com.android.launcher3.secondarydisplay;
import static com.android.launcher3.util.OnboardingPrefs.ALL_APPS_VISITED_COUNT;

import android.content.Context;
import android.view.View;

import com.android.launcher3.allapps.ActivityAllAppsContainerView;
import com.android.launcher3.appprediction.AppsDividerView;
import com.android.launcher3.appprediction.PredictionRowView;
import com.android.launcher3.model.BgDataModel;
@@ -56,12 +54,4 @@ public final class SecondaryDisplayPredictionsImpl extends SecondaryDisplayPredi
                .findFixedRowByType(PredictionRowView.class)
                .setPredictedApps(item.items);
    }

    @Override
    public void setLongClickListener(ActivityAllAppsContainerView<?> appsView,
            View.OnLongClickListener onIconLongClickListener) {
        appsView.getFloatingHeaderView()
                .findFixedRowByType(PredictionRowView.class)
                .setOnIconLongClickListener(onIconLongClickListener);
    }
}
+0 −11
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ import static com.android.launcher3.util.OnboardingPrefs.ALL_APPS_VISITED_COUNT;

import com.android.launcher3.AbstractFloatingView;
import com.android.launcher3.appprediction.AppsDividerView;
import com.android.launcher3.appprediction.PredictionRowView;
import com.android.launcher3.taskbar.NavbarButtonsViewController;
import com.android.launcher3.taskbar.TaskbarControllers;
import com.android.launcher3.taskbar.TaskbarStashController;
@@ -54,7 +53,6 @@ final class TaskbarAllAppsViewController {
        mOverlayController = taskbarControllers.taskbarOverlayController;

        mSlideInView.init(new TaskbarAllAppsCallbacks());
        setUpIconLongClick();
        setUpAppDivider();
        setUpTaskbarStashing();
    }
@@ -69,15 +67,6 @@ final class TaskbarAllAppsViewController {
        mSlideInView.close(animate);
    }

    private void setUpIconLongClick() {
        mAppsView.setOnIconLongClickListener(
                mContext.getDragController()::startDragOnLongClick);
        mAppsView.getFloatingHeaderView()
                .findFixedRowByType(PredictionRowView.class)
                .setOnIconLongClickListener(
                        mContext.getDragController()::startDragOnLongClick);
    }

    private void setUpAppDivider() {
        mAppsView.getFloatingHeaderView()
                .findFixedRowByType(AppsDividerView.class)
+5 −0
Original line number Diff line number Diff line
@@ -125,6 +125,11 @@ public class TaskbarOverlayContext extends BaseTaskbarContext {
        return mTaskbarContext.getItemOnClickListener();
    }

    @Override
    public View.OnLongClickListener getAllAppsItemLongClickListener() {
        return mDragController::startDragOnLongClick;
    }

    @Override
    public PopupDataProvider getPopupDataProvider() {
        return mTaskbarContext.getPopupDataProvider();
+6 −0
Original line number Diff line number Diff line
@@ -194,6 +194,7 @@ import com.android.launcher3.states.RotationHelper;
import com.android.launcher3.testing.TestLogging;
import com.android.launcher3.testing.shared.TestProtocol;
import com.android.launcher3.touch.AllAppsSwipeController;
import com.android.launcher3.touch.ItemLongClickListener;
import com.android.launcher3.uioverrides.plugins.PluginManagerWrapper;
import com.android.launcher3.util.ActivityResultInfo;
import com.android.launcher3.util.ActivityTracker;
@@ -3372,4 +3373,9 @@ public class Launcher extends StatefulActivity<LauncherState>
    public boolean areFreeformTasksVisible() {
        return false; // Base launcher does not track freeform tasks
    }

    @Override
    public View.OnLongClickListener getAllAppsItemLongClickListener() {
        return ItemLongClickListener.INSTANCE_ALL_APPS;
    }
}
Loading