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