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

Commit 860c573a 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:...

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

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

Change-Id: I92b4146101700632d31b25a00e3d41f1540ea9bd
parents 5218ba64 e7bbb2e8
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;
    }
    }