Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
SDK
/
exoplayer
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
a3b71d54
authored
Oct 29, 2021
by
olly
Committed by
Ian Baker
Nov 09, 2021
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Remove dependency from common tests to exoplayer
PiperOrigin-RevId: 406354526
parent
0d144366
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
514 additions
and
428 deletions
libraries/common/build.gradle
libraries/common/src/test/java/androidx/media3/common/FormatTest.java
libraries/common/src/test/java/androidx/media3/common/ForwardingPlayerTest.java
libraries/common/src/test/java/androidx/media3/common/MetadataTest.java
libraries/common/src/test/java/androidx/media3/common/TrackSelectionParametersTest.java
libraries/common/src/test/java/androidx/media3/common/util/AtomicFileTest.java
libraries/common/src/test/java/androidx/media3/common/util/MediaFormatUtilTest.java
libraries/exoplayer/src/test/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelectorTest.java
libraries/exoplayer_ima/src/test/java/androidx/media3/exoplayer/ima/FakePlayer.java → libraries/exoplayer_ima/src/test/java/androidx/media3/exoplayer/ima/FakeExoPlayer.java
libraries/exoplayer_ima/src/test/java/androidx/media3/exoplayer/ima/ImaAdsLoaderTest.java
libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeMetadataEntry.java
libraries/test_utils/src/main/java/androidx/media3/test/utils/StubExoPlayer.java
libraries/test_utils/src/main/java/androidx/media3/test/utils/StubPlayer.java
libraries/common/build.gradle
View file @
a3b71d54
...
...
@@ -50,7 +50,6 @@ dependencies {
testImplementation
'junit:junit:'
+
junitVersion
testImplementation
'com.google.truth:truth:'
+
truthVersion
testImplementation
'org.robolectric:robolectric:'
+
robolectricVersion
testImplementation
project
(
modulePrefix
+
'lib-exoplayer'
)
testImplementation
project
(
modulePrefix
+
'test-utils'
)
}
...
...
libraries/common/src/test/java/androidx/media3/common/FormatTest.java
View file @
a3b71d54
...
...
@@ -20,7 +20,7 @@ import static androidx.media3.common.MimeTypes.VIDEO_MP4;
import
static
androidx
.
media3
.
common
.
MimeTypes
.
VIDEO_WEBM
;
import
static
com
.
google
.
common
.
truth
.
Truth
.
assertThat
;
import
androidx.media3.
extractor.metadata.id3.TextInformationFrame
;
import
androidx.media3.
test.utils.FakeMetadataEntry
;
import
androidx.test.ext.junit.runners.AndroidJUnit4
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -61,10 +61,7 @@ public final class FormatTest {
byte
[]
projectionData
=
new
byte
[]
{
1
,
2
,
3
};
Metadata
metadata
=
new
Metadata
(
new
TextInformationFrame
(
"id1"
,
"description1"
,
"value1"
),
new
TextInformationFrame
(
"id2"
,
"description2"
,
"value2"
));
Metadata
metadata
=
new
Metadata
(
new
FakeMetadataEntry
(
"id1"
),
new
FakeMetadataEntry
(
"id2"
));
ColorInfo
colorInfo
=
new
ColorInfo
(
...
...
libraries/common/src/test/java/androidx/media3/common/ForwardingPlayerTest.java
View file @
a3b71d54
...
...
@@ -24,9 +24,7 @@ import static org.mockito.ArgumentMatchers.same;
import
static
org
.
mockito
.
Mockito
.
mock
;
import
static
org
.
mockito
.
Mockito
.
verify
;
import
android.content.Context
;
import
androidx.media3.test.utils.StubExoPlayer
;
import
androidx.test.core.app.ApplicationProvider
;
import
androidx.media3.test.utils.StubPlayer
;
import
androidx.test.ext.junit.runners.AndroidJUnit4
;
import
java.lang.reflect.Method
;
import
java.lang.reflect.Modifier
;
...
...
@@ -47,7 +45,7 @@ public class ForwardingPlayerTest {
@Test
public
void
addListener_addsForwardingListener
()
{
FakePlayer
player
=
new
FakePlayer
(
ApplicationProvider
.
getApplicationContext
()
);
FakePlayer
player
=
new
FakePlayer
();
Player
.
Listener
listener1
=
mock
(
Player
.
Listener
.
class
);
Player
.
Listener
listener2
=
mock
(
Player
.
Listener
.
class
);
...
...
@@ -62,7 +60,7 @@ public class ForwardingPlayerTest {
@Test
public
void
removeListener_removesForwardingListener
()
{
FakePlayer
player
=
new
FakePlayer
(
ApplicationProvider
.
getApplicationContext
()
);
FakePlayer
player
=
new
FakePlayer
();
Player
.
Listener
listener1
=
mock
(
Player
.
Listener
.
class
);
Player
.
Listener
listener2
=
mock
(
Player
.
Listener
.
class
);
ForwardingPlayer
forwardingPlayer
=
new
ForwardingPlayer
(
player
);
...
...
@@ -80,7 +78,7 @@ public class ForwardingPlayerTest {
@Test
public
void
onEvents_passesForwardingPlayerAsArgument
()
{
FakePlayer
player
=
new
FakePlayer
(
ApplicationProvider
.
getApplicationContext
()
);
FakePlayer
player
=
new
FakePlayer
();
Player
.
Listener
listener
=
mock
(
Player
.
Listener
.
class
);
ForwardingPlayer
forwardingPlayer
=
new
ForwardingPlayer
(
player
);
forwardingPlayer
.
addListener
(
listener
);
...
...
@@ -179,14 +177,10 @@ public class ForwardingPlayerTest {
throw
new
IllegalStateException
();
}
private
static
class
FakePlayer
extends
Stub
Exo
Player
{
private
static
class
FakePlayer
extends
StubPlayer
{
private
final
Set
<
Listener
>
listeners
=
new
HashSet
<>();
public
FakePlayer
(
Context
context
)
{
super
(
context
);
}
@Override
public
void
addListener
(
Listener
listener
)
{
listeners
.
add
(
listener
);
...
...
libraries/common/src/test/java/androidx/media3/common/MetadataTest.java
View file @
a3b71d54
...
...
@@ -18,7 +18,7 @@ package androidx.media3.common;
import
static
com
.
google
.
common
.
truth
.
Truth
.
assertThat
;
import
android.os.Parcel
;
import
androidx.media3.
extractor.metadata.id3.BinaryFrame
;
import
androidx.media3.
test.utils.FakeMetadataEntry
;
import
androidx.test.ext.junit.runners.AndroidJUnit4
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
...
...
@@ -30,8 +30,7 @@ public class MetadataTest {
@Test
public
void
parcelable
()
{
Metadata
metadataToParcel
=
new
Metadata
(
new
BinaryFrame
(
"id1"
,
new
byte
[]
{
1
}),
new
BinaryFrame
(
"id2"
,
new
byte
[]
{
2
}));
new
Metadata
(
new
FakeMetadataEntry
(
"id1"
),
new
FakeMetadataEntry
(
"id2"
));
Parcel
parcel
=
Parcel
.
obtain
();
metadataToParcel
.
writeToParcel
(
parcel
,
0
);
...
...
libraries/common/src/test/java/androidx/media3/common/TrackSelectionParametersTest.java
View file @
a3b71d54
...
...
@@ -19,8 +19,6 @@ import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
import
static
com
.
google
.
common
.
truth
.
Truth
.
assertThat
;
import
androidx.media3.common.TrackSelectionOverrides.TrackSelectionOverride
;
import
androidx.media3.exoplayer.trackselection.DefaultTrackSelector
;
import
androidx.media3.exoplayer.trackselection.DefaultTrackSelector.SelectionOverride
;
import
androidx.test.ext.junit.runners.AndroidJUnit4
;
import
com.google.common.collect.ImmutableList
;
import
com.google.common.collect.ImmutableSet
;
...
...
@@ -180,17 +178,4 @@ public final class TrackSelectionParametersTest {
assertThat
(
parameters
.
viewportHeight
).
isEqualTo
(
Integer
.
MAX_VALUE
);
assertThat
(
parameters
.
viewportOrientationMayChange
).
isTrue
();
}
/** Tests {@link SelectionOverride}'s {@link Bundleable} implementation. */
@Test
public
void
roundTripViaBundle_ofSelectionOverride_yieldsEqualInstance
()
{
SelectionOverride
selectionOverrideToBundle
=
new
SelectionOverride
(
/* groupIndex= */
1
,
/* tracks...= */
2
,
3
);
SelectionOverride
selectionOverrideFromBundle
=
DefaultTrackSelector
.
SelectionOverride
.
CREATOR
.
fromBundle
(
selectionOverrideToBundle
.
toBundle
());
assertThat
(
selectionOverrideFromBundle
).
isEqualTo
(
selectionOverrideToBundle
);
}
}
libraries/common/src/test/java/androidx/media3/common/util/AtomicFileTest.java
View file @
a3b71d54
...
...
@@ -39,7 +39,7 @@ public final class AtomicFileTest {
@Before
public
void
setUp
()
throws
Exception
{
tempFolder
=
Util
.
createTempDirectory
(
ApplicationProvider
.
getApplicationContext
(),
"
ExoPlayer
Test"
);
Util
.
createTempDirectory
(
ApplicationProvider
.
getApplicationContext
(),
"
AtomicFile
Test"
);
file
=
new
File
(
tempFolder
,
"atomicFile"
);
atomicFile
=
new
AtomicFile
(
file
);
}
...
...
libraries/common/src/test/java/androidx/media3/common/util/MediaFormatUtilTest.java
View file @
a3b71d54
...
...
@@ -32,7 +32,7 @@ import org.junit.runner.RunWith;
public
class
MediaFormatUtilTest
{
@Test
public
void
createMediaFormatFrom
EmptyExoPlayer
Format_generatesExpectedEntries
()
{
public
void
createMediaFormatFrom
Format_withEmpty
Format_generatesExpectedEntries
()
{
MediaFormat
mediaFormat
=
MediaFormatUtil
.
createMediaFormatFromFormat
(
new
Format
.
Builder
().
build
());
// Assert that no invalid keys are accidentally being populated.
...
...
@@ -60,7 +60,7 @@ public class MediaFormatUtilTest {
}
@Test
public
void
createMediaFormatFrom
PopulatedExoPlayerFormat_generatesExpectedMediaFormat
Entries
()
{
public
void
createMediaFormatFrom
Format_withPopulatedFormat_generatesExpected
Entries
()
{
Format
format
=
new
Format
.
Builder
()
.
setAverageBitrate
(
1
)
...
...
@@ -146,7 +146,7 @@ public class MediaFormatUtilTest {
}
@Test
public
void
createMediaFormat
WithExoPlayerPcmEncoding_containsExoPlayerSpecificEncoding
()
{
public
void
createMediaFormat
FromFormat_withPcmEncoding_setsCustomPcmEncodingEntry
()
{
Format
format
=
new
Format
.
Builder
().
setPcmEncoding
(
C
.
ENCODING_PCM_32BIT
).
build
();
MediaFormat
mediaFormat
=
MediaFormatUtil
.
createMediaFormatFromFormat
(
format
);
assertThat
(
mediaFormat
.
getInteger
(
MediaFormatUtil
.
KEY_EXO_PCM_ENCODING
))
...
...
libraries/exoplayer/src/test/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelectorTest.java
View file @
a3b71d54
...
...
@@ -1752,6 +1752,19 @@ public final class DefaultTrackSelectorTest {
assertThat
(
trackGroupInfos
.
get
(
0
).
getTrackSupport
(
0
)).
isEqualTo
(
FORMAT_HANDLED
);
}
/** Tests {@link SelectionOverride}'s {@link Bundleable} implementation. */
@Test
public
void
roundTripViaBundle_ofSelectionOverride_yieldsEqualInstance
()
{
SelectionOverride
selectionOverrideToBundle
=
new
SelectionOverride
(
/* groupIndex= */
1
,
/* tracks...= */
2
,
3
);
SelectionOverride
selectionOverrideFromBundle
=
DefaultTrackSelector
.
SelectionOverride
.
CREATOR
.
fromBundle
(
selectionOverrideToBundle
.
toBundle
());
assertThat
(
selectionOverrideFromBundle
).
isEqualTo
(
selectionOverrideToBundle
);
}
private
static
void
assertSelections
(
TrackSelectorResult
result
,
TrackSelection
[]
expected
)
{
assertThat
(
result
.
length
).
isEqualTo
(
expected
.
length
);
for
(
int
i
=
0
;
i
<
expected
.
length
;
i
++)
{
...
...
libraries/exoplayer_ima/src/test/java/androidx/media3/exoplayer/ima/FakePlayer.java
→
libraries/exoplayer_ima/src/test/java/androidx/media3/exoplayer/ima/Fake
Exo
Player.java
View file @
a3b71d54
...
...
@@ -15,7 +15,6 @@
*/
package
androidx
.
media3
.
exoplayer
.
ima
;
import
android.content.Context
;
import
android.os.Looper
;
import
androidx.media3.common.C
;
import
androidx.media3.common.MediaItem
;
...
...
@@ -27,10 +26,11 @@ import androidx.media3.common.TracksInfo;
import
androidx.media3.common.util.Clock
;
import
androidx.media3.common.util.ListenerSet
;
import
androidx.media3.common.util.Util
;
import
androidx.media3.exoplayer.ExoPlayer
;
import
androidx.media3.test.utils.StubExoPlayer
;
/** A fake
player
for testing content/ad playback. */
/* package */
final
class
FakePlayer
extends
StubExoPlayer
{
/** A fake
{@link ExoPlayer}
for testing content/ad playback. */
/* package */
final
class
Fake
Exo
Player
extends
StubExoPlayer
{
private
final
ListenerSet
<
Listener
>
listeners
;
private
final
Timeline
.
Period
period
;
...
...
@@ -48,8 +48,7 @@ import androidx.media3.test.utils.StubExoPlayer;
private
int
adGroupIndex
;
private
int
adIndexInAdGroup
;
public
FakePlayer
(
Context
context
)
{
super
(
context
);
public
FakeExoPlayer
()
{
listeners
=
new
ListenerSet
<>(
Looper
.
getMainLooper
(),
...
...
libraries/exoplayer_ima/src/test/java/androidx/media3/exoplayer/ima/ImaAdsLoaderTest.java
View file @
a3b71d54
...
...
@@ -139,13 +139,13 @@ public final class ImaAdsLoaderTest {
private
ContentProgressProvider
contentProgressProvider
;
private
VideoAdPlayer
videoAdPlayer
;
private
TestAdsLoaderListener
adsLoaderListener
;
private
FakePlayer
fakePlayer
;
private
Fake
Exo
Player
fakePlayer
;
private
ImaAdsLoader
imaAdsLoader
;
@Before
public
void
setUp
()
{
setupMocks
();
fakePlayer
=
new
Fake
Player
(
getApplicationContext
()
);
fakePlayer
=
new
Fake
ExoPlayer
(
);
adViewGroup
=
new
FrameLayout
(
getApplicationContext
());
View
adOverlayView
=
new
View
(
getApplicationContext
());
adViewProvider
=
...
...
libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeMetadataEntry.java
0 → 100644
View file @
a3b71d54
/*
* Copyright (C) 2021 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
androidx
.
media3
.
test
.
utils
;
import
static
androidx
.
media3
.
common
.
util
.
Util
.
castNonNull
;
import
android.os.Parcel
;
import
android.os.Parcelable
;
import
androidx.annotation.Nullable
;
import
androidx.media3.common.Metadata
;
import
androidx.media3.common.util.UnstableApi
;
/** A fake {@link Metadata.Entry}. */
@UnstableApi
public
final
class
FakeMetadataEntry
implements
Metadata
.
Entry
{
public
final
String
data
;
public
FakeMetadataEntry
(
String
data
)
{
this
.
data
=
data
;
}
/* package */
FakeMetadataEntry
(
Parcel
in
)
{
data
=
castNonNull
(
in
.
readString
());
}
@Override
public
int
describeContents
()
{
return
0
;
}
@Override
public
boolean
equals
(
@Nullable
Object
obj
)
{
if
(
this
==
obj
)
{
return
true
;
}
if
(
obj
==
null
||
getClass
()
!=
obj
.
getClass
())
{
return
false
;
}
FakeMetadataEntry
other
=
(
FakeMetadataEntry
)
obj
;
return
data
.
equals
(
other
.
data
);
}
@Override
public
int
hashCode
()
{
return
data
.
hashCode
();
}
@Override
public
void
writeToParcel
(
Parcel
dest
,
int
flags
)
{
dest
.
writeString
(
data
);
}
public
static
final
Parcelable
.
Creator
<
FakeMetadataEntry
>
CREATOR
=
new
Parcelable
.
Creator
<
FakeMetadataEntry
>()
{
@Override
public
FakeMetadataEntry
createFromParcel
(
Parcel
in
)
{
return
new
FakeMetadataEntry
(
in
);
}
@Override
public
FakeMetadataEntry
[]
newArray
(
int
size
)
{
return
new
FakeMetadataEntry
[
size
];
}
};
}
libraries/test_utils/src/main/java/androidx/media3/test/utils/StubExoPlayer.java
View file @
a3b71d54
...
...
@@ -15,30 +15,13 @@
*/
package
androidx
.
media3
.
test
.
utils
;
import
android.content.Context
;
import
android.os.Looper
;
import
android.view.Surface
;
import
android.view.SurfaceHolder
;
import
android.view.SurfaceView
;
import
android.view.TextureView
;
import
androidx.annotation.Nullable
;
import
androidx.media3.common.AudioAttributes
;
import
androidx.media3.common.AuxEffectInfo
;
import
androidx.media3.common.BasePlayer
;
import
androidx.media3.common.DeviceInfo
;
import
androidx.media3.common.Format
;
import
androidx.media3.common.MediaItem
;
import
androidx.media3.common.MediaMetadata
;
import
androidx.media3.common.PlaybackParameters
;
import
androidx.media3.common.Player
;
import
androidx.media3.common.PriorityTaskManager
;
import
androidx.media3.common.Timeline
;
import
androidx.media3.common.TrackGroupArray
;
import
androidx.media3.common.TrackSelectionArray
;
import
androidx.media3.common.TrackSelectionParameters
;
import
androidx.media3.common.TracksInfo
;
import
androidx.media3.common.VideoSize
;
import
androidx.media3.common.text.Cue
;
import
androidx.media3.common.util.Clock
;
import
androidx.media3.common.util.UnstableApi
;
import
androidx.media3.exoplayer.DecoderCounters
;
...
...
@@ -60,11 +43,7 @@ import java.util.List;
* from every method.
*/
@UnstableApi
public
class
StubExoPlayer
extends
BasePlayer
implements
ExoPlayer
{
public
StubExoPlayer
(
Context
context
)
{
super
();
}
public
class
StubExoPlayer
extends
StubPlayer
implements
ExoPlayer
{
@Override
@Deprecated
...
...
@@ -96,31 +75,16 @@ public class StubExoPlayer extends BasePlayer implements ExoPlayer {
}
@Override
public
Looper
getApplicationLooper
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
Clock
getClock
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
addListener
(
Listener
listener
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
addListener
(
Player
.
EventListener
listener
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
removeListener
(
Listener
listener
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
removeListener
(
Player
.
EventListener
listener
)
{
throw
new
UnsupportedOperationException
();
}
...
...
@@ -151,51 +115,22 @@ public class StubExoPlayer extends BasePlayer implements ExoPlayer {
}
@Override
@State
public
int
getPlaybackState
()
{
throw
new
UnsupportedOperationException
();
}
@Override
@PlaybackSuppressionReason
public
int
getPlaybackSuppressionReason
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
ExoPlaybackException
getPlayerError
()
{
throw
new
UnsupportedOperationException
();
}
/** @deprecated Use {@link #prepare()} instead. */
@Deprecated
@Override
public
void
retry
()
{
throw
new
UnsupportedOperationException
();
}
/**
* @deprecated Use {@link #setMediaSource(MediaSource)} and {@link ExoPlayer#prepare()} instead.
*/
@Deprecated
@Override
public
void
prepare
()
{
throw
new
UnsupportedOperationException
();
}
/**
* @deprecated Use {@link #setMediaSource(MediaSource)} and {@link ExoPlayer#prepare()} instead.
*/
@Deprecated
@Override
public
void
prepare
(
MediaSource
mediaSource
)
{
throw
new
UnsupportedOperationException
();
}
/**
* @deprecated Use {@link #setMediaSource(MediaSource, boolean)} and {@link ExoPlayer#prepare()}
* instead.
*/
@Deprecated
@Override
public
void
prepare
(
MediaSource
mediaSource
,
boolean
resetPosition
,
boolean
resetState
)
{
...
...
@@ -203,16 +138,6 @@ public class StubExoPlayer extends BasePlayer implements ExoPlayer {
}
@Override
public
void
setMediaItems
(
List
<
MediaItem
>
mediaItems
,
boolean
resetPosition
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setMediaItems
(
List
<
MediaItem
>
mediaItems
,
int
startIndex
,
long
startPositionMs
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setMediaSource
(
MediaSource
mediaSource
)
{
throw
new
UnsupportedOperationException
();
}
...
...
@@ -244,11 +169,6 @@ public class StubExoPlayer extends BasePlayer implements ExoPlayer {
}
@Override
public
void
addMediaItems
(
int
index
,
List
<
MediaItem
>
mediaItems
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
addMediaSource
(
MediaSource
mediaSource
)
{
throw
new
UnsupportedOperationException
();
}
...
...
@@ -269,41 +189,6 @@ public class StubExoPlayer extends BasePlayer implements ExoPlayer {
}
@Override
public
void
moveMediaItems
(
int
fromIndex
,
int
toIndex
,
int
newIndex
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
removeMediaItems
(
int
fromIndex
,
int
toIndex
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
Commands
getAvailableCommands
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setPlayWhenReady
(
boolean
playWhenReady
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
boolean
getPlayWhenReady
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setRepeatMode
(
@RepeatMode
int
repeatMode
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
int
getRepeatMode
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setShuffleOrder
(
ShuffleOrder
shuffleOrder
)
{
throw
new
UnsupportedOperationException
();
}
...
...
@@ -384,51 +269,6 @@ public class StubExoPlayer extends BasePlayer implements ExoPlayer {
}
@Override
public
void
setShuffleModeEnabled
(
boolean
shuffleModeEnabled
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
boolean
getShuffleModeEnabled
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
boolean
isLoading
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
seekTo
(
int
mediaItemIndex
,
long
positionMs
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
long
getSeekBackIncrement
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
long
getSeekForwardIncrement
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
long
getMaxSeekToPreviousPosition
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setPlaybackParameters
(
PlaybackParameters
playbackParameters
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
PlaybackParameters
getPlaybackParameters
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setSeekParameters
(
@Nullable
SeekParameters
seekParameters
)
{
throw
new
UnsupportedOperationException
();
}
...
...
@@ -439,22 +279,6 @@ public class StubExoPlayer extends BasePlayer implements ExoPlayer {
}
@Override
public
void
stop
()
{
throw
new
UnsupportedOperationException
();
}
@Deprecated
@Override
public
void
stop
(
boolean
reset
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
release
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
PlayerMessage
createMessage
(
PlayerMessage
.
Target
target
)
{
throw
new
UnsupportedOperationException
();
}
...
...
@@ -476,211 +300,6 @@ public class StubExoPlayer extends BasePlayer implements ExoPlayer {
}
@Override
public
TrackGroupArray
getCurrentTrackGroups
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
TrackSelectionArray
getCurrentTrackSelections
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
TracksInfo
getCurrentTracksInfo
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
TrackSelectionParameters
getTrackSelectionParameters
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setTrackSelectionParameters
(
TrackSelectionParameters
parameters
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
MediaMetadata
getMediaMetadata
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
MediaMetadata
getPlaylistMetadata
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setPlaylistMetadata
(
MediaMetadata
mediaMetadata
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
Timeline
getCurrentTimeline
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
int
getCurrentPeriodIndex
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
int
getCurrentMediaItemIndex
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
long
getDuration
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
long
getCurrentPosition
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
long
getBufferedPosition
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
long
getTotalBufferedDuration
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
boolean
isPlayingAd
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
int
getCurrentAdGroupIndex
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
int
getCurrentAdIndexInAdGroup
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
long
getContentPosition
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
long
getContentBufferedPosition
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
AudioAttributes
getAudioAttributes
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setVolume
(
float
volume
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
float
getVolume
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
clearVideoSurface
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
clearVideoSurface
(
@Nullable
Surface
surface
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setVideoSurface
(
@Nullable
Surface
surface
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setVideoSurfaceHolder
(
@Nullable
SurfaceHolder
surfaceHolder
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
clearVideoSurfaceHolder
(
@Nullable
SurfaceHolder
surfaceHolder
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setVideoSurfaceView
(
@Nullable
SurfaceView
surfaceView
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
clearVideoSurfaceView
(
@Nullable
SurfaceView
surfaceView
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setVideoTextureView
(
@Nullable
TextureView
textureView
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
clearVideoTextureView
(
@Nullable
TextureView
textureView
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
VideoSize
getVideoSize
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
List
<
Cue
>
getCurrentCues
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
DeviceInfo
getDeviceInfo
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
int
getDeviceVolume
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
boolean
isDeviceMuted
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setDeviceVolume
(
int
volume
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
increaseDeviceVolume
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
decreaseDeviceVolume
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setDeviceMuted
(
boolean
muted
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setForegroundMode
(
boolean
foregroundMode
)
{
throw
new
UnsupportedOperationException
();
}
...
...
libraries/test_utils/src/main/java/androidx/media3/test/utils/StubPlayer.java
0 → 100644
View file @
a3b71d54
/*
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
androidx
.
media3
.
test
.
utils
;
import
android.os.Looper
;
import
android.view.Surface
;
import
android.view.SurfaceHolder
;
import
android.view.SurfaceView
;
import
android.view.TextureView
;
import
androidx.annotation.Nullable
;
import
androidx.media3.common.AudioAttributes
;
import
androidx.media3.common.BasePlayer
;
import
androidx.media3.common.DeviceInfo
;
import
androidx.media3.common.MediaItem
;
import
androidx.media3.common.MediaMetadata
;
import
androidx.media3.common.PlaybackException
;
import
androidx.media3.common.PlaybackParameters
;
import
androidx.media3.common.Player
;
import
androidx.media3.common.Timeline
;
import
androidx.media3.common.TrackGroupArray
;
import
androidx.media3.common.TrackSelectionArray
;
import
androidx.media3.common.TrackSelectionParameters
;
import
androidx.media3.common.TracksInfo
;
import
androidx.media3.common.VideoSize
;
import
androidx.media3.common.text.Cue
;
import
androidx.media3.common.util.UnstableApi
;
import
java.util.List
;
/**
* An abstract {@link Player} implementation that throws {@link UnsupportedOperationException} from
* every method.
*/
@UnstableApi
public
class
StubPlayer
extends
BasePlayer
{
@Override
public
Looper
getApplicationLooper
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
addListener
(
Listener
listener
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
removeListener
(
Listener
listener
)
{
throw
new
UnsupportedOperationException
();
}
@Override
@State
public
int
getPlaybackState
()
{
throw
new
UnsupportedOperationException
();
}
@Override
@PlaybackSuppressionReason
public
int
getPlaybackSuppressionReason
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
PlaybackException
getPlayerError
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
prepare
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setMediaItems
(
List
<
MediaItem
>
mediaItems
,
boolean
resetPosition
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setMediaItems
(
List
<
MediaItem
>
mediaItems
,
int
startIndex
,
long
startPositionMs
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
addMediaItems
(
int
index
,
List
<
MediaItem
>
mediaItems
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
moveMediaItems
(
int
fromIndex
,
int
toIndex
,
int
newIndex
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
removeMediaItems
(
int
fromIndex
,
int
toIndex
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
Commands
getAvailableCommands
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setPlayWhenReady
(
boolean
playWhenReady
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
boolean
getPlayWhenReady
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setRepeatMode
(
@RepeatMode
int
repeatMode
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
int
getRepeatMode
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setShuffleModeEnabled
(
boolean
shuffleModeEnabled
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
boolean
getShuffleModeEnabled
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
boolean
isLoading
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
seekTo
(
int
mediaItemIndex
,
long
positionMs
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
long
getSeekBackIncrement
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
long
getSeekForwardIncrement
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
long
getMaxSeekToPreviousPosition
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setPlaybackParameters
(
PlaybackParameters
playbackParameters
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
PlaybackParameters
getPlaybackParameters
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
stop
()
{
throw
new
UnsupportedOperationException
();
}
@Deprecated
@Override
public
void
stop
(
boolean
reset
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
release
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
TrackGroupArray
getCurrentTrackGroups
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
TrackSelectionArray
getCurrentTrackSelections
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
TracksInfo
getCurrentTracksInfo
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
TrackSelectionParameters
getTrackSelectionParameters
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setTrackSelectionParameters
(
TrackSelectionParameters
parameters
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
MediaMetadata
getMediaMetadata
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
MediaMetadata
getPlaylistMetadata
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setPlaylistMetadata
(
MediaMetadata
mediaMetadata
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
Timeline
getCurrentTimeline
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
int
getCurrentPeriodIndex
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
int
getCurrentMediaItemIndex
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
long
getDuration
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
long
getCurrentPosition
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
long
getBufferedPosition
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
long
getTotalBufferedDuration
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
boolean
isPlayingAd
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
int
getCurrentAdGroupIndex
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
int
getCurrentAdIndexInAdGroup
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
long
getContentPosition
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
long
getContentBufferedPosition
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
AudioAttributes
getAudioAttributes
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setVolume
(
float
volume
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
float
getVolume
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
clearVideoSurface
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
clearVideoSurface
(
@Nullable
Surface
surface
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setVideoSurface
(
@Nullable
Surface
surface
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setVideoSurfaceHolder
(
@Nullable
SurfaceHolder
surfaceHolder
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
clearVideoSurfaceHolder
(
@Nullable
SurfaceHolder
surfaceHolder
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setVideoSurfaceView
(
@Nullable
SurfaceView
surfaceView
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
clearVideoSurfaceView
(
@Nullable
SurfaceView
surfaceView
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setVideoTextureView
(
@Nullable
TextureView
textureView
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
clearVideoTextureView
(
@Nullable
TextureView
textureView
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
VideoSize
getVideoSize
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
List
<
Cue
>
getCurrentCues
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
DeviceInfo
getDeviceInfo
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
int
getDeviceVolume
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
boolean
isDeviceMuted
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setDeviceVolume
(
int
volume
)
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
increaseDeviceVolume
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
decreaseDeviceVolume
()
{
throw
new
UnsupportedOperationException
();
}
@Override
public
void
setDeviceMuted
(
boolean
muted
)
{
throw
new
UnsupportedOperationException
();
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment