summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media/java/android/media/MediaController2.java42
-rw-r--r--media/java/android/media/update/MediaController2Provider.java2
2 files changed, 32 insertions, 12 deletions
diff --git a/media/java/android/media/MediaController2.java b/media/java/android/media/MediaController2.java
index 234a4f452fe5..57be72cff9ca 100644
--- a/media/java/android/media/MediaController2.java
+++ b/media/java/android/media/MediaController2.java
@@ -16,6 +16,8 @@
package android.media;
+import static android.media.MediaPlayerBase.BUFFERING_STATE_UNKNOWN;
+
import android.annotation.CallbackExecutor;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -166,13 +168,16 @@ public class MediaController2 implements AutoCloseable {
float speed) { }
/**
- * Called when the player's buffering position
+ * Called to report buffering events for a data source.
+ * <p>
+ * Use {@link #getBufferedPosition()} for current buffering position.
*
* @param controller the controller for this event
- * @param positionMs buffering position in millis
+ * @param item the media item for which buffering is happening.
+ * @param state the new buffering state.
*/
- public void onBufferedPositionChanged(@NonNull MediaController2 controller,
- long positionMs) { }
+ public void onBufferingStateChanged(@NonNull MediaController2 controller,
+ @NonNull MediaItem2 item, @MediaPlayerBase.BuffState int state) { }
/**
* Called when a error from
@@ -193,7 +198,7 @@ public class MediaController2 implements AutoCloseable {
* @param controller the controller for this event
* @param item new item
* @see #onPositionChanged(MediaController2, long, long)
- * @see #onBufferedPositionChanged(MediaController2, long)
+ * @see #onBufferingStateChanged(MediaController2, MediaItem2, int)
*/
// TODO(jaewan): Use this (b/74316764)
public void onCurrentMediaItemChanged(@NonNull MediaController2 controller,
@@ -450,9 +455,11 @@ public class MediaController2 implements AutoCloseable {
}
/**
+ * Revisit this API later.
* @hide
*/
public void skipForward() {
+ // TODO(jaewan): (Post-P) Discuss this API later.
// To match with KEYCODE_MEDIA_SKIP_FORWARD
}
@@ -460,6 +467,7 @@ public class MediaController2 implements AutoCloseable {
* @hide
*/
public void skipBackward() {
+ // TODO(jaewan): (Post-P) Discuss this API later.
// To match with KEYCODE_MEDIA_SKIP_BACKWARD
}
@@ -605,16 +613,15 @@ public class MediaController2 implements AutoCloseable {
}
/**
- * Get the lastly cached position from
- * {@link ControllerCallback#onPositionChanged(MediaController2, long, long)}.
+ * Gets the current playback position.
* <p>
* This returns the calculated value of the position, based on the difference between the
* update time and current time.
*
* @return position
*/
- public long getPosition() {
- return mProvider.getPosition_impl();
+ public long getCurrentPosition() {
+ return mProvider.getCurrentPosition_impl();
}
/**
@@ -634,9 +641,22 @@ public class MediaController2 implements AutoCloseable {
// TODO(jaewan): implement this (b/74093080)
}
+
+ /**
+ * Gets the current buffering state of the player.
+ * During buffering, see {@link #getBufferedPosition()} for the quantifying the amount already
+ * buffered.
+ * @return the buffering state.
+ */
+ public @MediaPlayerBase.BuffState int getBufferingState() {
+ // TODO(jaewan): Implement.
+ return BUFFERING_STATE_UNKNOWN;
+ }
+
/**
- * Get the lastly cached buffered position from
- * {@link ControllerCallback#onBufferedPositionChanged(MediaController2, long)}.
+ * Gets the lastly cached buffered position from the session when
+ * {@link ControllerCallback#onBufferingStateChanged(MediaController2, MediaItem2, int)} is
+ * called.
*
* @return buffering position in millis
*/
diff --git a/media/java/android/media/update/MediaController2Provider.java b/media/java/android/media/update/MediaController2Provider.java
index 22e5b181228b..213897d3e183 100644
--- a/media/java/android/media/update/MediaController2Provider.java
+++ b/media/java/android/media/update/MediaController2Provider.java
@@ -65,7 +65,7 @@ public interface MediaController2Provider extends TransportControlProvider {
void removePlaylistItem_impl(MediaItem2 item);
int getPlayerState_impl();
- long getPosition_impl();
+ long getCurrentPosition_impl();
float getPlaybackSpeed_impl();
long getBufferedPosition_impl();
MediaItem2 getCurrentMediaItem_impl();