diff --git a/demos/main/src/main/java/com/google/android/exoplayer2/demo/TrackSelectionDialog.java b/demos/main/src/main/java/com/google/android/exoplayer2/demo/TrackSelectionDialog.java index 1b9cf9aeb9..8597e7296c 100644 --- a/demos/main/src/main/java/com/google/android/exoplayer2/demo/TrackSelectionDialog.java +++ b/demos/main/src/main/java/com/google/android/exoplayer2/demo/TrackSelectionDialog.java @@ -145,7 +145,7 @@ public final class TrackSelectionDialog extends DialogFragment { */ public boolean getIsDisabled(int rendererIndex) { TrackSelectionViewFragment rendererView = tabFragments.get(rendererIndex); - return rendererView != null && rendererView.trackSelectionView.getIsDisabled(); + return rendererView != null && rendererView.isDisabled; } /** @@ -157,9 +157,7 @@ public final class TrackSelectionDialog extends DialogFragment { */ public List getOverrides(int rendererIndex) { TrackSelectionViewFragment rendererView = tabFragments.get(rendererIndex); - return rendererView == null - ? Collections.emptyList() - : rendererView.trackSelectionView.getOverrides(); + return rendererView == null ? Collections.emptyList() : rendererView.overrides; } @Override @@ -269,10 +267,13 @@ public final class TrackSelectionDialog extends DialogFragment { private boolean allowAdaptiveSelections; private boolean allowMultipleOverrides; - private boolean isDisabled; - private List overrides; + /* package */ boolean isDisabled; + /* package */ List overrides; - /* package */ TrackSelectionView trackSelectionView; + public TrackSelectionViewFragment() { + // Retain instance across orientation changes to prevent loosing access to init data. + setRetainInstance(true); + } public void init( MappedTrackInfo mappedTrackInfo, @@ -301,7 +302,8 @@ public final class TrackSelectionDialog extends DialogFragment { View rootView = inflater.inflate( R.layout.track_selection_dialog_tab, container, /* attachToRoot= */ false); - trackSelectionView = rootView.findViewById(R.id.download_dialog_track_selection_view); + TrackSelectionView trackSelectionView = + rootView.findViewById(R.id.download_dialog_track_selection_view); trackSelectionView.setShowDisableOption(true); trackSelectionView.setAllowMultipleOverrides(allowMultipleOverrides); trackSelectionView.setAllowAdaptiveSelections(allowAdaptiveSelections);