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

Commit 3bd4116f authored by Jason Mylen's avatar Jason Mylen Committed by Automerger Merge Worker
Browse files

Merge "Move vibration haptic from down event to the first move expanding...

Merge "Move vibration haptic from down event to the first move expanding shade." into tm-qpr-dev am: bc3406f6

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19970185



Change-Id: I6b799e8fd42554214784f08d7a82423661d0ff71
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents b35a6c08 bc3406f6
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -2230,7 +2230,8 @@ public final class NotificationPanelViewController extends PanelViewController {
            if (cancel) {
                collapse(false /* delayed */, 1.0f /* speedUpFactor */);
            } else {
                maybeVibrateOnOpening();
                // Window never will receive touch events that typically trigger haptic on open.
                maybeVibrateOnOpening(false /* openingWithTouch */);
                fling(velocity > 1f ? 1000f * velocity : 0, true /* expand */);
            }
            onTrackingStopped(false);
+17 −4
Original line number Diff line number Diff line
@@ -96,6 +96,7 @@ public abstract class PanelViewController {
    private float mMinExpandHeight;
    private boolean mPanelUpdateWhenAnimatorEnds;
    private final boolean mVibrateOnOpening;
    private boolean mHasVibratedOnOpen = false;
    protected boolean mIsLaunchAnimationRunning;
    private int mFixedDuration = NO_FIXED_DURATION;
    protected float mOverExpansion;
@@ -353,8 +354,8 @@ public abstract class PanelViewController {

    private void startOpening(MotionEvent event) {
        updatePanelExpansionAndVisibility();
        maybeVibrateOnOpening();

        // Reset at start so haptic can be triggered as soon as panel starts to open.
        mHasVibratedOnOpen = false;
        //TODO: keyguard opens QS a different way; log that too?

        // Log the position of the swipe that opened the panel
@@ -368,9 +369,18 @@ public abstract class PanelViewController {
                .log(LockscreenUiEvent.LOCKSCREEN_UNLOCKED_NOTIFICATION_PANEL_EXPAND);
    }

    protected void maybeVibrateOnOpening() {
    /**
     * Maybe vibrate as panel is opened.
     *
     * @param openingWithTouch Whether the panel is being opened with touch. If the panel is instead
     * being opened programmatically (such as by the open panel gesture), we always play haptic.
     */
    protected void maybeVibrateOnOpening(boolean openingWithTouch) {
        if (mVibrateOnOpening) {
            if (!openingWithTouch || !mHasVibratedOnOpen) {
                mVibratorHelper.vibrate(VibrationEffect.EFFECT_TICK);
                mHasVibratedOnOpen = true;
            }
        }
    }

@@ -1371,6 +1381,9 @@ public abstract class PanelViewController {
                    break;
                case MotionEvent.ACTION_MOVE:
                    addMovement(event);
                    if (!isFullyCollapsed()) {
                        maybeVibrateOnOpening(true /* openingWithTouch */);
                    }
                    float h = y - mInitialExpandY;

                    // If the panel was collapsed when touching, we only need to check for the