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
b4d72d12
authored
May 20, 2019
by
bachinger
Committed by
Oliver Woodman
May 31, 2019
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Add ProgressUpdateListener
Issue: #5834 PiperOrigin-RevId: 249067445
parent
e961def0
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
28 additions
and
1 deletions
RELEASENOTES.md
library/ui/src/main/java/com/google/android/exoplayer2/ui/PlayerControlView.java
RELEASENOTES.md
View file @
b4d72d12
...
...
@@ -6,6 +6,8 @@
to indicate whether a controller sent a play or only a prepare command. This
allows to take advantage of decoder reuse with the MediaSessionConnector
(
[
#5891
](
https://github.com/google/ExoPlayer/issues/5891
)
).
*
Add ProgressUpdateListener to PlayerControlView
(
[
#5834
](
https://github.com/google/ExoPlayer/issues/5834
)
).
### 2.10.1 ###
...
...
library/ui/src/main/java/com/google/android/exoplayer2/ui/PlayerControlView.java
View file @
b4d72d12
...
...
@@ -188,6 +188,18 @@ public class PlayerControlView extends FrameLayout {
void
onVisibilityChange
(
int
visibility
);
}
/** Listener to be notified when progress has been updated. */
public
interface
ProgressUpdateListener
{
/**
* Called when progress needs to be updated.
*
* @param position The current position.
* @param bufferedPosition The current buffered position.
*/
void
onProgressUpdate
(
long
position
,
long
bufferedPosition
);
}
/** The default fast forward increment, in milliseconds. */
public
static
final
int
DEFAULT_FAST_FORWARD_MS
=
15000
;
/** The default rewind increment, in milliseconds. */
...
...
@@ -235,7 +247,8 @@ public class PlayerControlView extends FrameLayout {
@Nullable
private
Player
player
;
private
com
.
google
.
android
.
exoplayer2
.
ControlDispatcher
controlDispatcher
;
private
VisibilityListener
visibilityListener
;
@Nullable
private
VisibilityListener
visibilityListener
;
@Nullable
private
ProgressUpdateListener
progressUpdateListener
;
@Nullable
private
PlaybackPreparer
playbackPreparer
;
private
boolean
isAttachedToWindow
;
...
...
@@ -455,6 +468,15 @@ public class PlayerControlView extends FrameLayout {
}
/**
* Sets the {@link ProgressUpdateListener}.
*
* @param listener The listener to be notified about when progress is updated.
*/
public
void
setProgressUpdateListener
(
@Nullable
ProgressUpdateListener
listener
)
{
this
.
progressUpdateListener
=
listener
;
}
/**
* Sets the {@link PlaybackPreparer}.
*
* @param playbackPreparer The {@link PlaybackPreparer}.
...
...
@@ -855,6 +877,9 @@ public class PlayerControlView extends FrameLayout {
timeBar
.
setPosition
(
position
);
timeBar
.
setBufferedPosition
(
bufferedPosition
);
}
if
(
progressUpdateListener
!=
null
)
{
progressUpdateListener
.
onProgressUpdate
(
position
,
bufferedPosition
);
}
// Cancel any pending updates and schedule a new one if necessary.
removeCallbacks
(
updateProgressAction
);
...
...
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