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

Commit 4e475438 authored by Sungsoo Lim's avatar Sungsoo Lim
Browse files

Move MediaBrowser API into updatable media

Bug: 119539966, Bug: 119538799
Test: build and boot,
    atest CtsMediaTestCases:android.media.cts.MediaBrowserTest,
    atest CtsMediaTestCases:android.media.cts.MediaBrowserServiceTest
Change-Id: I7afed77e61506a1b4ea57ac41eee62bfcda01a74
parent bb3b401d
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -519,8 +519,6 @@ java_defaults {
        "media/java/android/media/tv/ITvInputSessionCallback.aidl",
        "media/java/android/media/tv/ITvRemoteProvider.aidl",
        "media/java/android/media/tv/ITvRemoteServiceInput.aidl",
        "media/java/android/service/media/IMediaBrowserService.aidl",
        "media/java/android/service/media/IMediaBrowserServiceCallbacks.aidl",
        "telecomm/java/com/android/internal/telecom/ICallRedirectionAdapter.aidl",
        "telecomm/java/com/android/internal/telecom/ICallRedirectionService.aidl",
        "telecomm/java/com/android/internal/telecom/ICallScreeningAdapter.aidl",
+7 −0
Original line number Diff line number Diff line
@@ -35,6 +35,8 @@ filegroup {
        "apex/java/android/media/MediaMetadata.java",
        "apex/java/android/media/MediaParceledListSlice.java",
        "apex/java/android/media/VolumeProvider.java",
        "apex/java/android/media/browse/MediaBrowser.java",
        "apex/java/android/media/browse/MediaBrowserUtils.java",
        "apex/java/android/media/session/ControllerCallbackLink.java",
        "apex/java/android/media/session/ControllerLink.java",
        "apex/java/android/media/session/ISession.aidl",
@@ -47,6 +49,9 @@ filegroup {
        "apex/java/android/media/session/PlaybackState.java",
        "apex/java/android/media/session/SessionCallbackLink.java",
        "apex/java/android/media/session/SessionLink.java",
        "apex/java/android/service/media/IMediaBrowserService.aidl",
        "apex/java/android/service/media/IMediaBrowserServiceCallbacks.aidl",
        "apex/java/android/service/media/MediaBrowserService.java",
    ],
}

@@ -60,6 +65,8 @@ filegroup {
        "apex/java/android/media/session/ISessionCallback.aidl",
        "apex/java/android/media/session/ISessionController.aidl",
        "apex/java/android/media/session/ISessionControllerCallback.aidl",
        "apex/java/android/service/media/IMediaBrowserService.aidl",
        "apex/java/android/service/media/IMediaBrowserServiceCallbacks.aidl",
    ],
}

+12 −12
Original line number Diff line number Diff line
@@ -284,8 +284,8 @@ public final class MediaBrowser {
     */
    public @NonNull ComponentName getServiceComponent() {
        if (!isConnected()) {
            throw new IllegalStateException("getServiceComponent() called while not connected" +
                    " (state=" + mState + ")");
            throw new IllegalStateException("getServiceComponent() called while not connected"
                    + " (state=" + mState + ")");
        }
        return mServiceComponent;
    }
@@ -575,7 +575,7 @@ public final class MediaBrowser {
        }
    }

    private final void onServiceConnected(final IMediaBrowserServiceCallbacks callback,
    private void onServiceConnected(final IMediaBrowserServiceCallbacks callback,
            final String root, final MediaSession.Token session, final Bundle extra) {
        mHandler.post(new Runnable() {
            @Override
@@ -625,7 +625,7 @@ public final class MediaBrowser {
        });
    }

    private final void onConnectionFailed(final IMediaBrowserServiceCallbacks callback) {
    private void onConnectionFailed(final IMediaBrowserServiceCallbacks callback) {
        mHandler.post(new Runnable() {
            @Override
            public void run() {
@@ -652,7 +652,7 @@ public final class MediaBrowser {
        });
    }

    private final void onLoadChildren(final IMediaBrowserServiceCallbacks callback,
    private void onLoadChildren(final IMediaBrowserServiceCallbacks callback,
            final String parentId, final MediaParceledListSlice list, final Bundle options) {
        mHandler.post(new Runnable() {
            @Override
@@ -886,7 +886,7 @@ public final class MediaBrowser {
    /**
     * Callbacks for subscription related events.
     */
    public static abstract class SubscriptionCallback {
    public abstract static class SubscriptionCallback {
        Binder mToken;

        public SubscriptionCallback() {
@@ -947,7 +947,7 @@ public final class MediaBrowser {
    /**
     * Callback for receiving the result of {@link #getItem}.
     */
    public static abstract class ItemCallback {
    public abstract static class ItemCallback {
        /**
         * Called when the item has been returned by the connected service.
         *
@@ -1078,7 +1078,7 @@ public final class MediaBrowser {
    private static class ServiceCallbacks extends IMediaBrowserServiceCallbacks.Stub {
        private WeakReference<MediaBrowser> mMediaBrowser;

        public ServiceCallbacks(MediaBrowser mediaBrowser) {
        ServiceCallbacks(MediaBrowser mediaBrowser) {
            mMediaBrowser = new WeakReference<MediaBrowser>(mediaBrowser);
        }

@@ -1125,7 +1125,7 @@ public final class MediaBrowser {
        private final List<SubscriptionCallback> mCallbacks;
        private final List<Bundle> mOptionsList;

        public Subscription() {
        Subscription() {
            mCallbacks = new ArrayList<>();
            mOptionsList = new ArrayList<>();
        }
+6 −0
Original line number Diff line number Diff line
@@ -22,6 +22,9 @@ import android.os.Bundle;
 * @hide
 */
public class MediaBrowserUtils {
    /**
     * Compares whether two bundles are the same.
     */
    public static boolean areSameOptions(Bundle options1, Bundle options2) {
        if (options1 == options2) {
            return true;
@@ -39,6 +42,9 @@ public class MediaBrowserUtils {
        }
    }

    /**
     * Returnes true if the page options has duplicated items.
     */
    public static boolean hasDuplicatedItems(Bundle options1, Bundle options2) {
        int page1 = options1 == null ? -1 : options1.getInt(MediaBrowser.EXTRA_PAGE, -1);
        int page2 = options2 == null ? -1 : options2.getInt(MediaBrowser.EXTRA_PAGE, -1);
Loading