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

Commit cc693247 authored by Jorim Jaggi's avatar Jorim Jaggi
Browse files

Revert "Improve unlock motion."

This reverts commit 03599a4c8fcc539948174136878f5e0ceec1eeda.

Change-Id: Iacd5f7ecd755ee2c8efdf1e37060a21702bcf08a
parent fd9d4414
Loading
Loading
Loading
Loading
+0 −3
Original line number Original line Diff line number Diff line
@@ -341,7 +341,4 @@


    <!-- end margin for multi user switch in expanded quick settings -->
    <!-- end margin for multi user switch in expanded quick settings -->
    <dimen name="multi_user_switch_expanded_margin">8dp</dimen>
    <dimen name="multi_user_switch_expanded_margin">8dp</dimen>

    <!-- the distance the panel moves up when starting the up motion on Keyguard -->
    <dimen name="keyguard_panel_move_up_distance">100dp</dimen>
</resources>
</resources>
+6 −8
Original line number Original line Diff line number Diff line
@@ -88,15 +88,13 @@ public class KeyguardClockPositionAlgorithm {


    public void run(Result result) {
    public void run(Result result) {
        int y = getClockY() - mKeyguardStatusHeight/2;
        int y = getClockY() - mKeyguardStatusHeight/2;
        float topAdjustment = getTopExpansionAdjustment();
        float clockAdjustment = getClockYExpansionAdjustment();
        float topPaddingAdjMultiplier = getTopPaddingAdjMultiplier();
        float topPaddingAdjMultiplier = getTopPaddingAdjMultiplier();
        result.stackScrollerPaddingAdjustment = (int) (topAdjustment*topPaddingAdjMultiplier);
        result.stackScrollerPaddingAdjustment = (int) (clockAdjustment*topPaddingAdjMultiplier);
        int clockNotificationsPadding = getClockNotificationsPadding()
        int clockNotificationsPadding = getClockNotificationsPadding()
                + result.stackScrollerPaddingAdjustment;
                + result.stackScrollerPaddingAdjustment;
        int padding = y + clockNotificationsPadding;
        int padding = y + clockNotificationsPadding;
        if (mNotificationCount == 0) {
        y += clockAdjustment;
            y += topAdjustment;
        }
        result.clockY = y;
        result.clockY = y;
        result.stackScrollerPadding = mKeyguardStatusHeight + padding;
        result.stackScrollerPadding = mKeyguardStatusHeight + padding;
        result.clockAlpha = getClockAlpha(result.stackScrollerPadding
        result.clockAlpha = getClockAlpha(result.stackScrollerPadding
@@ -119,8 +117,8 @@ public class KeyguardClockPositionAlgorithm {
        return (int) (getClockYFraction() * mHeight);
        return (int) (getClockYFraction() * mHeight);
    }
    }


    private float getTopExpansionAdjustment() {
    private float getClockYExpansionAdjustment() {
        float rubberbandFactor = getTopExpansionRubberbandFactor();
        float rubberbandFactor = getClockYExpansionRubberbandFactor();
        float value = (rubberbandFactor * (mMaxPanelHeight - mExpandedHeight));
        float value = (rubberbandFactor * (mMaxPanelHeight - mExpandedHeight));
        float t = value / mMaxPanelHeight;
        float t = value / mMaxPanelHeight;
        float slowedDownValue = -sSlowDownInterpolator.getInterpolation(t) * SLOW_DOWN_FACTOR
        float slowedDownValue = -sSlowDownInterpolator.getInterpolation(t) * SLOW_DOWN_FACTOR
@@ -132,7 +130,7 @@ public class KeyguardClockPositionAlgorithm {
        }
        }
    }
    }


    private float getTopExpansionRubberbandFactor() {
    private float getClockYExpansionRubberbandFactor() {
        float t = getNotificationAmountT();
        float t = getNotificationAmountT();
        t = Math.min(t, 1.0f);
        t = Math.min(t, 1.0f);
        t = (float) Math.pow(t, 0.3f);
        t = (float) Math.pow(t, 0.3f);
+0 −5
Original line number Original line Diff line number Diff line
@@ -694,11 +694,6 @@ public class NotificationPanelView extends PanelView implements
        return super.isScrolledToBottom();
        return super.isScrolledToBottom();
    }
    }


    @Override
    protected boolean hasNotifications() {
        return mNotificationStackScroller.getNotGoneChildCount() > 0;
    }

    @Override
    @Override
    protected int getMaxPanelHeight() {
    protected int getMaxPanelHeight() {
        // TODO: Figure out transition for collapsing when QS is open, adjust height here.
        // TODO: Figure out transition for collapsing when QS is open, adjust height here.
+2 −68
Original line number Original line Diff line number Diff line
@@ -30,8 +30,6 @@ import android.view.ViewConfiguration;
import android.view.ViewTreeObserver;
import android.view.ViewTreeObserver;
import android.view.animation.AnimationUtils;
import android.view.animation.AnimationUtils;
import android.view.animation.Interpolator;
import android.view.animation.Interpolator;
import android.view.animation.LinearInterpolator;
import android.view.animation.PathInterpolator;
import android.widget.FrameLayout;
import android.widget.FrameLayout;


import com.android.systemui.R;
import com.android.systemui.R;
@@ -45,8 +43,6 @@ public abstract class PanelView extends FrameLayout {
    public static final boolean DEBUG = PanelBar.DEBUG;
    public static final boolean DEBUG = PanelBar.DEBUG;
    public static final String TAG = PanelView.class.getSimpleName();
    public static final String TAG = PanelView.class.getSimpleName();


    private static final long KEYGUARD_MOVE_UP_LENGTH = 300;

    private final void logf(String fmt, Object... args) {
    private final void logf(String fmt, Object... args) {
        Log.v(TAG, (mViewName != null ? (mViewName + ": ") : "") + String.format(fmt, args));
        Log.v(TAG, (mViewName != null ? (mViewName + ": ") : "") + String.format(fmt, args));
    }
    }
@@ -66,9 +62,6 @@ public abstract class PanelView extends FrameLayout {
    protected int mTouchSlop;
    protected int mTouchSlop;
    protected boolean mHintAnimationRunning;
    protected boolean mHintAnimationRunning;
    private boolean mOverExpandedBeforeFling;
    private boolean mOverExpandedBeforeFling;
    private boolean mKeyguardMovingUp;
    private int mKeyguardMoveUpDistance;
    private float mKeyguardFingerHeight;


    private ValueAnimator mHeightAnimator;
    private ValueAnimator mHeightAnimator;
    private ObjectAnimator mPeekAnimator;
    private ObjectAnimator mPeekAnimator;
@@ -89,8 +82,6 @@ public abstract class PanelView extends FrameLayout {


    private Interpolator mLinearOutSlowInInterpolator;
    private Interpolator mLinearOutSlowInInterpolator;
    private Interpolator mBounceInterpolator;
    private Interpolator mBounceInterpolator;
    private Interpolator mKeyguardMoveUpInterpolator;
    private final Interpolator mLinearInterpolator = new LinearInterpolator();


    protected void onExpandingFinished() {
    protected void onExpandingFinished() {
        mBar.onExpandingFinished();
        mBar.onExpandingFinished();
@@ -118,7 +109,6 @@ public abstract class PanelView extends FrameLayout {
        mLinearOutSlowInInterpolator =
        mLinearOutSlowInInterpolator =
                AnimationUtils.loadInterpolator(context, android.R.interpolator.fast_out_slow_in);
                AnimationUtils.loadInterpolator(context, android.R.interpolator.fast_out_slow_in);
        mBounceInterpolator = new BounceInterpolator();
        mBounceInterpolator = new BounceInterpolator();
        mKeyguardMoveUpInterpolator = new PathInterpolator(0.6f, 0f, 0.4f, 1f);
    }
    }


    protected void loadDimens() {
    protected void loadDimens() {
@@ -130,8 +120,6 @@ public abstract class PanelView extends FrameLayout {
        mTouchSlop = configuration.getScaledTouchSlop();
        mTouchSlop = configuration.getScaledTouchSlop();
        mHintDistance = res.getDimension(R.dimen.hint_move_distance);
        mHintDistance = res.getDimension(R.dimen.hint_move_distance);
        mEdgeTapAreaWidth = res.getDimensionPixelSize(R.dimen.edge_tap_area_width);
        mEdgeTapAreaWidth = res.getDimensionPixelSize(R.dimen.edge_tap_area_width);
        mKeyguardMoveUpDistance =
                res.getDimensionPixelSize(R.dimen.keyguard_panel_move_up_distance);
    }
    }


    private void trackMovement(MotionEvent event) {
    private void trackMovement(MotionEvent event) {
@@ -229,14 +217,9 @@ public abstract class PanelView extends FrameLayout {
                    mJustPeeked = false;
                    mJustPeeked = false;
                }
                }
                if (!mJustPeeked && (!waitForTouchSlop || mTracking)) {
                if (!mJustPeeked && (!waitForTouchSlop || mTracking)) {
                    if (mStatusBar.getBarState() == StatusBarState.KEYGUARD &&
                            !hasNotifications()) {
                        setExpandedHeightKeyguard(newHeight);
                    } else {
                    setExpandedHeightInternal(newHeight);
                    setExpandedHeightInternal(newHeight);
                    mBar.panelExpansionChanged(PanelView.this, mExpandedFraction);
                    mBar.panelExpansionChanged(PanelView.this, mExpandedFraction);
                }
                }
                }


                trackMovement(event);
                trackMovement(event);
                break;
                break;
@@ -264,56 +247,10 @@ public abstract class PanelView extends FrameLayout {
        return !waitForTouchSlop || mTracking;
        return !waitForTouchSlop || mTracking;
    }
    }


    protected abstract boolean hasNotifications();

    private void setExpandedHeightKeyguard(float newHeight) {
        mKeyguardFingerHeight = newHeight;
        if (newHeight < getMaxPanelHeight() && !mKeyguardMovingUp) {
            mKeyguardMovingUp = true;
            ValueAnimator anim = createHeightAnimator(
                    getMaxPanelHeight() - mKeyguardMoveUpDistance);
            anim.setDuration(KEYGUARD_MOVE_UP_LENGTH);
            anim.setInterpolator(mKeyguardMoveUpInterpolator);
            anim.addListener(new AnimatorListenerAdapter() {
                @Override
                public void onAnimationEnd(Animator animation) {
                    mHeightAnimator = null;
                }
            });
            mHeightAnimator = anim;
            anim.start();
            postOnAnimationDelayed(new Runnable() {
                @Override
                public void run() {
                    if (mKeyguardFingerHeight < mExpandedHeight && mHeightAnimator != null
                            && mKeyguardMovingUp) {
                        mHeightAnimator.cancel();
                        float target = getMaxPanelHeight() - 1.75f * mKeyguardMoveUpDistance;
                        float diff = mExpandedHeight - target;
                        ValueAnimator anim = createHeightAnimator(target);
                        float velocity = 2.5f * mKeyguardMoveUpDistance /
                                (KEYGUARD_MOVE_UP_LENGTH / 1000f);
                        anim.setInterpolator(mLinearInterpolator);
                        anim.setDuration(Math.max(0, (long) (diff / velocity * 1000f)));
                        anim.addListener(new AnimatorListenerAdapter() {
                            @Override
                            public void onAnimationEnd(Animator animation) {
                                mHeightAnimator = null;
                            }
                        });
                        mHeightAnimator = anim;
                        anim.start();
                    }
                }
            }, KEYGUARD_MOVE_UP_LENGTH / 2);
        }
    }

    protected abstract boolean hasConflictingGestures();
    protected abstract boolean hasConflictingGestures();


    protected void onTrackingStopped(boolean expand) {
    protected void onTrackingStopped(boolean expand) {
        mTracking = false;
        mTracking = false;
        mKeyguardMovingUp = false;
        mBar.onTrackingStopped(PanelView.this, expand);
        mBar.onTrackingStopped(PanelView.this, expand);
    }
    }


@@ -444,9 +381,6 @@ public abstract class PanelView extends FrameLayout {


    protected void fling(float vel, boolean expand) {
    protected void fling(float vel, boolean expand) {
        cancelPeek();
        cancelPeek();
        if (mHeightAnimator != null) {
            mHeightAnimator.cancel();
        }
        float target = expand ? getMaxPanelHeight() : 0.0f;
        float target = expand ? getMaxPanelHeight() : 0.0f;
        if (target == mExpandedHeight || getOverExpansionAmount() > 0f && expand) {
        if (target == mExpandedHeight || getOverExpansionAmount() > 0f && expand) {
            onExpandingFinished();
            onExpandingFinished();