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

Commit a8f2426d authored by Matthew Ng's avatar Matthew Ng
Browse files

Beginning implementation of quickscrub (1/3)

When enabled via launcher, the home button is able to be be pulled to
the right side to send events to launcher via binder calls of when the
quick scrub operation starts, ends and progress changes between each
interval. Launcher will use this information to determine how the
recents apps are laid out with vibration feedback.

When the home button is pulled and released under 150ms, quick switch
will occur. A binder call will tell launcher to switch to the previous
app used.

While quick scrub or switch is active, launcher will not get any nav
bar motion events, only events for quick scrub and switch.

Bug: 67957962
Bug: 70180755
Test: enable new experience via launcher settings
Change-Id: I344f5d67f259ff454205ea4d2e95140f783d3b5c
parent 32308613
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -293,6 +293,11 @@ interface IWindowManager
     */
    boolean hasNavigationBar();

    /**
    * Get the position of the nav bar
    */
    int getNavBarPosition();

    /**
     * Lock the device immediately with the specified options (can be null).
     */
+5 −0
Original line number Diff line number Diff line
@@ -45,6 +45,11 @@ public interface WindowManagerPolicyConstants {
    int PRESENCE_INTERNAL = 1 << 0;
    int PRESENCE_EXTERNAL = 1 << 1;

    // Navigation bar position values
    int NAV_BAR_LEFT = 1 << 0;
    int NAV_BAR_RIGHT = 1 << 1;
    int NAV_BAR_BOTTOM = 1 << 2;

    /**
     * Sticky broadcast of the current HDMI plugged state.
     */
+2 −0
Original line number Diff line number Diff line
@@ -50,5 +50,7 @@ public interface NavBarButtonProvider extends Plugin {
        }

        void setDarkIntensity(float intensity);

        void setDelayTouchFeedback(boolean shouldDelay);
    }
}
+7 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@

package com.android.systemui.plugins.statusbar.phone;

import android.graphics.Canvas;
import android.view.MotionEvent;

import com.android.systemui.plugins.Plugin;
@@ -35,6 +36,12 @@ public interface NavGesture extends Plugin {

        public void setBarState(boolean vertical, boolean isRtl);

        public void onDraw(Canvas canvas);

        public void onDarkIntensityChange(float intensity);

        public void onLayout(boolean changed, int left, int top, int right, int bottom);

        public default void destroy() { }
    }

+3 −0
Original line number Diff line number Diff line
@@ -143,6 +143,9 @@

    <color name="remote_input_accent">#eeeeee</color>

    <color name="quick_step_track_background_dark">#61000000</color>
    <color name="quick_step_track_background_light">#4DFFFFFF</color>

    <!-- Keyboard shortcuts colors -->
    <color name="ksh_application_group_color">#fff44336</color>
    <color name="ksh_keyword_color">#d9000000</color>
Loading