Fix modulo div by 0 in Choreographer.

Bug: 234483897
Test: atest ChoreographerTest
Change-Id: I7d7766f6ea120109490d307e971a3da80a3d92ad
This commit is contained in:
Rachel Lee
2022-06-01 15:24:05 -07:00
parent 3f75b0485a
commit 2c303b3f51

View File

@@ -765,10 +765,11 @@ public final class Choreographer {
startNanos = System.nanoTime();
final long jitterNanos = startNanos - frameTimeNanos;
if (jitterNanos >= frameIntervalNanos) {
final long lastFrameOffset = jitterNanos % frameIntervalNanos;
long lastFrameOffset = 0;
if (frameIntervalNanos == 0) {
Log.i(TAG, "Vsync data empty due to timeout");
} else {
lastFrameOffset = jitterNanos % frameIntervalNanos;
final long skippedFrames = jitterNanos / frameIntervalNanos;
if (skippedFrames >= SKIPPED_FRAME_WARNING_LIMIT) {
Log.i(TAG, "Skipped " + skippedFrames + " frames! "