Loading packages/MediaComponents/src/com/android/media/MediaLibraryService2Impl.java +7 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading Loading @@ -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(); } } Loading packages/MediaComponents/src/com/android/media/MediaSession2Impl.java +23 −11 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading @@ -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(); Loading @@ -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); Loading Loading @@ -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); } Loading Loading @@ -1287,6 +1290,7 @@ public class MediaSession2Impl implements MediaSession2Provider { String mId; Executor mCallbackExecutor; C mCallback; MediaPlaylistController mMplc; VolumeProvider2 mVolumeProvider; PendingIntent mSessionActivity; Loading @@ -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; } Loading Loading @@ -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
packages/MediaComponents/src/com/android/media/MediaLibraryService2Impl.java +7 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading Loading @@ -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(); } } Loading
packages/MediaComponents/src/com/android/media/MediaSession2Impl.java +23 −11 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading @@ -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(); Loading @@ -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); Loading Loading @@ -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); } Loading Loading @@ -1287,6 +1290,7 @@ public class MediaSession2Impl implements MediaSession2Provider { String mId; Executor mCallbackExecutor; C mCallback; MediaPlaylistController mMplc; VolumeProvider2 mVolumeProvider; PendingIntent mSessionActivity; Loading @@ -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; } Loading Loading @@ -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(); } } }