From 99803066ea6d375f5527e0953aad4ecd91fbac3c Mon Sep 17 00:00:00 2001 From: ibaker Date: Thu, 20 Jun 2024 06:28:04 -0700 Subject: [PATCH] Add null-check to `PlayerView` to avoid NPE in edit mode Previously we assumed that `surfaceSyncGroupV34` was always non-null on API 34, but this isn't true in edit mode. Instead we add an explicit null-check before accessing it. We don't need to null-check it at the other usage site because we are already null-checking `surfaceView` (via `instanceof` check). Issue: androidx/media#1237 #cherrypick PiperOrigin-RevId: 645008049 --- libraries/ui/src/main/java/androidx/media3/ui/PlayerView.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/ui/src/main/java/androidx/media3/ui/PlayerView.java b/libraries/ui/src/main/java/androidx/media3/ui/PlayerView.java index 34fedbce23..327712ce88 100644 --- a/libraries/ui/src/main/java/androidx/media3/ui/PlayerView.java +++ b/libraries/ui/src/main/java/androidx/media3/ui/PlayerView.java @@ -1783,8 +1783,8 @@ public class PlayerView extends FrameLayout implements AdViewProvider { @Override protected void dispatchDraw(Canvas canvas) { super.dispatchDraw(canvas); - if (Util.SDK_INT == 34) { - checkNotNull(surfaceSyncGroupV34).maybeMarkSyncReadyAndClear(); + if (Util.SDK_INT == 34 && surfaceSyncGroupV34 != null) { + surfaceSyncGroupV34.maybeMarkSyncReadyAndClear(); } }