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

Commit 1a1bfe14 authored by Miranda Kephart's avatar Miranda Kephart Committed by Automerger Merge Worker
Browse files

Merge "Make screenshot dismiss to the side on timeout" into sc-qpr1-dev am: df2554e6

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

Change-Id: I518b21c7e66ef0cc154529b961296b0718289499
parents 813783a1 df2554e6
Loading
Loading
Loading
Loading
+12 −19
Original line number Original line Diff line number Diff line
@@ -118,8 +118,8 @@ public class ScreenshotView extends FrameLayout implements
    private static final long SCREENSHOT_TO_CORNER_SCALE_DURATION_MS = 234;
    private static final long SCREENSHOT_TO_CORNER_SCALE_DURATION_MS = 234;
    private static final long SCREENSHOT_ACTIONS_EXPANSION_DURATION_MS = 400;
    private static final long SCREENSHOT_ACTIONS_EXPANSION_DURATION_MS = 400;
    private static final long SCREENSHOT_ACTIONS_ALPHA_DURATION_MS = 100;
    private static final long SCREENSHOT_ACTIONS_ALPHA_DURATION_MS = 100;
    private static final long SCREENSHOT_DISMISS_Y_DURATION_MS = 350;
    private static final long SCREENSHOT_DISMISS_X_DURATION_MS = 350;
    private static final long SCREENSHOT_DISMISS_ALPHA_DURATION_MS = 183;
    private static final long SCREENSHOT_DISMISS_ALPHA_DURATION_MS = 350;
    private static final long SCREENSHOT_DISMISS_ALPHA_OFFSET_MS = 50; // delay before starting fade
    private static final long SCREENSHOT_DISMISS_ALPHA_OFFSET_MS = 50; // delay before starting fade
    private static final float SCREENSHOT_ACTIONS_START_SCALE_X = .7f;
    private static final float SCREENSHOT_ACTIONS_START_SCALE_X = .7f;
    private static final float ROUNDED_CORNER_RADIUS = .25f;
    private static final float ROUNDED_CORNER_RADIUS = .25f;
@@ -989,7 +989,6 @@ public class ScreenshotView extends FrameLayout implements
        mScrollingScrim.setVisibility(View.GONE);
        mScrollingScrim.setVisibility(View.GONE);
        mScrollablePreview.setVisibility(View.GONE);
        mScrollablePreview.setVisibility(View.GONE);
        mScreenshotStatic.setTranslationX(0);
        mScreenshotStatic.setTranslationX(0);
        mScreenshotPreview.setTranslationY(0);
        mScreenshotPreview.setContentDescription(
        mScreenshotPreview.setContentDescription(
                mContext.getResources().getString(R.string.screenshot_preview_description));
                mContext.getResources().getString(R.string.screenshot_preview_description));
        mScreenshotPreview.setOnClickListener(null);
        mScreenshotPreview.setOnClickListener(null);
@@ -1005,9 +1004,6 @@ public class ScreenshotView extends FrameLayout implements
        mSmartChips.clear();
        mSmartChips.clear();
        mQuickShareChip = null;
        mQuickShareChip = null;
        setAlpha(1);
        setAlpha(1);
        mDismissButton.setTranslationY(0);
        mActionsContainer.setTranslationY(0);
        mActionsContainerBackground.setTranslationY(0);
        mScreenshotSelectorView.stop();
        mScreenshotSelectorView.stop();
    }
    }


@@ -1035,22 +1031,19 @@ public class ScreenshotView extends FrameLayout implements
            setAlpha(1 - animation.getAnimatedFraction());
            setAlpha(1 - animation.getAnimatedFraction());
        });
        });


        ValueAnimator yAnim = ValueAnimator.ofFloat(0, 1);
        ValueAnimator xAnim = ValueAnimator.ofFloat(0, 1);
        yAnim.setInterpolator(mAccelerateInterpolator);
        xAnim.setInterpolator(mAccelerateInterpolator);
        yAnim.setDuration(SCREENSHOT_DISMISS_Y_DURATION_MS);
        xAnim.setDuration(SCREENSHOT_DISMISS_X_DURATION_MS);
        float screenshotStartY = mScreenshotPreview.getTranslationY();
        float deltaX = mDirectionLTR
        float dismissStartY = mDismissButton.getTranslationY();
                    ? -1 * (mScreenshotPreviewBorder.getX() + mScreenshotPreviewBorder.getWidth())
        yAnim.addUpdateListener(animation -> {
                    : (mDisplayMetrics.widthPixels - mScreenshotPreviewBorder.getX());
            float yDelta = MathUtils.lerp(0, mDismissDeltaY, animation.getAnimatedFraction());
        xAnim.addUpdateListener(animation -> {
            mScreenshotPreview.setTranslationY(screenshotStartY + yDelta);
            float currXDelta = MathUtils.lerp(0, deltaX, animation.getAnimatedFraction());
            mScreenshotPreviewBorder.setTranslationY(screenshotStartY + yDelta);
            mScreenshotStatic.setTranslationX(currXDelta);
            mDismissButton.setTranslationY(dismissStartY + yDelta);
            mActionsContainer.setTranslationY(yDelta);
            mActionsContainerBackground.setTranslationY(yDelta);
        });
        });


        AnimatorSet animSet = new AnimatorSet();
        AnimatorSet animSet = new AnimatorSet();
        animSet.play(yAnim).with(alphaAnim);
        animSet.play(xAnim).with(alphaAnim);


        return animSet;
        return animSet;
    }
    }