diff --git a/constants.gradle b/constants.gradle index 3840bb533f..3068e7646b 100644 --- a/constants.gradle +++ b/constants.gradle @@ -54,7 +54,6 @@ project.ext { androidxTestRulesVersion = '1.4.0' androidxTestServicesStorageVersion = '1.4.0' androidxTestTruthVersion = '1.4.0' - androidxWindowVersion = '1.0.0' truthVersion = '1.1.3' okhttpVersion = '4.9.2' modulePrefix = ':' diff --git a/library/ui/build.gradle b/library/ui/build.gradle index 266111709a..0c40f20673 100644 --- a/library/ui/build.gradle +++ b/library/ui/build.gradle @@ -25,9 +25,7 @@ dependencies { implementation project(modulePrefix + 'library-common') api 'androidx.media:media:' + androidxMediaVersion implementation 'androidx.annotation:annotation:' + androidxAnnotationVersion - implementation 'androidx.core:core:' + androidxCoreVersion implementation 'androidx.recyclerview:recyclerview:' + androidxRecyclerViewVersion - implementation 'androidx.window:window:' + androidxWindowVersion implementation 'androidx.window:window-java:' + androidxWindowVersion compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion diff --git a/library/ui/src/main/java/com/google/android/exoplayer2/ui/StyledPlayerView.java b/library/ui/src/main/java/com/google/android/exoplayer2/ui/StyledPlayerView.java index 3f5d2dd28f..da17c4c1c7 100644 --- a/library/ui/src/main/java/com/google/android/exoplayer2/ui/StyledPlayerView.java +++ b/library/ui/src/main/java/com/google/android/exoplayer2/ui/StyledPlayerView.java @@ -21,10 +21,7 @@ import static com.google.android.exoplayer2.util.Assertions.checkNotNull; import static java.lang.annotation.ElementType.TYPE_USE; import android.annotation.SuppressLint; -import android.app.Activity; import android.content.Context; -import android.content.ContextWrapper; -import android.content.res.Configuration; import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.Bitmap; @@ -51,14 +48,6 @@ import androidx.annotation.IntDef; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; import androidx.core.content.ContextCompat; -import androidx.core.util.Consumer; -import androidx.window.java.layout.WindowInfoTrackerCallbackAdapter; -import androidx.window.layout.DisplayFeature; -import androidx.window.layout.FoldingFeature; -import androidx.window.layout.FoldingFeature.Orientation; -import androidx.window.layout.FoldingFeature.State; -import androidx.window.layout.WindowInfoTracker; -import androidx.window.layout.WindowLayoutInfo; import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.MediaMetadata; import com.google.android.exoplayer2.PlaybackException; @@ -82,7 +71,6 @@ import java.lang.annotation.Target; import java.util.ArrayList; import java.util.List; import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf; -import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.RequiresNonNull; /** @@ -270,9 +258,6 @@ public class StyledPlayerView extends FrameLayout implements AdViewProvider { private boolean controllerHideOnTouch; private int textureViewRotation; private boolean isTouching; - private boolean isTabletop; - private final WindowInfoTrackerCallbackAdapter windowInfoTracker; - @MonotonicNonNull private Consumer layoutStateChangeCallback; public StyledPlayerView(Context context) { this(context, /* attrs= */ null); @@ -286,9 +271,6 @@ public class StyledPlayerView extends FrameLayout implements AdViewProvider { public StyledPlayerView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); - isTabletop = false; - windowInfoTracker = - new WindowInfoTrackerCallbackAdapter(WindowInfoTracker.getOrCreate(context)); componentListener = new ComponentListener(); if (isInEditMode()) { @@ -590,25 +572,6 @@ public class StyledPlayerView extends FrameLayout implements AdViewProvider { } } - @Override - protected void onAttachedToWindow() { - super.onAttachedToWindow(); - layoutStateChangeCallback = this::consumeWindowLayoutInfo; - @Nullable Activity activity = getActivity(); - if (activity != null) { - windowInfoTracker.addWindowLayoutInfoListener( - activity, ContextCompat.getMainExecutor(getContext()), layoutStateChangeCallback); - } - } - - @Override - protected void onDetachedFromWindow() { - super.onDetachedFromWindow(); - if (layoutStateChangeCallback != null) { - windowInfoTracker.removeWindowLayoutInfoListener(layoutStateChangeCallback); - } - } - /** * Sets the {@link ResizeMode}. * @@ -1503,53 +1466,6 @@ public class StyledPlayerView extends FrameLayout implements AdViewProvider { || keyCode == KeyEvent.KEYCODE_DPAD_CENTER; } - @Nullable - private Activity getActivity() { - Context context = getContext(); - while (context instanceof ContextWrapper) { - if (context instanceof Activity) { - return (Activity) context; - } - context = ((ContextWrapper) context).getBaseContext(); - } - return null; - } - - @Override - protected void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - isTabletop = false; - } - - private void consumeWindowLayoutInfo(WindowLayoutInfo windowLayoutInfo) { - List features = windowLayoutInfo.getDisplayFeatures(); - int foldingFeatureIndex = C.INDEX_UNSET; - - for (int i = 0; i < features.size(); i++) { - DisplayFeature feature = features.get(i); - if (feature instanceof FoldingFeature) { - if (foldingFeatureIndex != C.INDEX_UNSET) { - // For now, we are only handling single folding features like tabletop and book fold. - return; - } - foldingFeatureIndex = i; - } - } - if (foldingFeatureIndex != C.INDEX_UNSET) { - handleFoldingFeature((FoldingFeature) features.get(foldingFeatureIndex)); - } - } - - private void handleFoldingFeature(FoldingFeature feature) { - boolean isTabletopFeature = - feature.getOrientation() == Orientation.HORIZONTAL - && feature.getState() == State.HALF_OPENED; - // Only enter or exit tabletop if different than current orientation and state - if (isTabletopFeature != isTabletop) { - isTabletop = isTabletopFeature; - } - } - // Implementing the deprecated StyledPlayerControlView.VisibilityListener and // StyledPlayerControlView.OnFullScreenModeChangedListener for now. @SuppressWarnings("deprecation")