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
4454520e
authored
Mar 27, 2020
by
andrewlewis
Committed by
Oliver Woodman
Mar 27, 2020
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Add overlay FrameLayout to hosted tests
PiperOrigin-RevId: 303283147
parent
25d9f76a
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
28 additions
and
8 deletions
playbacktests/src/androidTest/java/com/google/android/exoplayer2/playbacktests/gts/DashTestRunner.java
testutils/src/main/java/com/google/android/exoplayer2/testutil/ExoHostedTest.java
testutils/src/main/java/com/google/android/exoplayer2/testutil/HostActivity.java
testutils/src/main/res/layout/exo_testutils_host_activity.xml
playbacktests/src/androidTest/java/com/google/android/exoplayer2/playbacktests/gts/DashTestRunner.java
View file @
4454520e
...
...
@@ -21,6 +21,7 @@ import android.media.MediaDrm;
import
android.media.UnsupportedSchemeException
;
import
android.net.Uri
;
import
android.view.Surface
;
import
android.widget.FrameLayout
;
import
androidx.annotation.RequiresApi
;
import
com.google.android.exoplayer2.C
;
import
com.google.android.exoplayer2.Format
;
...
...
@@ -297,7 +298,10 @@ import java.util.List;
@Override
protected
MediaSource
buildSource
(
HostActivity
host
,
String
userAgent
,
DrmSessionManager
drmSessionManager
)
{
HostActivity
host
,
String
userAgent
,
DrmSessionManager
drmSessionManager
,
FrameLayout
overlayFrameLayout
)
{
DataSource
.
Factory
dataSourceFactory
=
this
.
dataSourceFactory
!=
null
?
this
.
dataSourceFactory
...
...
testutils/src/main/java/com/google/android/exoplayer2/testutil/ExoHostedTest.java
View file @
4454520e
...
...
@@ -20,6 +20,7 @@ import static com.google.common.truth.Truth.assertWithMessage;
import
android.os.ConditionVariable
;
import
android.os.SystemClock
;
import
android.view.Surface
;
import
android.widget.FrameLayout
;
import
androidx.annotation.Nullable
;
import
com.google.android.exoplayer2.C
;
import
com.google.android.exoplayer2.DefaultRenderersFactory
;
...
...
@@ -126,7 +127,7 @@ public abstract class ExoHostedTest implements AnalyticsListener, HostedTest {
// HostedTest implementation
@Override
public
final
void
onStart
(
HostActivity
host
,
Surface
surface
)
{
public
final
void
onStart
(
HostActivity
host
,
Surface
surface
,
FrameLayout
overlayFrameLayout
)
{
this
.
surface
=
surface
;
// Build the player.
trackSelector
=
buildTrackSelector
(
host
);
...
...
@@ -142,7 +143,9 @@ public abstract class ExoHostedTest implements AnalyticsListener, HostedTest {
pendingSchedule
=
null
;
}
DrmSessionManager
drmSessionManager
=
buildDrmSessionManager
(
userAgent
);
player
.
setMediaSource
(
buildSource
(
host
,
Util
.
getUserAgent
(
host
,
userAgent
),
drmSessionManager
));
player
.
setMediaSource
(
buildSource
(
host
,
Util
.
getUserAgent
(
host
,
userAgent
),
drmSessionManager
,
overlayFrameLayout
));
player
.
prepare
();
}
...
...
@@ -254,7 +257,10 @@ public abstract class ExoHostedTest implements AnalyticsListener, HostedTest {
}
protected
abstract
MediaSource
buildSource
(
HostActivity
host
,
String
userAgent
,
DrmSessionManager
drmSessionManager
);
HostActivity
host
,
String
userAgent
,
DrmSessionManager
drmSessionManager
,
FrameLayout
overlayFrameLayout
);
protected
void
onPlayerErrorInternal
(
ExoPlaybackException
error
)
{
// Do nothing. Interested subclasses may override.
...
...
testutils/src/main/java/com/google/android/exoplayer2/testutil/HostActivity.java
View file @
4454520e
...
...
@@ -29,6 +29,7 @@ import android.view.Surface;
import
android.view.SurfaceHolder
;
import
android.view.SurfaceView
;
import
android.view.Window
;
import
android.widget.FrameLayout
;
import
androidx.annotation.Nullable
;
import
com.google.android.exoplayer2.util.Assertions
;
import
com.google.android.exoplayer2.util.Log
;
...
...
@@ -45,14 +46,15 @@ public final class HostActivity extends Activity implements SurfaceHolder.Callba
/**
* Called on the main thread when the test is started.
*
<p>
* The test will not be started until the {@link HostActivity} has been resumed and its
*
*
<p>
The test will not be started until the {@link HostActivity} has been resumed and its
* {@link Surface} has been created.
*
* @param host The {@link HostActivity} in which the test is being run.
* @param surface The {@link Surface}.
* @param overlayFrameLayout A {@link FrameLayout} that is on top of the surface.
*/
void
onStart
(
HostActivity
host
,
Surface
surface
);
void
onStart
(
HostActivity
host
,
Surface
surface
,
FrameLayout
overlayFrameLayout
);
/**
* Called on the main thread to block until the test has stopped or {@link #forceStop()} is
...
...
@@ -86,6 +88,7 @@ public final class HostActivity extends Activity implements SurfaceHolder.Callba
@Nullable
private
WakeLock
wakeLock
;
@Nullable
private
WifiLock
wifiLock
;
private
@MonotonicNonNull
SurfaceView
surfaceView
;
private
@MonotonicNonNull
FrameLayout
overlayFrameLayout
;
@Nullable
private
HostedTest
hostedTest
;
private
boolean
hostedTestStarted
;
...
...
@@ -171,6 +174,8 @@ public final class HostActivity extends Activity implements SurfaceHolder.Callba
surfaceView
=
findViewById
(
getResources
().
getIdentifier
(
"surface_view"
,
"id"
,
getPackageName
()));
surfaceView
.
getHolder
().
addCallback
(
this
);
overlayFrameLayout
=
findViewById
(
getResources
().
getIdentifier
(
"overlay_frame_layout"
,
"id"
,
getPackageName
()));
}
@Override
...
...
@@ -240,7 +245,8 @@ public final class HostActivity extends Activity implements SurfaceHolder.Callba
if
(
surface
!=
null
&&
surface
.
isValid
())
{
hostedTestStarted
=
true
;
Log
.
d
(
TAG
,
"Starting test."
);
Util
.
castNonNull
(
hostedTest
).
onStart
(
this
,
surface
);
Util
.
castNonNull
(
hostedTest
)
.
onStart
(
this
,
surface
,
Assertions
.
checkNotNull
(
overlayFrameLayout
));
Util
.
castNonNull
(
hostedTestStartedCondition
).
open
();
}
}
...
...
testutils/src/main/res/layout/exo_testutils_host_activity.xml
View file @
4454520e
...
...
@@ -25,4 +25,8 @@
android:layout_height=
"match_parent"
android:layout_gravity=
"center"
/>
<FrameLayout
android:id=
"@+id/overlay_frame_layout"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</FrameLayout>
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