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

Commit 3d676a26 authored by Ioana Alexandru's avatar Ioana Alexandru
Browse files

Avoid dividing 0 by 0 in StackScrollAlgorithm.

This is very likely the cause of b/233692725 (which is essentially an
error saying that translationZ is set to Float.NaN). Looked through all
the codepaths modifying translationZ, and this was the only one I could
find that could generate NaN.

Test: Not quite sure how to test it though, since I can't reproduce.
Will add some logging in a follow-up commit.
Bug: 233692725

Change-Id: Ie5db92ee714b2265ceacc366144bdadad00aaf51
parent 580e9514
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -884,6 +884,9 @@ public class StackScrollAlgorithm {
                childViewState.zTranslation = baseZ;
            } else {
                float factor = (notificationEnd - shelfStart) / shelfHeight;
                if (Float.isNaN(factor)) { // Avoid problems when the above is 0/0.
                    factor = 1.0f;
                }
                factor = Math.min(factor, 1.0f);
                childViewState.zTranslation = baseZ + factor * zDistanceBetweenElements;
            }