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

Commit b2522511 authored by Adrian Roos's avatar Adrian Roos Committed by Android (Google) Code Review
Browse files

Merge "Tweak assist disclosure animation" into mnc-dev

parents 1b98ab33 c6d3e0e1
Loading
Loading
Loading
Loading
+22 −0
Original line number Original line Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2015 The Android Open Source Project
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License
  -->

<pathInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
        android:controlX1="0.6"
        android:controlY1="0"
        android:controlX2="0.7"
        android:controlY2="1"/>
 No newline at end of file
+21 −11
Original line number Original line Diff line number Diff line
@@ -93,8 +93,9 @@ public class AssistDisclosure {
    private class AssistDisclosureView extends View
    private class AssistDisclosureView extends View
            implements ValueAnimator.AnimatorUpdateListener {
            implements ValueAnimator.AnimatorUpdateListener {


        public static final int TRACING_ANIMATION_DURATION = 300;
        public static final int TRACING_ANIMATION_DURATION = 600;
        public static final int ALPHA_ANIMATION_DURATION = 200;
        public static final int ALPHA_IN_ANIMATION_DURATION = 450;
        public static final int ALPHA_OUT_ANIMATION_DURATION = 400;


        private float mThickness;
        private float mThickness;
        private float mShadowThickness;
        private float mShadowThickness;
@@ -102,11 +103,12 @@ public class AssistDisclosure {
        private final Paint mShadowPaint = new Paint();
        private final Paint mShadowPaint = new Paint();


        private final ValueAnimator mTracingAnimator;
        private final ValueAnimator mTracingAnimator;
        private final ValueAnimator mAlphaAnimator;
        private final ValueAnimator mAlphaOutAnimator;
        private final ValueAnimator mAlphaInAnimator;
        private final AnimatorSet mAnimator;
        private final AnimatorSet mAnimator;


        private float mTracingProgress = 0;
        private float mTracingProgress = 0;
        private int mAlpha = 255;
        private int mAlpha = 0;


        public AssistDisclosureView(Context context) {
        public AssistDisclosureView(Context context) {
            super(context);
            super(context);
@@ -114,13 +116,19 @@ public class AssistDisclosure {
            mTracingAnimator = ValueAnimator.ofFloat(0, 1).setDuration(TRACING_ANIMATION_DURATION);
            mTracingAnimator = ValueAnimator.ofFloat(0, 1).setDuration(TRACING_ANIMATION_DURATION);
            mTracingAnimator.addUpdateListener(this);
            mTracingAnimator.addUpdateListener(this);
            mTracingAnimator.setInterpolator(AnimationUtils.loadInterpolator(mContext,
            mTracingAnimator.setInterpolator(AnimationUtils.loadInterpolator(mContext,
                    R.interpolator.assist_disclosure_trace));
            mAlphaInAnimator = ValueAnimator.ofInt(0, 255).setDuration(ALPHA_IN_ANIMATION_DURATION);
            mAlphaInAnimator.addUpdateListener(this);
            mAlphaInAnimator.setInterpolator(AnimationUtils.loadInterpolator(mContext,
                    android.R.interpolator.fast_out_slow_in));
                    android.R.interpolator.fast_out_slow_in));
            mAlphaAnimator = ValueAnimator.ofInt(255, 0).setDuration(ALPHA_ANIMATION_DURATION);
            mAlphaOutAnimator = ValueAnimator.ofInt(255, 0).setDuration(
            mAlphaAnimator.addUpdateListener(this);
                    ALPHA_OUT_ANIMATION_DURATION);
            mAlphaAnimator.setInterpolator(AnimationUtils.loadInterpolator(mContext,
            mAlphaOutAnimator.addUpdateListener(this);
            mAlphaOutAnimator.setInterpolator(AnimationUtils.loadInterpolator(mContext,
                    android.R.interpolator.fast_out_linear_in));
                    android.R.interpolator.fast_out_linear_in));
            mAnimator = new AnimatorSet();
            mAnimator = new AnimatorSet();
            mAnimator.play(mTracingAnimator).before(mAlphaAnimator);
            mAnimator.play(mAlphaInAnimator).with(mTracingAnimator);
            mAnimator.play(mAlphaInAnimator).before(mAlphaOutAnimator);
            mAnimator.addListener(new AnimatorListenerAdapter() {
            mAnimator.addListener(new AnimatorListenerAdapter() {
                boolean mCancelled;
                boolean mCancelled;


@@ -167,7 +175,7 @@ public class AssistDisclosure {
            mAnimator.cancel();
            mAnimator.cancel();


            mTracingProgress = 0;
            mTracingProgress = 0;
            mAlpha = 255;
            mAlpha = 0;
        }
        }


        private void startAnimation() {
        private void startAnimation() {
@@ -240,8 +248,10 @@ public class AssistDisclosure {


        @Override
        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
        public void onAnimationUpdate(ValueAnimator animation) {
            if (animation == mAlphaAnimator) {
            if (animation == mAlphaOutAnimator) {
                mAlpha = (int) mAlphaAnimator.getAnimatedValue();
                mAlpha = (int) mAlphaOutAnimator.getAnimatedValue();
            } else if (animation == mAlphaInAnimator) {
                mAlpha = (int) mAlphaInAnimator.getAnimatedValue();
            } else if (animation == mTracingAnimator) {
            } else if (animation == mTracingAnimator) {
                mTracingProgress = (float) mTracingAnimator.getAnimatedValue();
                mTracingProgress = (float) mTracingAnimator.getAnimatedValue();
            }
            }