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

Commit eb8dce01 authored by Schneider Victor-tulias's avatar Schneider Victor-tulias
Browse files

Add handling for toggling keyboard stashing from the keyboard

Flag: ENABLE_KEYBOARD_TASKBAR_TOGGLE
Bug: 281726846
Fixes: 246660615
Test: toggled the transient taskbar with the meta+t input
Change-Id: I315f83850b11d24d8b55061d7111300effb43936
parent 125e1218
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -979,11 +979,16 @@ public class TaskbarActivityContext extends BaseTaskbarContext {
        mControllers.taskbarEduTooltipController.hide();
    }

    /** Returns {@code true} if taskbar All Apps is open. */
    /** Returns {@code true} if Taskbar All Apps is open. */
    public boolean isTaskbarAllAppsOpen() {
        return mControllers.taskbarAllAppsController.isOpen();
    }

    /** Toggles the Taskbar's stash state. */
    public void toggleTaskbarStash() {
        mControllers.taskbarStashController.toggleTaskbarStash();
    }

    /**
     * Called to start the taskbar translation spring to its settled translation (0).
     */
+1 −2
Original line number Diff line number Diff line
@@ -474,8 +474,7 @@ public class TaskbarLauncherStateController {
                    public void onAnimationEnd(Animator animation) {
                        TaskbarStashController stashController =
                                mControllers.taskbarStashController;
                        stashController.updateAndAnimateTransientTaskbar(
                                /* stash */ true, /* duration */ 0);
                        stashController.updateAndAnimateTransientTaskbar(/* stash */ true);
                    }
                });
            } else {
+7 −8
Original line number Diff line number Diff line
@@ -500,17 +500,10 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
        return mStashedHeight;
    }

    /**
     * Stash or unstashes the transient taskbar, using the default TASKBAR_STASH_DURATION.
     */
    public void updateAndAnimateTransientTaskbar(boolean stash) {
        updateAndAnimateTransientTaskbar(stash, TASKBAR_STASH_DURATION);
    }

    /**
     * Stash or unstashes the transient taskbar.
     */
    public void updateAndAnimateTransientTaskbar(boolean stash, long duration) {
    public void updateAndAnimateTransientTaskbar(boolean stash) {
        if (!DisplayController.isTransientTaskbar(mActivity)) {
            return;
        }
@@ -575,6 +568,12 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
        return false;
    }

    /** Toggles the Taskbar's stash state. */
    public void toggleTaskbarStash() {
        if (!DisplayController.isTransientTaskbar(mActivity) || !hasAnyFlag(FLAGS_IN_APP)) return;
        updateAndAnimateTransientTaskbar(!hasAnyFlag(FLAG_STASHED_IN_APP_AUTO));
    }

    /**
     * Adds the Taskbar unstash to Hotseat animator to the animator set.
     *
+10 −1
Original line number Diff line number Diff line
@@ -85,6 +85,7 @@ import com.android.launcher3.LauncherPrefs;
import com.android.launcher3.R;
import com.android.launcher3.Utilities;
import com.android.launcher3.anim.AnimatedFloat;
import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.provider.RestoreDbTask;
import com.android.launcher3.statehandlers.DesktopVisibilityController;
import com.android.launcher3.statemanager.StatefulActivity;
@@ -207,7 +208,15 @@ public class TouchInteractionService extends Service
        @BinderThread
        @Override
        public void onTaskbarToggled() {
            // To be implemented.
            if (!FeatureFlags.ENABLE_KEYBOARD_TASKBAR_TOGGLE.get()) return;
            MAIN_EXECUTOR.execute(() -> {
                TaskbarActivityContext activityContext =
                        mTaskbarManager.getCurrentActivityContext();

                if (activityContext != null) {
                    activityContext.toggleTaskbarStash();
                }
            });
        }

        @BinderThread
+4 −0
Original line number Diff line number Diff line
@@ -404,6 +404,10 @@ public final class FeatureFlags {
    public static final BooleanFlag ENABLE_KEYBOARD_QUICK_SWITCH = getDebugFlag(270396844,
            "ENABLE_KEYBOARD_QUICK_SWITCH", ENABLED, "Enables keyboard quick switching");

    public static final BooleanFlag ENABLE_KEYBOARD_TASKBAR_TOGGLE = getDebugFlag(281726846,
            "ENABLE_KEYBOARD_TASKBAR_TOGGLE", ENABLED,
            "Enables keyboard taskbar stash toggling");

    // TODO(Block 30): Clean up flags
    public static final BooleanFlag USE_SEARCH_REQUEST_TIMEOUT_OVERRIDES = getDebugFlag(270395010,
            "USE_SEARCH_REQUEST_TIMEOUT_OVERRIDES", DISABLED,