mirror of
https://github.com/androidx/media.git
synced 2025-05-07 23:50:44 +08:00
Rename DefaultMediaItemProvider to MediaIdMediaItemProvider
PiperOrigin-RevId: 327307736
This commit is contained in:
parent
8c5af10ab0
commit
e965ed92f8
@ -28,6 +28,7 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.media2.common.MediaItem;
|
||||
import androidx.media2.common.MediaMetadata;
|
||||
import androidx.media2.common.Rating;
|
||||
import androidx.media2.common.SessionPlayer;
|
||||
import androidx.media2.common.UriMediaItem;
|
||||
@ -135,7 +136,7 @@ public class SessionCallbackBuilderTest {
|
||||
SessionResult.RESULT_ERROR_BAD_VALUE)
|
||||
.setRewindIncrementMs(testRewindIncrementMs)
|
||||
.setFastForwardIncrementMs(testFastForwardIncrementMs)
|
||||
.setMediaItemProvider(new SessionCallbackBuilder.DefaultMediaItemProvider())
|
||||
.setMediaItemProvider(new SessionCallbackBuilder.MediaIdMediaItemProvider())
|
||||
.build())) {
|
||||
assertPlayerResultSuccess(sessionPlayerConnector.setMediaItem(TestUtils.createMediaItem()));
|
||||
assertPlayerResultSuccess(sessionPlayerConnector.prepare());
|
||||
@ -178,7 +179,7 @@ public class SessionCallbackBuilderTest {
|
||||
SessionResult.RESULT_ERROR_BAD_VALUE)
|
||||
.setRewindIncrementMs(testRewindIncrementMs)
|
||||
.setFastForwardIncrementMs(testFastForwardIncrementMs)
|
||||
.setMediaItemProvider(new SessionCallbackBuilder.DefaultMediaItemProvider())
|
||||
.setMediaItemProvider(new SessionCallbackBuilder.MediaIdMediaItemProvider())
|
||||
.build())) {
|
||||
|
||||
assertPlayerResultSuccess(sessionPlayerConnector.setPlaylist(testPlaylist, null));
|
||||
@ -454,13 +455,13 @@ public class SessionCallbackBuilderTest {
|
||||
Uri testMediaUri = RawResourceDataSource.buildRawResourceUri(R.raw.audio);
|
||||
|
||||
CountDownLatch providerLatch = new CountDownLatch(1);
|
||||
SessionCallbackBuilder.DefaultMediaItemProvider defaultMediaItemProvider =
|
||||
new SessionCallbackBuilder.DefaultMediaItemProvider();
|
||||
SessionCallbackBuilder.MediaIdMediaItemProvider mediaIdMediaItemProvider =
|
||||
new SessionCallbackBuilder.MediaIdMediaItemProvider();
|
||||
SessionCallbackBuilder.MediaItemProvider provider =
|
||||
(session, controllerInfo, mediaId) -> {
|
||||
assertThat(mediaId).isEqualTo(testMediaUri.toString());
|
||||
providerLatch.countDown();
|
||||
return defaultMediaItemProvider.onCreateMediaItem(session, controllerInfo, mediaId);
|
||||
return mediaIdMediaItemProvider.onCreateMediaItem(session, controllerInfo, mediaId);
|
||||
};
|
||||
|
||||
CountDownLatch currentMediaItemChangedLatch = new CountDownLatch(1);
|
||||
@ -470,7 +471,9 @@ public class SessionCallbackBuilderTest {
|
||||
@Override
|
||||
public void onCurrentMediaItemChanged(
|
||||
@NonNull SessionPlayer player, @NonNull MediaItem item) {
|
||||
assertThat(((UriMediaItem) item).getUri()).isEqualTo(testMediaUri);
|
||||
MediaMetadata metadata = item.getMetadata();
|
||||
assertThat(metadata.getString(MediaMetadata.METADATA_KEY_MEDIA_ID))
|
||||
.isEqualTo(testMediaUri.toString());
|
||||
currentMediaItemChangedLatch.countDown();
|
||||
}
|
||||
});
|
||||
|
@ -19,7 +19,6 @@ import android.Manifest;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
@ -30,7 +29,6 @@ import androidx.media2.common.MediaItem;
|
||||
import androidx.media2.common.MediaMetadata;
|
||||
import androidx.media2.common.Rating;
|
||||
import androidx.media2.common.SessionPlayer;
|
||||
import androidx.media2.common.UriMediaItem;
|
||||
import androidx.media2.session.MediaController;
|
||||
import androidx.media2.session.MediaSession;
|
||||
import androidx.media2.session.MediaSession.ControllerInfo;
|
||||
@ -38,8 +36,6 @@ import androidx.media2.session.SessionCommand;
|
||||
import androidx.media2.session.SessionCommandGroup;
|
||||
import androidx.media2.session.SessionResult;
|
||||
import com.google.android.exoplayer2.util.Assertions;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@ -350,10 +346,8 @@ public final class SessionCallbackBuilder {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Default implementation of {@link MediaItemProvider} that assumes the media id is a URI string.
|
||||
*/
|
||||
public static final class DefaultMediaItemProvider implements MediaItemProvider {
|
||||
/** A {@link MediaItemProvider} that creates media items containing only a media ID. */
|
||||
public static final class MediaIdMediaItemProvider implements MediaItemProvider {
|
||||
@Override
|
||||
@Nullable
|
||||
public MediaItem onCreateMediaItem(
|
||||
@ -361,17 +355,11 @@ public final class SessionCallbackBuilder {
|
||||
if (TextUtils.isEmpty(mediaId)) {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
new URI(mediaId);
|
||||
} catch (URISyntaxException e) {
|
||||
// Ignore if mediaId isn't a URI.
|
||||
return null;
|
||||
}
|
||||
MediaMetadata metadata =
|
||||
new MediaMetadata.Builder()
|
||||
.putString(MediaMetadata.METADATA_KEY_MEDIA_ID, mediaId)
|
||||
.build();
|
||||
return new UriMediaItem.Builder(Uri.parse(mediaId)).setMetadata(metadata).build();
|
||||
return new MediaItem.Builder().setMetadata(metadata).build();
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user