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.MediaLibrarySessionCallback;
import android.media.MediaPlayerBase;
import android.media.MediaPlaylistController;
import android.media.MediaSession2;
import android.media.MediaSession2.ControllerInfo;
import android.media.MediaSessionService2;
@ -67,10 +68,12 @@ public class MediaLibraryService2Impl extends MediaSessionService2Impl implement
public static class MediaLibrarySessionImpl extends MediaSession2Impl
implements MediaLibrarySessionProvider {
public MediaLibrarySessionImpl(Context context,
MediaPlayerBase player, String id, VolumeProvider2 volumeProvider,
MediaPlayerBase player, String id, MediaPlaylistController mplc,
VolumeProvider2 volumeProvider,
PendingIntent sessionActivity, Executor callbackExecutor,
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.
// 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
@ -138,8 +141,8 @@ public class MediaLibraryService2Impl extends MediaSessionService2Impl implement
@Override
public MediaLibrarySession build_impl() {
return new MediaLibrarySessionImpl(mContext, mPlayer, mId, mVolumeProvider,
mSessionActivity, mCallbackExecutor, mCallback).getInstance();
return new MediaLibrarySessionImpl(mContext, mPlayer, mId, mMplc,
mVolumeProvider, mSessionActivity, mCallbackExecutor, mCallback).getInstance();
}
}

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

Loading…
Cancel
Save