Merge "MediaSession2: Update Builder" into pi-dev am: 9f0cfbc8e9

am: dcaeb27238

Change-Id: I6bc8557d6e81ec1d47ddaae6723af102fd761c66
gugelfrei
Hyundo Moon 6 years ago committed by android-build-merger
commit 9510d0413f

@ -24,6 +24,7 @@ import android.media.MediaLibraryService2.MediaLibrarySession;
import android.media.MediaLibraryService2.MediaLibrarySession.Builder; import android.media.MediaLibraryService2.MediaLibrarySession.Builder;
import android.media.MediaLibraryService2.MediaLibrarySession.MediaLibrarySessionCallback; import android.media.MediaLibraryService2.MediaLibrarySession.MediaLibrarySessionCallback;
import android.media.MediaPlayerBase; import android.media.MediaPlayerBase;
import android.media.MediaPlaylistController;
import android.media.MediaSession2; import android.media.MediaSession2;
import android.media.MediaSession2.ControllerInfo; import android.media.MediaSession2.ControllerInfo;
import android.media.MediaSessionService2; import android.media.MediaSessionService2;
@ -67,10 +68,12 @@ public class MediaLibraryService2Impl extends MediaSessionService2Impl implement
public static class MediaLibrarySessionImpl extends MediaSession2Impl public static class MediaLibrarySessionImpl extends MediaSession2Impl
implements MediaLibrarySessionProvider { implements MediaLibrarySessionProvider {
public MediaLibrarySessionImpl(Context context, public MediaLibrarySessionImpl(Context context,
MediaPlayerBase player, String id, VolumeProvider2 volumeProvider, MediaPlayerBase player, String id, MediaPlaylistController mplc,
VolumeProvider2 volumeProvider,
PendingIntent sessionActivity, Executor callbackExecutor, PendingIntent sessionActivity, Executor callbackExecutor,
MediaLibrarySessionCallback callback) { MediaLibrarySessionCallback callback) {
super(context, player, id, volumeProvider, sessionActivity, callbackExecutor, callback); super(context, player, id, mplc, volumeProvider, sessionActivity, callbackExecutor,
callback);
// Don't put any extra initialization here. Here's the reason. // Don't put any extra initialization here. Here's the reason.
// System service will recognize this session inside of the super constructor and would // System service will recognize this session inside of the super constructor and would
// connect to this session assuming that initialization is finished. However, if any // connect to this session assuming that initialization is finished. However, if any
@ -138,8 +141,8 @@ public class MediaLibraryService2Impl extends MediaSessionService2Impl implement
@Override @Override
public MediaLibrarySession build_impl() { public MediaLibrarySession build_impl() {
return new MediaLibrarySessionImpl(mContext, mPlayer, mId, mVolumeProvider, return new MediaLibrarySessionImpl(mContext, mPlayer, mId, mMplc,
mSessionActivity, mCallbackExecutor, mCallback).getInstance(); mVolumeProvider, mSessionActivity, mCallbackExecutor, mCallback).getInstance();
} }
} }

@ -64,7 +64,6 @@ import android.os.ResultReceiver;
import android.support.annotation.GuardedBy; import android.support.annotation.GuardedBy;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.ArrayMap; import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.Log; import android.util.Log;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
@ -108,6 +107,8 @@ public class MediaSession2Impl implements MediaSession2Provider {
@GuardedBy("mLock") @GuardedBy("mLock")
private MediaPlayerBase mPlayer; private MediaPlayerBase mPlayer;
@GuardedBy("mLock") @GuardedBy("mLock")
private MediaPlaylistController mMplc;
@GuardedBy("mLock")
private VolumeProvider2 mVolumeProvider; private VolumeProvider2 mVolumeProvider;
@GuardedBy("mLock") @GuardedBy("mLock")
private PlaybackInfo mPlaybackInfo; private PlaybackInfo mPlaybackInfo;
@ -116,17 +117,18 @@ public class MediaSession2Impl implements MediaSession2Provider {
/** /**
* Can be only called by the {@link Builder#build()}. * Can be only called by the {@link Builder#build()}.
*
* @param context * @param context
* @param player * @param player
* @param id * @param id
* @param mplc
* @param volumeProvider * @param volumeProvider
* @param sessionActivity * @param sessionActivity
* @param callbackExecutor * @param callbackExecutor
* @param callback * @param callback
*/ */
public MediaSession2Impl(Context context, MediaPlayerBase player, String id, public MediaSession2Impl(Context context, MediaPlayerBase player, String id,
VolumeProvider2 volumeProvider, PendingIntent sessionActivity, MediaPlaylistController mplc, VolumeProvider2 volumeProvider,
PendingIntent sessionActivity,
Executor callbackExecutor, SessionCallback callback) { Executor callbackExecutor, SessionCallback callback) {
// TODO(jaewan): Keep other params. // TODO(jaewan): Keep other params.
mInstance = createInstance(); mInstance = createInstance();
@ -140,6 +142,7 @@ public class MediaSession2Impl implements MediaSession2Provider {
mSessionActivity = sessionActivity; mSessionActivity = sessionActivity;
mSessionStub = new MediaSession2Stub(this); mSessionStub = new MediaSession2Stub(this);
mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
mMplc = mplc;
// Infer type from the id and package name. // Infer type from the id and package name.
String libraryService = getServiceName(context, MediaLibraryService2.SERVICE_INTERFACE, id); String libraryService = getServiceName(context, MediaLibraryService2.SERVICE_INTERFACE, id);
@ -203,13 +206,13 @@ public class MediaSession2Impl implements MediaSession2Provider {
} }
@Override @Override
public void updatePlayer_impl(MediaPlayerBase player, MediaPlaylistController mpcl, public void updatePlayer_impl(MediaPlayerBase player, MediaPlaylistController mplc,
VolumeProvider2 volumeProvider) throws IllegalArgumentException { VolumeProvider2 volumeProvider) throws IllegalArgumentException {
ensureCallingThread(); ensureCallingThread();
if (player == null) { if (player == null) {
throw new IllegalArgumentException("player shouldn't be null"); throw new IllegalArgumentException("player shouldn't be null");
} }
// TODO(jaewan): Handle mpcl mMplc = mplc;
setPlayer(player, volumeProvider); setPlayer(player, volumeProvider);
} }
@ -1287,6 +1290,7 @@ public class MediaSession2Impl implements MediaSession2Provider {
String mId; String mId;
Executor mCallbackExecutor; Executor mCallbackExecutor;
C mCallback; C mCallback;
MediaPlaylistController mMplc;
VolumeProvider2 mVolumeProvider; VolumeProvider2 mVolumeProvider;
PendingIntent mSessionActivity; PendingIntent mSessionActivity;
@ -1307,17 +1311,25 @@ public class MediaSession2Impl implements MediaSession2Provider {
mId = ""; mId = "";
} }
public void setPlayer_impl(MediaPlayerBase player, MediaPlaylistController mplc, public void setPlayer_impl(MediaPlayerBase player) {
VolumeProvider2 volumeProvider) {
// TODO: Use MediaPlaylistController
if (player == null) { if (player == null) {
throw new IllegalArgumentException("player shouldn't be null"); throw new IllegalArgumentException("player shouldn't be null");
} }
mPlayer = player; mPlayer = player;
mVolumeProvider = volumeProvider; }
@Override
public void setPlaylistController_impl(MediaPlaylistController mplc) {
if (mplc == null) {
throw new IllegalArgumentException("mplc shouldn't be null");
}
mMplc = mplc;
} }
public void setVolumeProvider_impl(VolumeProvider2 volumeProvider) { public void setVolumeProvider_impl(VolumeProvider2 volumeProvider) {
if (volumeProvider == null) {
throw new IllegalArgumentException("volumeProvider shouldn't be null");
}
mVolumeProvider = volumeProvider; mVolumeProvider = volumeProvider;
} }
@ -1360,8 +1372,8 @@ public class MediaSession2Impl implements MediaSession2Provider {
mCallback = new SessionCallback(mContext) {}; mCallback = new SessionCallback(mContext) {};
} }
return new MediaSession2Impl(mContext, mPlayer, mId, mVolumeProvider, return new MediaSession2Impl(mContext, mPlayer, mId, mMplc,
mSessionActivity, mCallbackExecutor, mCallback).getInstance(); mVolumeProvider, mSessionActivity, mCallbackExecutor, mCallback).getInstance();
} }
} }
} }

Loading…
Cancel
Save