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

Commit 62d253be authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Prevent divided by zero if animation is disable" into rvc-dev am:...

Merge "Prevent divided by zero if animation is disable" into rvc-dev am: 2afeac47 am: ac2b3184 am: 3aeea5c2 am: 2f1ef640

Change-Id: Ic149509464642e204b6a225b9c5f0fd5251d6c16
parents 498049c0 2f1ef640
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -382,8 +382,8 @@ class Dimmer {

        @Override
        public void apply(SurfaceControl.Transaction t, SurfaceControl sc, long currentPlayTime) {
            float alpha = ((float) currentPlayTime / getDuration()) * (mToAlpha - mFromAlpha)
                    + mFromAlpha;
            final float fraction = getFraction(currentPlayTime);
            final float alpha = fraction * (mToAlpha - mFromAlpha) + mFromAlpha;
            t.setAlpha(sc, alpha);
        }

+10 −0
Original line number Diff line number Diff line
@@ -130,6 +130,16 @@ class LocalAnimationAdapter implements AnimationAdapter {
         */
        default boolean needsEarlyWakeup() { return false; }

        /**
         * @return The fraction of the animation, returns 1 if duration is 0.
         *
         * @param currentPlayTime The current play time.
         */
        default float getFraction(float currentPlayTime) {
            final float duration = getDuration();
            return duration > 0 ? currentPlayTime / duration : 1.0f;
        }

        void dump(PrintWriter pw, String prefix);

        default void dumpDebug(ProtoOutputStream proto, long fieldId) {
+2 −2
Original line number Diff line number Diff line
@@ -646,8 +646,8 @@ class ScreenRotationAnimation {
                    @Override
                    public void apply(SurfaceControl.Transaction t, SurfaceControl leash,
                        long currentPlayTime) {
                        float fraction = (float)currentPlayTime / (float)getDuration();
                        int color = (Integer) va.evaluate(fraction, startColor, endColor);
                        final float fraction = getFraction(currentPlayTime);
                        final int color = (Integer) va.evaluate(fraction, startColor, endColor);
                        Color middleColor = Color.valueOf(color);
                        rgbTmpFloat[0] = middleColor.red();
                        rgbTmpFloat[1] = middleColor.green();
+1 −1
Original line number Diff line number Diff line
@@ -5609,7 +5609,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP

        @Override
        public void apply(Transaction t, SurfaceControl leash, long currentPlayTime) {
            final float fraction = (float) currentPlayTime / getDuration();
            final float fraction = getFraction(currentPlayTime);
            final float v = mInterpolator.getInterpolation(fraction);
            t.setPosition(leash, mFrom.x + (mTo.x - mFrom.x) * v,
                    mFrom.y + (mTo.y - mFrom.y) * v);