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
edabbd52
authored
Feb 12, 2019
by
tonihei
Committed by
Andrew Lewis
Feb 18, 2019
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Update Robolectric and Truth.
PiperOrigin-RevId: 233612344
parent
f299a65a
Hide whitespace changes
Inline
Side-by-side
Showing
40 changed files
with
176 additions
and
33 deletions
constants.gradle
extensions/cast/build.gradle
extensions/cast/src/test/resources/robolectric.properties
extensions/cronet/build.gradle
extensions/cronet/src/test/resources/robolectric.properties
extensions/ffmpeg/build.gradle
extensions/ffmpeg/src/test/resources/robolectric.properties
extensions/flac/build.gradle
extensions/flac/src/test/resources/robolectric.properties
extensions/gvr/build.gradle
extensions/ima/build.gradle
extensions/ima/src/test/resources/robolectric.properties
extensions/jobdispatcher/build.gradle
extensions/leanback/build.gradle
extensions/mediasession/build.gradle
extensions/okhttp/build.gradle
extensions/opus/build.gradle
extensions/opus/src/test/resources/robolectric.properties
extensions/rtmp/build.gradle
extensions/vp9/build.gradle
extensions/vp9/src/test/resources/robolectric.properties
gradle.properties
library/core/build.gradle
library/core/src/main/java/com/google/android/exoplayer2/audio/AudioFocusManager.java
library/core/src/test/java/com/google/android/exoplayer2/ExoPlayerTest.java
library/core/src/test/java/com/google/android/exoplayer2/audio/AudioFocusManagerTest.java
library/core/src/test/resources/robolectric.properties
library/dash/build.gradle
library/dash/src/test/resources/robolectric.properties
library/hls/build.gradle
library/hls/src/test/resources/robolectric.properties
library/smoothstreaming/build.gradle
library/smoothstreaming/src/test/resources/robolectric.properties
library/ui/build.gradle
library/ui/src/test/resources/robolectric.properties
playbacktests/build.gradle
testutils/build.gradle
testutils/src/test/resources/robolectric.properties
testutils_robolectric/build.gradle
testutils_robolectric/src/main/java/com/google/android/exoplayer2/testutil/RobolectricUtil.java
constants.gradle
View file @
edabbd52
...
...
@@ -23,8 +23,8 @@ project.ext {
dexmakerVersion
=
'1.2'
mockitoVersion
=
'1.9.5'
junitVersion
=
'4.12'
truthVersion
=
'0.
39
'
robolectricVersion
=
'
3.7
.1'
truthVersion
=
'0.
42
'
robolectricVersion
=
'
4
.1'
autoValueVersion
=
'1.6'
checkerframeworkVersion
=
'2.5.0'
testRunnerVersion
=
'1.1.0-alpha3'
...
...
extensions/cast/build.gradle
View file @
edabbd52
...
...
@@ -26,6 +26,8 @@ android {
minSdkVersion
project
.
ext
.
minSdkVersion
targetSdkVersion
project
.
ext
.
targetSdkVersion
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
extensions/cast/src/test/resources/robolectric.properties
deleted
100644 → 0
View file @
f299a65a
manifest
=
src/test/AndroidManifest.xml
extensions/cronet/build.gradle
View file @
edabbd52
...
...
@@ -26,6 +26,8 @@ android {
sourceCompatibility
JavaVersion
.
VERSION_1_8
targetCompatibility
JavaVersion
.
VERSION_1_8
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
extensions/cronet/src/test/resources/robolectric.properties
deleted
100644 → 0
View file @
f299a65a
manifest
=
src/test/AndroidManifest.xml
extensions/ffmpeg/build.gradle
View file @
edabbd52
...
...
@@ -32,6 +32,8 @@ android {
jniLibs
.
srcDir
'src/main/libs'
jni
.
srcDirs
=
[]
// Disable the automatic ndk-build call by Android Studio.
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
extensions/ffmpeg/src/test/resources/robolectric.properties
deleted
100644 → 0
View file @
f299a65a
manifest
=
src/test/AndroidManifest.xml
extensions/flac/build.gradle
View file @
edabbd52
...
...
@@ -33,6 +33,8 @@ android {
jniLibs
.
srcDir
'src/main/libs'
jni
.
srcDirs
=
[]
// Disable the automatic ndk-build call by Android Studio.
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
extensions/flac/src/test/resources/robolectric.properties
deleted
100644 → 0
View file @
f299a65a
manifest
=
src/test/AndroidManifest.xml
extensions/gvr/build.gradle
View file @
edabbd52
...
...
@@ -26,6 +26,8 @@ android {
minSdkVersion
19
targetSdkVersion
project
.
ext
.
targetSdkVersion
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
extensions/ima/build.gradle
View file @
edabbd52
...
...
@@ -27,6 +27,8 @@ android {
targetSdkVersion
project
.
ext
.
targetSdkVersion
consumerProguardFiles
'proguard-rules.txt'
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
extensions/ima/src/test/resources/robolectric.properties
deleted
100644 → 0
View file @
f299a65a
manifest
=
src/test/AndroidManifest.xml
extensions/jobdispatcher/build.gradle
View file @
edabbd52
...
...
@@ -28,6 +28,8 @@ android {
minSdkVersion
project
.
ext
.
minSdkVersion
targetSdkVersion
project
.
ext
.
targetSdkVersion
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
extensions/leanback/build.gradle
View file @
edabbd52
...
...
@@ -26,6 +26,8 @@ android {
minSdkVersion
17
targetSdkVersion
project
.
ext
.
targetSdkVersion
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
extensions/mediasession/build.gradle
View file @
edabbd52
...
...
@@ -26,6 +26,8 @@ android {
minSdkVersion
project
.
ext
.
minSdkVersion
targetSdkVersion
project
.
ext
.
targetSdkVersion
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
extensions/okhttp/build.gradle
View file @
edabbd52
...
...
@@ -27,6 +27,8 @@ android {
targetSdkVersion
project
.
ext
.
targetSdkVersion
consumerProguardFiles
'proguard-rules.txt'
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
extensions/opus/build.gradle
View file @
edabbd52
...
...
@@ -33,6 +33,8 @@ android {
jniLibs
.
srcDir
'src/main/libs'
jni
.
srcDirs
=
[]
// Disable the automatic ndk-build call by Android Studio.
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
extensions/opus/src/test/resources/robolectric.properties
deleted
100644 → 0
View file @
f299a65a
manifest
=
src/test/AndroidManifest.xml
extensions/rtmp/build.gradle
View file @
edabbd52
...
...
@@ -26,6 +26,8 @@ android {
minSdkVersion
project
.
ext
.
minSdkVersion
targetSdkVersion
project
.
ext
.
targetSdkVersion
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
extensions/vp9/build.gradle
View file @
edabbd52
...
...
@@ -33,6 +33,8 @@ android {
jniLibs
.
srcDir
'src/main/libs'
jni
.
srcDirs
=
[]
// Disable the automatic ndk-build call by Android Studio.
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
extensions/vp9/src/test/resources/robolectric.properties
deleted
100644 → 0
View file @
f299a65a
manifest
=
src/test/AndroidManifest.xml
gradle.properties
View file @
edabbd52
## Project-wide Gradle settings.
android.useDeprecatedNdk
=
true
android.enableUnitTestBinaryResources
=
true
buildDir
=
buildout
library/core/build.gradle
View file @
edabbd52
...
...
@@ -53,6 +53,8 @@ android {
// testCoverageEnabled = true
// }
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
library/core/src/main/java/com/google/android/exoplayer2/audio/AudioFocusManager.java
View file @
edabbd52
...
...
@@ -21,6 +21,7 @@ import android.media.AudioManager;
import
android.support.annotation.IntDef
;
import
android.support.annotation.Nullable
;
import
android.support.annotation.RequiresApi
;
import
android.support.annotation.VisibleForTesting
;
import
com.google.android.exoplayer2.C
;
import
com.google.android.exoplayer2.ExoPlayer
;
import
com.google.android.exoplayer2.Player
;
...
...
@@ -195,6 +196,11 @@ public final class AudioFocusManager {
// Internal methods.
@VisibleForTesting
/* package */
AudioManager
.
OnAudioFocusChangeListener
getFocusListener
()
{
return
focusListener
;
}
@PlayerCommand
private
int
handleIdle
(
boolean
playWhenReady
)
{
return
playWhenReady
?
PLAYER_COMMAND_PLAY_WHEN_READY
:
PLAYER_COMMAND_DO_NOT_PLAY
;
...
...
library/core/src/test/java/com/google/android/exoplayer2/ExoPlayerTest.java
View file @
edabbd52
...
...
@@ -19,6 +19,7 @@ import static com.google.common.truth.Truth.assertThat;
import
static
org
.
junit
.
Assert
.
fail
;
import
android.content.Context
;
import
android.graphics.SurfaceTexture
;
import
android.support.annotation.Nullable
;
import
android.view.Surface
;
import
com.google.android.exoplayer2.Player.DiscontinuityReason
;
...
...
@@ -2593,8 +2594,8 @@ public final class ExoPlayerTest {
// Internal methods.
private
static
ActionSchedule
.
Builder
addSurfaceSwitch
(
ActionSchedule
.
Builder
builder
)
{
final
Surface
surface1
=
new
Surface
(
n
ull
);
final
Surface
surface2
=
new
Surface
(
n
ull
);
final
Surface
surface1
=
new
Surface
(
n
ew
SurfaceTexture
(
/* texName= */
0
)
);
final
Surface
surface2
=
new
Surface
(
n
ew
SurfaceTexture
(
/* texName= */
1
)
);
return
builder
.
executeRunnable
(
new
PlayerRunnable
()
{
...
...
library/core/src/test/java/com/google/android/exoplayer2/audio/AudioFocusManagerTest.java
View file @
edabbd52
...
...
@@ -22,15 +22,18 @@ import static com.google.common.truth.Truth.assertThat;
import
static
org
.
junit
.
Assert
.
fail
;
import
android.content.Context
;
import
android.media.AudioFocusRequest
;
import
android.media.AudioManager
;
import
com.google.android.exoplayer2.C
;
import
com.google.android.exoplayer2.Player
;
import
com.google.android.exoplayer2.util.Util
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.robolectric.RobolectricTestRunner
;
import
org.robolectric.RuntimeEnvironment
;
import
org.robolectric.Shadows
;
import
org.robolectric.annotation.Config
;
import
org.robolectric.shadows.ShadowAudioManager
;
/** Unit tests for {@link AudioFocusManager}. */
...
...
@@ -69,6 +72,7 @@ public class AudioFocusManagerTest {
}
@Test
@Config
(
maxSdk
=
25
)
public
void
setAudioAttributes_withNullUsage_releasesAudioFocus
()
{
// Create attributes and request audio focus.
AudioAttributes
media
=
new
AudioAttributes
.
Builder
().
setUsage
(
C
.
USAGE_MEDIA
).
build
();
...
...
@@ -93,6 +97,31 @@ public class AudioFocusManagerTest {
}
@Test
@Config
(
minSdk
=
26
)
public
void
setAudioAttributes_withNullUsage_releasesAudioFocus_v26
()
{
// Create attributes and request audio focus.
AudioAttributes
media
=
new
AudioAttributes
.
Builder
().
setUsage
(
C
.
USAGE_MEDIA
).
build
();
Shadows
.
shadowOf
(
audioManager
)
.
setNextFocusRequestResponse
(
AudioManager
.
AUDIOFOCUS_REQUEST_GRANTED
);
assertThat
(
audioFocusManager
.
setAudioAttributes
(
media
,
/* playWhenReady= */
true
,
Player
.
STATE_READY
))
.
isEqualTo
(
PLAYER_COMMAND_PLAY_WHEN_READY
);
ShadowAudioManager
.
AudioFocusRequest
request
=
Shadows
.
shadowOf
(
audioManager
).
getLastAudioFocusRequest
();
assertThat
(
getAudioFocusGainFromRequest
(
request
)).
isEqualTo
(
AudioManager
.
AUDIOFOCUS_GAIN
);
// Ensure that setting null audio attributes with audio focus releases audio focus.
assertThat
(
audioFocusManager
.
setAudioAttributes
(
/* audioAttributes= */
null
,
/* playWhenReady= */
true
,
Player
.
STATE_READY
))
.
isEqualTo
(
PLAYER_COMMAND_PLAY_WHEN_READY
);
AudioFocusRequest
lastRequest
=
Shadows
.
shadowOf
(
audioManager
).
getLastAbandonedAudioFocusRequest
();
assertThat
(
lastRequest
).
isNotNull
();
}
@Test
public
void
setAudioAttributes_withUsageAlarm_throwsIllegalArgumentException
()
{
// Ensure that audio attributes that map to AUDIOFOCUS_GAIN_TRANSIENT* throw
AudioAttributes
alarm
=
new
AudioAttributes
.
Builder
().
setUsage
(
C
.
USAGE_ALARM
).
build
();
...
...
@@ -117,7 +146,7 @@ public class AudioFocusManagerTest {
.
isEqualTo
(
PLAYER_COMMAND_PLAY_WHEN_READY
);
ShadowAudioManager
.
AudioFocusRequest
request
=
Shadows
.
shadowOf
(
audioManager
).
getLastAudioFocusRequest
();
assertThat
(
request
.
durationHint
).
isEqualTo
(
AudioManager
.
AUDIOFOCUS_GAIN
);
assertThat
(
getAudioFocusGainFromRequest
(
request
)
).
isEqualTo
(
AudioManager
.
AUDIOFOCUS_GAIN
);
}
@Test
...
...
@@ -133,7 +162,7 @@ public class AudioFocusManagerTest {
.
isEqualTo
(
PLAYER_COMMAND_PLAY_WHEN_READY
);
ShadowAudioManager
.
AudioFocusRequest
request
=
Shadows
.
shadowOf
(
audioManager
).
getLastAudioFocusRequest
();
assertThat
(
request
.
durationHint
).
isEqualTo
(
AudioManager
.
AUDIOFOCUS_GAIN
);
assertThat
(
getAudioFocusGainFromRequest
(
request
)
).
isEqualTo
(
AudioManager
.
AUDIOFOCUS_GAIN
);
}
@Test
...
...
@@ -189,12 +218,12 @@ public class AudioFocusManagerTest {
media
,
/* playWhenReady= */
true
,
Player
.
STATE_READY
))
.
isEqualTo
(
PLAYER_COMMAND_PLAY_WHEN_READY
);
ShadowAudioManager
.
AudioFocusRequest
request
=
Shadows
.
shadowOf
(
audioManager
).
getLastAudioFocusRequest
();
request
.
listener
.
onAudioFocusChange
(
AudioManager
.
AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK
);
audioFocusManager
.
getFocusListener
()
.
onAudioFocusChange
(
AudioManager
.
AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK
);
assertThat
(
testPlayerControl
.
lastVolumeMultiplier
).
isLessThan
(
1.0f
);
assertThat
(
testPlayerControl
.
lastPlayerCommand
).
isEqualTo
(
NO_COMMAND_RECEIVED
);
request
.
listener
.
onAudioFocusChange
(
AudioManager
.
AUDIOFOCUS_GAIN
);
audioFocusManager
.
getFocusListener
()
.
onAudioFocusChange
(
AudioManager
.
AUDIOFOCUS_GAIN
);
assertThat
(
testPlayerControl
.
lastVolumeMultiplier
).
isEqualTo
(
1.0f
);
}
...
...
@@ -215,12 +244,12 @@ public class AudioFocusManagerTest {
media
,
/* playWhenReady= */
true
,
Player
.
STATE_READY
))
.
isEqualTo
(
PLAYER_COMMAND_PLAY_WHEN_READY
);
ShadowAudioManager
.
AudioFocusRequest
request
=
Shadows
.
shadowOf
(
audioManager
).
getLastAudioFocusRequest
();
request
.
listener
.
onAudioFocusChange
(
AudioManager
.
AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK
);
audioFocusManager
.
getFocusListener
()
.
onAudioFocusChange
(
AudioManager
.
AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK
);
assertThat
(
testPlayerControl
.
lastPlayerCommand
).
isEqualTo
(
PLAYER_COMMAND_WAIT_FOR_CALLBACK
);
assertThat
(
testPlayerControl
.
lastVolumeMultiplier
).
isEqualTo
(
1.0f
);
request
.
listener
.
onAudioFocusChange
(
AudioManager
.
AUDIOFOCUS_GAIN
);
audioFocusManager
.
getFocusListener
()
.
onAudioFocusChange
(
AudioManager
.
AUDIOFOCUS_GAIN
);
assertThat
(
testPlayerControl
.
lastPlayerCommand
).
isEqualTo
(
PLAYER_COMMAND_PLAY_WHEN_READY
);
}
...
...
@@ -237,14 +266,13 @@ public class AudioFocusManagerTest {
media
,
/* playWhenReady= */
true
,
Player
.
STATE_READY
))
.
isEqualTo
(
PLAYER_COMMAND_PLAY_WHEN_READY
);
ShadowAudioManager
.
AudioFocusRequest
request
=
Shadows
.
shadowOf
(
audioManager
).
getLastAudioFocusRequest
();
request
.
listener
.
onAudioFocusChange
(
AudioManager
.
AUDIOFOCUS_LOSS_TRANSIENT
);
audioFocusManager
.
getFocusListener
().
onAudioFocusChange
(
AudioManager
.
AUDIOFOCUS_LOSS_TRANSIENT
);
assertThat
(
testPlayerControl
.
lastVolumeMultiplier
).
isEqualTo
(
1.0f
);
assertThat
(
testPlayerControl
.
lastPlayerCommand
).
isEqualTo
(
PLAYER_COMMAND_WAIT_FOR_CALLBACK
);
}
@Test
@Config
(
maxSdk
=
25
)
public
void
onAudioFocusChange_withAudioFocusLost_sendsDoNotPlayAndAbandondsFocus
()
{
// Ensure that AUDIOFOCUS_LOSS causes AudioFocusManager to pause playback and abandon audio
// focus.
...
...
@@ -271,6 +299,32 @@ public class AudioFocusManagerTest {
}
@Test
@Config
(
minSdk
=
26
)
public
void
onAudioFocusChange_withAudioFocusLost_sendsDoNotPlayAndAbandondsFocus_v26
()
{
// Ensure that AUDIOFOCUS_LOSS causes AudioFocusManager to pause playback and abandon audio
// focus.
AudioAttributes
media
=
new
AudioAttributes
.
Builder
()
.
setUsage
(
C
.
USAGE_MEDIA
)
.
setContentType
(
C
.
CONTENT_TYPE_SPEECH
)
.
build
();
Shadows
.
shadowOf
(
audioManager
)
.
setNextFocusRequestResponse
(
AudioManager
.
AUDIOFOCUS_REQUEST_GRANTED
);
assertThat
(
audioFocusManager
.
setAudioAttributes
(
media
,
/* playWhenReady= */
true
,
Player
.
STATE_READY
))
.
isEqualTo
(
PLAYER_COMMAND_PLAY_WHEN_READY
);
assertThat
(
Shadows
.
shadowOf
(
audioManager
).
getLastAbandonedAudioFocusRequest
()).
isNull
();
audioFocusManager
.
getFocusListener
().
onAudioFocusChange
(
AudioManager
.
AUDIOFOCUS_LOSS
);
assertThat
(
testPlayerControl
.
lastPlayerCommand
).
isEqualTo
(
PLAYER_COMMAND_DO_NOT_PLAY
);
assertThat
(
Shadows
.
shadowOf
(
audioManager
).
getLastAbandonedAudioFocusRequest
())
.
isEqualTo
(
Shadows
.
shadowOf
(
audioManager
).
getLastAudioFocusRequest
().
audioFocusRequest
);
}
@Test
@Config
(
maxSdk
=
25
)
public
void
handleStop_withAudioFocus_abandonsAudioFocus
()
{
// Ensure that handleStop causes AudioFocusManager to abandon audio focus.
AudioAttributes
media
=
...
...
@@ -295,6 +349,32 @@ public class AudioFocusManagerTest {
}
@Test
@Config
(
minSdk
=
26
)
public
void
handleStop_withAudioFocus_abandonsAudioFocus_v26
()
{
// Ensure that handleStop causes AudioFocusManager to abandon audio focus.
AudioAttributes
media
=
new
AudioAttributes
.
Builder
()
.
setUsage
(
C
.
USAGE_MEDIA
)
.
setContentType
(
C
.
CONTENT_TYPE_SPEECH
)
.
build
();
Shadows
.
shadowOf
(
audioManager
)
.
setNextFocusRequestResponse
(
AudioManager
.
AUDIOFOCUS_REQUEST_GRANTED
);
assertThat
(
audioFocusManager
.
setAudioAttributes
(
media
,
/* playWhenReady= */
true
,
Player
.
STATE_READY
))
.
isEqualTo
(
PLAYER_COMMAND_PLAY_WHEN_READY
);
assertThat
(
Shadows
.
shadowOf
(
audioManager
).
getLastAbandonedAudioFocusRequest
()).
isNull
();
ShadowAudioManager
.
AudioFocusRequest
request
=
Shadows
.
shadowOf
(
audioManager
).
getLastAudioFocusRequest
();
audioFocusManager
.
handleStop
();
assertThat
(
Shadows
.
shadowOf
(
audioManager
).
getLastAbandonedAudioFocusRequest
())
.
isEqualTo
(
request
.
audioFocusRequest
);
}
@Test
@Config
(
maxSdk
=
25
)
public
void
handleStop_withoutAudioFocus_stillAbandonsFocus
()
{
// Ensure that handleStop causes AudioFocusManager to call through to abandon audio focus
// even if focus wasn't requested.
...
...
@@ -320,6 +400,7 @@ public class AudioFocusManagerTest {
}
@Test
@Config
(
maxSdk
=
25
)
public
void
handleStop_withoutHandlingAudioFocus_isNoOp
()
{
// Ensure that handleStop is a no-op if audio focus isn't handled.
Shadows
.
shadowOf
(
audioManager
)
...
...
@@ -337,6 +418,31 @@ public class AudioFocusManagerTest {
assertThat
(
Shadows
.
shadowOf
(
audioManager
).
getLastAbandonedAudioFocusListener
()).
isNull
();
}
@Test
@Config
(
minSdk
=
26
)
public
void
handleStop_withoutHandlingAudioFocus_isNoOp_v26
()
{
// Ensure that handleStop is a no-op if audio focus isn't handled.
Shadows
.
shadowOf
(
audioManager
)
.
setNextFocusRequestResponse
(
AudioManager
.
AUDIOFOCUS_REQUEST_GRANTED
);
assertThat
(
audioFocusManager
.
setAudioAttributes
(
/* audioAttributes= */
null
,
/* playWhenReady= */
false
,
Player
.
STATE_READY
))
.
isEqualTo
(
PLAYER_COMMAND_DO_NOT_PLAY
);
assertThat
(
Shadows
.
shadowOf
(
audioManager
).
getLastAbandonedAudioFocusRequest
()).
isNull
();
ShadowAudioManager
.
AudioFocusRequest
request
=
Shadows
.
shadowOf
(
audioManager
).
getLastAudioFocusRequest
();
assertThat
(
request
).
isNull
();
audioFocusManager
.
handleStop
();
assertThat
(
Shadows
.
shadowOf
(
audioManager
).
getLastAbandonedAudioFocusRequest
()).
isNull
();
}
private
int
getAudioFocusGainFromRequest
(
ShadowAudioManager
.
AudioFocusRequest
audioFocusRequest
)
{
return
Util
.
SDK_INT
>=
26
?
audioFocusRequest
.
audioFocusRequest
.
getFocusGain
()
:
audioFocusRequest
.
durationHint
;
}
private
static
class
TestPlayerControl
implements
AudioFocusManager
.
PlayerControl
{
private
float
lastVolumeMultiplier
=
1.0f
;
private
int
lastPlayerCommand
=
NO_COMMAND_RECEIVED
;
...
...
library/core/src/test/resources/robolectric.properties
deleted
100644 → 0
View file @
f299a65a
manifest
=
src/test/AndroidManifest.xml
library/dash/build.gradle
View file @
edabbd52
...
...
@@ -35,6 +35,8 @@ android {
// testCoverageEnabled = true
// }
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
library/dash/src/test/resources/robolectric.properties
deleted
100644 → 0
View file @
f299a65a
manifest
=
src/test/AndroidManifest.xml
library/hls/build.gradle
View file @
edabbd52
...
...
@@ -35,6 +35,8 @@ android {
// testCoverageEnabled = true
// }
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
library/hls/src/test/resources/robolectric.properties
deleted
100644 → 0
View file @
f299a65a
manifest
=
src/test/AndroidManifest.xml
library/smoothstreaming/build.gradle
View file @
edabbd52
...
...
@@ -35,6 +35,8 @@ android {
// testCoverageEnabled = true
// }
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
library/smoothstreaming/src/test/resources/robolectric.properties
deleted
100644 → 0
View file @
f299a65a
manifest
=
src/test/AndroidManifest.xml
library/ui/build.gradle
View file @
edabbd52
...
...
@@ -34,6 +34,8 @@ android {
// testCoverageEnabled = true
// }
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
library/ui/src/test/resources/robolectric.properties
deleted
100644 → 0
View file @
f299a65a
manifest
=
src/test/AndroidManifest.xml
playbacktests/build.gradle
View file @
edabbd52
...
...
@@ -27,6 +27,8 @@ android {
targetSdkVersion
project
.
ext
.
targetSdkVersion
testInstrumentationRunner
'androidx.test.runner.AndroidJUnitRunner'
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
testutils/build.gradle
View file @
edabbd52
...
...
@@ -33,6 +33,8 @@ android {
// See: https://github.com/junit-team/junit4/pull/1187.
disable
'InvalidPackage'
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
testutils/src/test/resources/robolectric.properties
deleted
100644 → 0
View file @
f299a65a
manifest
=
src/test/AndroidManifest.xml
testutils_robolectric/build.gradle
View file @
edabbd52
...
...
@@ -32,6 +32,8 @@ android {
// which is not part of Android.
disable
'InvalidPackage'
}
testOptions
.
unitTests
.
includeAndroidResources
=
true
}
dependencies
{
...
...
testutils_robolectric/src/main/java/com/google/android/exoplayer2/testutil/RobolectricUtil.java
View file @
edabbd52
...
...
@@ -165,7 +165,7 @@ public final class RobolectricUtil {
public
boolean
enqueueMessage
(
Message
msg
,
long
when
)
{
Looper
looper
=
ShadowLooper
.
getLooperForThread
(
looperThread
);
if
(
shadowOf
(
looper
)
instanceof
CustomLooper
&&
shadowOf
(
looper
)
!=
ShadowLooper
.
getShadowMainLooper
(
))
{
&&
shadowOf
(
looper
)
!=
shadowOf
(
Looper
.
getMainLooper
()
))
{
((
CustomLooper
)
shadowOf
(
looper
)).
addPendingMessage
(
msg
,
when
);
}
else
{
super
.
enqueueMessage
(
msg
,
when
);
...
...
@@ -177,7 +177,7 @@ public final class RobolectricUtil {
public
void
removeMessages
(
Handler
handler
,
int
what
,
Object
object
)
{
Looper
looper
=
ShadowLooper
.
getLooperForThread
(
looperThread
);
if
(
shadowOf
(
looper
)
instanceof
CustomLooper
&&
shadowOf
(
looper
)
!=
ShadowLooper
.
getShadowMainLooper
(
))
{
&&
shadowOf
(
looper
)
!=
shadowOf
(
Looper
.
getMainLooper
()
))
{
((
CustomLooper
)
shadowOf
(
looper
)).
removeMessages
(
handler
,
what
,
object
);
}
}
...
...
@@ -186,7 +186,7 @@ public final class RobolectricUtil {
public
void
removeCallbacksAndMessages
(
Handler
handler
,
Object
object
)
{
Looper
looper
=
ShadowLooper
.
getLooperForThread
(
looperThread
);
if
(
shadowOf
(
looper
)
instanceof
CustomLooper
&&
shadowOf
(
looper
)
!=
ShadowLooper
.
getShadowMainLooper
(
))
{
&&
shadowOf
(
looper
)
!=
shadowOf
(
Looper
.
getMainLooper
()
))
{
((
CustomLooper
)
shadowOf
(
looper
)).
removeMessages
(
handler
,
ANY_MESSAGE
,
object
);
}
}
...
...
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