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

Commit df5459da authored by Jason Monk's avatar Jason Monk
Browse files

Fix TouchAnimator callbacks

Bug: 27392084
Change-Id: I42df29b4c7df4f709dd2fafa90037d485e93f3bd
parent 3f3d42e0
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -54,8 +54,7 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
        mQsContainer = container;
        mQuickQsPanel = quickPanel;
        mQsPanel = panel;
        mQuickQsPanel.addOnLayoutChangeListener(this);
        mQsPanel.addOnLayoutChangeListener(this);
        container.addOnLayoutChangeListener(this);
        QSTileLayout tileLayout = mQsPanel.getTileLayout();
        if (tileLayout instanceof PagedTileLayout) {
            ((PagedTileLayout) tileLayout).setPageListener(this);
@@ -161,6 +160,7 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha

    @Override
    public void onAnimationAtStart() {
        mQuickQsPanel.setVisibility(View.VISIBLE);
    }

    @Override
+11 −10
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ public class TouchAnimator {
    private final float mSpan;
    private final Interpolator mInterpolator;
    private final Listener mListener;
    private float mLastT;
    private float mLastT = -1;

    private TouchAnimator(Object[] targets, KeyframeSet[] keyframeSets,
            float startDelay, float endDelay, Interpolator interpolator, Listener listener) {
@@ -56,15 +56,16 @@ public class TouchAnimator {
        if (mInterpolator != null) {
            t = mInterpolator.getInterpolation(t);
        }
        if (mListener != null) {
            if (mLastT == 0 || mLastT == 1) {
                if (t != mLastT) {
                    mListener.onAnimationStarted();
        if (t == mLastT) {
            return;
        }
            } else if (t == 1) {
        if (mListener != null) {
            if (t == 1) {
                mListener.onAnimationAtEnd();
            } else if (t == 0) {
                mListener.onAnimationAtStart();
            } else if (mLastT <= 0 || mLastT == 1) {
                mListener.onAnimationStarted();
            }
            mLastT = t;
        }
@@ -114,12 +115,12 @@ public class TouchAnimator {
        private Listener mListener;

        public Builder addFloat(Object target, String property, float... values) {
            add(target, KeyframeSet.ofFloat(getProperty(target, property), values));
            add(target, KeyframeSet.ofFloat(getProperty(target, property, float.class), values));
            return this;
        }

        public Builder addInt(Object target, String property, int... values) {
            add(target, KeyframeSet.ofInt(getProperty(target, property), values));
            add(target, KeyframeSet.ofInt(getProperty(target, property, int.class), values));
            return this;
        }

@@ -128,7 +129,7 @@ public class TouchAnimator {
            mValues.add(keyframeSet);
        }

        private static Property getProperty(Object target, String property) {
        private static Property getProperty(Object target, String property, Class<?> cls) {
            if (target instanceof View) {
                switch (property) {
                    case "translationX":
@@ -151,7 +152,7 @@ public class TouchAnimator {
                        return View.SCALE_Y;
                }
            }
            return Property.of(target.getClass(), float.class, property);
            return Property.of(target.getClass(), cls, property);
        }

        public Builder setStartDelay(float startDelay) {
+1 −17
Original line number Diff line number Diff line
@@ -38,7 +38,6 @@ import com.android.systemui.qs.QSPanel;
import com.android.systemui.qs.QSTile;
import com.android.systemui.qs.QuickQSPanel;
import com.android.systemui.qs.TouchAnimator;
import com.android.systemui.qs.TouchAnimator.Listener;
import com.android.systemui.statusbar.policy.BatteryController;
import com.android.systemui.statusbar.policy.NextAlarmController;
import com.android.systemui.statusbar.policy.NextAlarmController.NextAlarmChangeCallback;
@@ -46,7 +45,7 @@ import com.android.systemui.statusbar.policy.UserInfoController;
import com.android.systemui.tuner.TunerService;

public class QuickStatusBarHeader extends BaseStatusBarHeader implements
        NextAlarmChangeCallback, OnClickListener, Listener {
        NextAlarmChangeCallback, OnClickListener {

    private static final String TAG = "QuickStatusBarHeader";

@@ -157,7 +156,6 @@ public class QuickStatusBarHeader extends BaseStatusBarHeader implements
        mAnimator = new TouchAnimator.Builder()
                .addFloat(mSettingsContainer, "translationY", -mGearTranslation, 0)
                .addFloat(mMultiUserSwitch, "translationY", -mGearTranslation, 0)
                .setListener(this)
                .build();
        mSecondHalfAnimator = new TouchAnimator.Builder()
                .addFloat(mSettingsButton, "rotation", -180, 0)
@@ -224,20 +222,6 @@ public class QuickStatusBarHeader extends BaseStatusBarHeader implements
        mExpandIndicator.setExpanded(headerExpansionFraction > EXPAND_INDICATOR_THRESHOLD);
    }

    @Override
    public void onAnimationAtStart() {
    }

    @Override
    public void onAnimationAtEnd() {
        mHeaderQsPanel.setVisibility(View.INVISIBLE);
    }

    @Override
    public void onAnimationStarted() {
        mHeaderQsPanel.setVisibility(View.VISIBLE);
    }

    private void updateAlarmVisibilities() {
        mAlarmStatus.setVisibility(mAlarmShowing ? View.VISIBLE : View.INVISIBLE);
        mAlarmStatusCollapsed.setVisibility(mAlarmShowing ? View.VISIBLE : View.INVISIBLE);