MediaControlView2: Add Support for Ad
Add APIs for getting/setting MediaMetadata2 in oder to add support
for Advertising media type.
Bug: 73136129
Test: run VideoViewTest.apk
Change-Id: Iab8e23c1f02f4e2df62a6732112b233541f8f35c
diff --git a/core/java/android/widget/VideoView2.java b/core/java/android/widget/VideoView2.java
index 69c1fb6..340be46 100644
--- a/core/java/android/widget/VideoView2.java
+++ b/core/java/android/widget/VideoView2.java
@@ -22,6 +22,7 @@
import android.content.Context;
import android.media.AudioAttributes;
import android.media.AudioManager;
+import android.media.MediaMetadata2;
import android.media.MediaPlayerInterface;
import android.media.session.MediaController;
import android.media.session.MediaSession;
@@ -168,6 +169,27 @@
return mProvider.getMediaControlView2_impl();
}
+ /**
+ * Sets MediaMetadata2 instance. It will replace the previously assigned MediaMetadata2 instance
+ * if any.
+ *
+ * @param metadata a MediaMetadata2 instance.
+ * @hide
+ */
+ public void setMediaMetadata(MediaMetadata2 metadata) {
+ mProvider.setMediaMetadata_impl(metadata);
+ }
+
+ /**
+ * Returns MediaMetadata2 instance which is retrieved from MediaPlayer2 inside VideoView2 by
+ * default or by {@link #setMediaMetadata} method.
+ * @hide
+ */
+ public MediaMetadata2 getMediaMetadata() {
+ // TODO: add to Javadoc whether this value can be null or not when integrating with
+ // MediaSession2.
+ return mProvider.getMediaMetadata_impl();
+ }
/**
* Returns MediaController instance which is connected with MediaSession that VideoView2 is
diff --git a/media/java/android/media/update/VideoView2Provider.java b/media/java/android/media/update/VideoView2Provider.java
index 21cc61f..4333c96 100644
--- a/media/java/android/media/update/VideoView2Provider.java
+++ b/media/java/android/media/update/VideoView2Provider.java
@@ -18,6 +18,7 @@
import android.annotation.SystemApi;
import android.media.AudioAttributes;
+import android.media.MediaMetadata2;
import android.media.MediaPlayerInterface;
import android.media.session.MediaController;
import android.media.session.PlaybackState;
@@ -51,8 +52,10 @@
void initialize(AttributeSet attrs, int defStyleAttr, int defStyleRes);
void setMediaControlView2_impl(MediaControlView2 mediaControlView, long intervalMs);
+ void setMediaMetadata_impl(MediaMetadata2 metadata);
MediaController getMediaController_impl();
MediaControlView2 getMediaControlView2_impl();
+ MediaMetadata2 getMediaMetadata_impl();
void setSubtitleEnabled_impl(boolean enable);
boolean isSubtitleEnabled_impl();
// TODO: remove setSpeed_impl once MediaController2 is ready.