summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Rachel Lee <rnlee@google.com> 2022-06-01 15:24:05 -0700
committer Rachel Lee <rnlee@google.com> 2022-06-01 15:24:05 -0700
commit2c303b3f518b2ffdc4bf5f5cd2448d44115601ea (patch)
treefec8842430aa17781f192c80c397f5b0e2ab4481
parent3f75b0485accae00cb8b86b019c70502a623363a (diff)
Fix modulo div by 0 in Choreographer.
Bug: 234483897 Test: atest ChoreographerTest Change-Id: I7d7766f6ea120109490d307e971a3da80a3d92ad
-rw-r--r--core/java/android/view/Choreographer.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/core/java/android/view/Choreographer.java b/core/java/android/view/Choreographer.java
index ebbe64c396e7..cc68ddd9e211 100644
--- a/core/java/android/view/Choreographer.java
+++ b/core/java/android/view/Choreographer.java
@@ -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! "