From f8658027b83c6748b35dc4196af382ff7f07c76c Mon Sep 17 00:00:00 2001 From: edde746 <86283021+edde746@users.noreply.github.com> Date: Mon, 1 Jun 2026 02:30:43 +0200 Subject: [PATCH] fix(android): guard display HDR mode API close #1215 --- .../com/edde746/plezy/exoplayer/DoviBridge.kt | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/android/app/src/main/kotlin/com/edde746/plezy/exoplayer/DoviBridge.kt b/android/app/src/main/kotlin/com/edde746/plezy/exoplayer/DoviBridge.kt index a39fe076..945be9ab 100644 --- a/android/app/src/main/kotlin/com/edde746/plezy/exoplayer/DoviBridge.kt +++ b/android/app/src/main/kotlin/com/edde746/plezy/exoplayer/DoviBridge.kt @@ -136,15 +136,7 @@ object DoviBridge { return false } - val hdrTypes = runCatching { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { - display.mode.supportedHdrTypes - } else { - @Suppress("DEPRECATION") - val legacyHdrTypes = display.hdrCapabilities.supportedHdrTypes - legacyHdrTypes - } - }.getOrElse { error -> + val hdrTypes = runCatching { getDisplayHdrTypes(display) }.getOrElse { error -> Log.w(TAG, "Display Dolby Vision support: false (failed to query HDR types)", error) return false } @@ -279,8 +271,15 @@ object DoviBridge { return parts.joinToString(prefix = "{", postfix = "}") } + private fun getDisplayHdrTypes(display: Display): IntArray = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + display.mode.supportedHdrTypes + } else { + @Suppress("DEPRECATION") + display.hdrCapabilities.supportedHdrTypes + } + private fun describeDisplayMode(mode: Display.Mode): String { - val hdr = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + val hdr = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { ", hdr=${describeHdrTypes(mode.supportedHdrTypes)}" } else { ""