From 1bde7771222d2744bb72486a7ebf0eb38e5eeeab Mon Sep 17 00:00:00 2001 From: ibaker Date: Tue, 3 May 2022 12:26:44 +0100 Subject: [PATCH] Allow stable API users to bundle/unbundle TrackSelectionParameters It's reasonable to serialize this type to support backgrounding use-cases, as demonstrated by the main demo app. PiperOrigin-RevId: 446161300 --- .../media3/common/TrackSelectionParameters.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/TrackSelectionParameters.java b/libraries/common/src/main/java/androidx/media3/common/TrackSelectionParameters.java index 18ce1c6ba9..3d7696e51f 100644 --- a/libraries/common/src/main/java/androidx/media3/common/TrackSelectionParameters.java +++ b/libraries/common/src/main/java/androidx/media3/common/TrackSelectionParameters.java @@ -1134,7 +1134,6 @@ public class TrackSelectionParameters implements Bundleable { private static final int FIELD_PREFERRED_VIDEO_ROLE_FLAGS = 25; private static final int FIELD_IGNORED_TEXT_SELECTION_FLAGS = 26; - @UnstableApi @Override public Bundle toBundle() { Bundle bundle = new Bundle(); @@ -1184,10 +1183,17 @@ public class TrackSelectionParameters implements Bundleable { return bundle; } - /** Object that can restore {@code TrackSelectionParameters} from a {@link Bundle}. */ - @UnstableApi + /** Construct an instance from a {@link Bundle} produced by {@link #toBundle()}. */ + public static TrackSelectionParameters fromBundle(Bundle bundle) { + return new Builder(bundle).build(); + } + + /** + * @deprecated Use {@link #fromBundle(Bundle)} instead. + */ + @UnstableApi @Deprecated public static final Creator CREATOR = - bundle -> new Builder(bundle).build(); + TrackSelectionParameters::fromBundle; private static String keyForField(@FieldNumber int field) { return Integer.toString(field, Character.MAX_RADIX);