From ea49e61b5edadf4ea9e54ea594ccb68349c6867f Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Thu, 21 Feb 2019 11:08:11 +0000 Subject: [PATCH] Register the overlay view as non-obstructing Currently IMA determines that the overlay is obstructing, even if it's empty. Register it as friendly, which means we're assuming that anything the apps puts in it is necessary for playback. PiperOrigin-RevId: 234963065 --- .../com/google/android/exoplayer2/ui/PlayerView.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlayerView.java b/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlayerView.java index 00ffaa8057..9d66289e94 100644 --- a/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlayerView.java +++ b/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlayerView.java @@ -70,6 +70,7 @@ import com.google.android.exoplayer2.video.VideoListener; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.util.ArrayList; import java.util.List; /** @@ -1117,7 +1118,14 @@ public class PlayerView extends FrameLayout implements AdsLoader.AdViewProvider @Override public View[] getAdOverlayViews() { - return controller != null ? new View[] {controller} : new View[0]; + ArrayList overlayViews = new ArrayList<>(); + if (overlayFrameLayout != null) { + overlayViews.add(overlayFrameLayout); + } + if (controller != null) { + overlayViews.add(controller); + } + return overlayViews.toArray(new View[0]); } // Internal methods.