From: Jaewan Kim Date: Mon, 19 Feb 2018 06:20:29 +0000 (+0900) Subject: MediaSession2: Implement subscribe/unsubscribe X-Git-Tag: android-x86-9.0-r1~201^2~43^2~2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=acdbf49ac345f85e4b14610997eb2481875cb5e8;p=android-x86%2Fframeworks-base.git MediaSession2: Implement subscribe/unsubscribe Bug: 72786292 Test: Run all MediaComponents tests Change-Id: I0871f883d638292fb75b2bd8c9bd4d680e4a1d0b --- diff --git a/media/java/android/media/MediaBrowser2.java b/media/java/android/media/MediaBrowser2.java index f03dbae24b25..97f0193996cf 100644 --- a/media/java/android/media/MediaBrowser2.java +++ b/media/java/android/media/MediaBrowser2.java @@ -156,12 +156,14 @@ public class MediaBrowser2 extends MediaController2 { /** * Unsubscribe for changes to the children of the parent, which was previously subscribed with * {@link #subscribe(String, Bundle)}. + *

+ * This unsubscribes all previous subscription with the parent id, regardless of the extra + * that was previously sent to the library service. * * @param parentId parent id - * @param extras extra bundle */ - public void unsubscribe(String parentId, @Nullable Bundle extras) { - mProvider.unsubscribe_impl(parentId, extras); + public void unsubscribe(String parentId) { + mProvider.unsubscribe_impl(parentId); } /** diff --git a/media/java/android/media/MediaLibraryService2.java b/media/java/android/media/MediaLibraryService2.java index 19cefa74cfa3..fac773b8906a 100644 --- a/media/java/android/media/MediaLibraryService2.java +++ b/media/java/android/media/MediaLibraryService2.java @@ -176,25 +176,27 @@ public abstract class MediaLibraryService2 extends MediaSessionService2 { } /** - * Called when a controller subscribes to the parent. + * Called when a controller subscribed to the parent. + *

+ * It's your responsibility to keep subscriptions by your own and call + * {@link MediaLibrarySession#notifyChildrenChanged(ControllerInfo, String, Bundle)} when + * the parent is changed. * * @param controller controller * @param parentId parent id * @param extras extra bundle */ - public void onSubscribed(@NonNull ControllerInfo controller, String parentId, + public void onSubscribed(@NonNull ControllerInfo controller, @NonNull String parentId, @Nullable Bundle extras) { } /** - * Called when a controller unsubscribes to the parent. + * Called when a controller unsubscribed to the parent. * * @param controller controller * @param parentId parent id - * @param extras extra bundle */ - public void onUnsubscribed(@NonNull ControllerInfo controller, String parentId, - @Nullable Bundle extras) { + public void onUnsubscribed(@NonNull ControllerInfo controller, @NonNull String parentId) { } /** @@ -206,7 +208,6 @@ public abstract class MediaLibraryService2 extends MediaSessionService2 { */ public void onSearch(@NonNull ControllerInfo controllerInfo, @NonNull String query, @Nullable Bundle extras) { - } /** diff --git a/media/java/android/media/update/MediaBrowser2Provider.java b/media/java/android/media/update/MediaBrowser2Provider.java index eda4c7c1f36e..a18701eca3c6 100644 --- a/media/java/android/media/update/MediaBrowser2Provider.java +++ b/media/java/android/media/update/MediaBrowser2Provider.java @@ -25,7 +25,7 @@ public interface MediaBrowser2Provider extends MediaController2Provider { void getLibraryRoot_impl(Bundle rootHints); void subscribe_impl(String parentId, Bundle extras); - void unsubscribe_impl(String parentId, Bundle extras); + void unsubscribe_impl(String parentId); void getItem_impl(String mediaId); void getChildren_impl(String parentId, int page, int pageSize, Bundle extras);