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

Commit e3504260 authored by Yao Chen's avatar Yao Chen Committed by Android (Google) Code Review
Browse files

Merge "Updated media browsing API & tests." into lmp-dev

parents 82992fb7 17d47989
Loading
Loading
Loading
Loading
+5 −3
Original line number Original line Diff line number Diff line
@@ -322,15 +322,17 @@ LOCAL_SRC_FILES += \
	media/java/android/media/IRemoteVolumeObserver.aidl \
	media/java/android/media/IRemoteVolumeObserver.aidl \
	media/java/android/media/IRingtonePlayer.aidl \
	media/java/android/media/IRingtonePlayer.aidl \
	media/java/android/media/IVolumeController.aidl \
	media/java/android/media/IVolumeController.aidl \
	media/java/android/media/browse/IMediaBrowserService.aidl \
	media/java/android/media/browse/IMediaBrowserServiceCallbacks.aidl \
	media/java/android/media/projection/IMediaProjection.aidl \
	media/java/android/media/projection/IMediaProjectionCallback.aidl \
	media/java/android/media/projection/IMediaProjectionManager.aidl \
	media/java/android/media/routing/IMediaRouteService.aidl \
	media/java/android/media/routing/IMediaRouteService.aidl \
	media/java/android/media/routing/IMediaRouteClientCallback.aidl \
	media/java/android/media/routing/IMediaRouteClientCallback.aidl \
	media/java/android/media/routing/IMediaRouter.aidl \
	media/java/android/media/routing/IMediaRouter.aidl \
	media/java/android/media/routing/IMediaRouterDelegate.aidl \
	media/java/android/media/routing/IMediaRouterDelegate.aidl \
	media/java/android/media/routing/IMediaRouterRoutingCallback.aidl \
	media/java/android/media/routing/IMediaRouterRoutingCallback.aidl \
	media/java/android/media/routing/IMediaRouterStateCallback.aidl \
	media/java/android/media/routing/IMediaRouterStateCallback.aidl \
	media/java/android/media/projection/IMediaProjection.aidl \
	media/java/android/media/projection/IMediaProjectionCallback.aidl \
	media/java/android/media/projection/IMediaProjectionManager.aidl \
	media/java/android/media/session/IActiveSessionsListener.aidl \
	media/java/android/media/session/IActiveSessionsListener.aidl \
	media/java/android/media/session/ISessionController.aidl \
	media/java/android/media/session/ISessionController.aidl \
	media/java/android/media/session/ISessionControllerCallback.aidl \
	media/java/android/media/session/ISessionControllerCallback.aidl \
+71 −0
Original line number Original line Diff line number Diff line
@@ -16154,6 +16154,77 @@ package android.media.audiofx {
}
}
package android.media.browse {
  public final class MediaBrowser {
    ctor public MediaBrowser(android.content.Context, android.content.ComponentName, android.media.browse.MediaBrowser.ConnectionCallback, android.os.Bundle);
    method public void connect();
    method public void disconnect();
    method public android.net.Uri getRoot();
    method public android.media.session.MediaSession.Token getSessionToken();
    method public boolean isConnected();
    method public void loadThumbnail(android.net.Uri, int, int, int, android.media.browse.MediaBrowser.ThumbnailCallback);
    method public void subscribe(android.net.Uri, android.media.browse.MediaBrowser.SubscriptionCallback);
    method public void unsubscribe(android.net.Uri);
  }
  public static class MediaBrowser.ConnectionCallback {
    ctor public MediaBrowser.ConnectionCallback();
    method public void onConnected();
    method public void onConnectionFailed();
    method public void onConnectionSuspended();
  }
  public static abstract class MediaBrowser.SubscriptionCallback {
    ctor public MediaBrowser.SubscriptionCallback();
    method public void onChildrenLoaded(android.net.Uri, java.util.List<android.media.browse.MediaBrowserItem>);
    method public void onError(android.net.Uri);
  }
  public static abstract class MediaBrowser.ThumbnailCallback {
    ctor public MediaBrowser.ThumbnailCallback();
    method public void onError(android.net.Uri);
    method public void onThumbnailLoaded(android.net.Uri, android.graphics.Bitmap);
  }
  public final class MediaBrowserItem implements android.os.Parcelable {
    method public int describeContents();
    method public android.os.Bundle getExtras();
    method public int getFlags();
    method public java.lang.CharSequence getSummary();
    method public java.lang.CharSequence getTitle();
    method public android.net.Uri getUri();
    method public boolean isBrowsable();
    method public boolean isPlayable();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator CREATOR;
    field public static final int FLAG_BROWSABLE = 1; // 0x1
    field public static final int FLAG_PLAYABLE = 2; // 0x2
  }
  public static final class MediaBrowserItem.Builder {
    ctor public MediaBrowserItem.Builder(android.net.Uri, int, java.lang.CharSequence);
    method public android.media.browse.MediaBrowserItem build();
    method public android.media.browse.MediaBrowserItem.Builder setExtras(android.os.Bundle);
    method public android.media.browse.MediaBrowserItem.Builder setSummary(java.lang.CharSequence);
  }
  public abstract class MediaBrowserService extends android.app.Service {
    ctor public MediaBrowserService();
    method public void dump(java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
    method public android.media.session.MediaSession.Token getSessionToken();
    method public void notifyChange();
    method public void notifyChildrenChanged(android.net.Uri);
    method public android.os.IBinder onBind(android.content.Intent);
    method public abstract android.net.Uri onGetRoot(java.lang.String, int, android.os.Bundle);
    method public abstract android.graphics.Bitmap onGetThumbnail(android.net.Uri, int, int, int);
    method public abstract java.util.List<android.media.browse.MediaBrowserItem> onLoadChildren(android.net.Uri);
    method public void setSessionToken(android.media.session.MediaSession.Token);
    field public static final java.lang.String SERVICE_ACTION = "android.media.browse.MediaBrowserService";
  }
}
package android.media.effect {
package android.media.effect {
  public abstract class Effect {
  public abstract class Effect {
+20 −0
Original line number Original line Diff line number Diff line
// Copyright 2014 Google Inc. All Rights Reserved.

package android.media.browse;

import android.media.browse.IMediaBrowserServiceCallbacks;
import android.net.Uri;
import android.os.Bundle;

/**
 * Media API allows clients to browse through hierarchy of a user’s media collection,
 * playback a specific media entry and interact with the now playing queue.
 * @hide
 */
oneway interface IMediaBrowserService {
    void connect(String pkg, in Bundle rootHints, IMediaBrowserServiceCallbacks callbacks);
    void disconnect(IMediaBrowserServiceCallbacks callbacks);

    void addSubscription(in Uri uri, IMediaBrowserServiceCallbacks callbacks);
    void removeSubscription(in Uri uri, IMediaBrowserServiceCallbacks callbacks);
}
 No newline at end of file
+24 −0
Original line number Original line Diff line number Diff line
// Copyright 2014 Google Inc. All Rights Reserved.

package android.media.browse;

import android.content.pm.ParceledListSlice;
import android.media.session.MediaSession;
import android.net.Uri;

/**
 * Media API allows clients to browse through hierarchy of a user’s media collection,
 * playback a specific media entry and interact with the now playing queue.
 * @hide
 */
oneway interface IMediaBrowserServiceCallbacks {
    /**
     * Invoked when the connected has been established.
     * @param root The root Uri for browsing.
     * @param session The {@link MediaSession.Token media session token} that can be used to control
     * the playback of the media app.
     */
    void onConnect(in Uri root, in MediaSession.Token session);
    void onConnectFailed();
    void onLoadChildren(in Uri uri, in ParceledListSlice list);
}
+704 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading