diff options
| -rw-r--r-- | core/java/android/view/SurfaceControl.java | 6 | ||||
| -rw-r--r-- | services/core/java/com/android/server/display/LocalDisplayAdapter.java | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java index 4895aed60a3a..0db52aaa8b3d 100644 --- a/core/java/android/view/SurfaceControl.java +++ b/core/java/android/view/SurfaceControl.java @@ -3896,10 +3896,12 @@ public final class SurfaceControl implements Parcelable { float currentBufferRatio, float desiredRatio) { checkPreconditions(sc); if (!Float.isFinite(currentBufferRatio) || currentBufferRatio < 1.0f) { - throw new IllegalArgumentException("currentBufferRatio must be finite && >= 1.0f"); + throw new IllegalArgumentException( + "currentBufferRatio must be finite && >= 1.0f; got " + currentBufferRatio); } if (!Float.isFinite(desiredRatio) || desiredRatio < 1.0f) { - throw new IllegalArgumentException("desiredRatio must be finite && >= 1.0f"); + throw new IllegalArgumentException( + "desiredRatio must be finite && >= 1.0f; got " + desiredRatio); } nativeSetExtendedRangeBrightness(mNativeObject, sc.mNativeObject, currentBufferRatio, desiredRatio); diff --git a/services/core/java/com/android/server/display/LocalDisplayAdapter.java b/services/core/java/com/android/server/display/LocalDisplayAdapter.java index 8d0689ff8fe5..79984c9b5355 100644 --- a/services/core/java/com/android/server/display/LocalDisplayAdapter.java +++ b/services/core/java/com/android/server/display/LocalDisplayAdapter.java @@ -911,7 +911,8 @@ final class LocalDisplayAdapter extends DisplayAdapter { final float newHdrSdrRatio; if (displayNits != DisplayDeviceConfig.NITS_INVALID && sdrNits != DisplayDeviceConfig.NITS_INVALID) { - newHdrSdrRatio = displayNits / sdrNits; + // Ensure the ratio stays >= 1.0f as values below that are nonsensical + newHdrSdrRatio = Math.max(1.f, displayNits / sdrNits); } else { newHdrSdrRatio = Float.NaN; } |