Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit acdbf49a authored by Jaewan Kim's avatar Jaewan Kim
Browse files

MediaSession2: Implement subscribe/unsubscribe

Bug: 72786292
Test: Run all MediaComponents tests
Change-Id: I0871f883d638292fb75b2bd8c9bd4d680e4a1d0b
parent bdf077bd
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -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)}.
     * <p>
     * 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);
    }

    /**
+8 −7
Original line number Diff line number Diff line
@@ -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.
         * <p>
         * 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) {

        }

        /**
+1 −1
Original line number Diff line number Diff line
@@ -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);