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

Commit 7f696b8c 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 am: 3bd4116f

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



Change-Id: Ieba76c79efb36184ca41c39331ca74ec40c2dd4e
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 446bf921 3bd4116f
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