Loading packages/MediaComponents/src/com/android/media/IMediaController2.aidl +1 −0 Original line number Original line Diff line number Diff line Loading @@ -40,6 +40,7 @@ oneway interface IMediaController2 { void onPlaybackInfoChanged(in Bundle playbackInfo); void onPlaybackInfoChanged(in Bundle playbackInfo); void onRepeatModeChanged(int repeatMode); void onRepeatModeChanged(int repeatMode); void onShuffleModeChanged(int shuffleMode); void onShuffleModeChanged(int shuffleMode); void onError(int errorCode, in Bundle extras); void onConnected(IMediaSession2 sessionBinder, in Bundle commandGroup, void onConnected(IMediaSession2 sessionBinder, in Bundle commandGroup, int playerState, long positionEventTimeMs, long positionMs, float playbackSpeed, int playerState, long positionEventTimeMs, long positionMs, float playbackSpeed, Loading packages/MediaComponents/src/com/android/media/MediaController2Impl.java +9 −0 Original line number Original line Diff line number Diff line Loading @@ -906,6 +906,15 @@ public class MediaController2Impl implements MediaController2Provider { }); }); } } void pushError(int errorCode, Bundle extras) { mCallbackExecutor.execute(() -> { if (!mInstance.isConnected()) { return; } mCallback.onError(mInstance, errorCode, extras); }); } // Should be used without a lock to prevent potential deadlock. // Should be used without a lock to prevent potential deadlock. void onConnectedNotLocked(IMediaSession2 sessionBinder, void onConnectedNotLocked(IMediaSession2 sessionBinder, final CommandGroup allowedCommands, final CommandGroup allowedCommands, Loading packages/MediaComponents/src/com/android/media/MediaController2Stub.java +12 −0 Original line number Original line Diff line number Diff line Loading @@ -213,6 +213,18 @@ public class MediaController2Stub extends IMediaController2.Stub { controller.pushShuffleModeChanges(shuffleMode); controller.pushShuffleModeChanges(shuffleMode); } } @Override public void onError(int errorCode, Bundle extras) { final MediaController2Impl controller; try { controller = getController(); } catch (IllegalStateException e) { Log.w(TAG, "Don't fail silently here. Highly likely a bug"); return; } controller.pushError(errorCode, extras); } @Override @Override public void onConnected(IMediaSession2 sessionBinder, Bundle commandGroup, public void onConnected(IMediaSession2 sessionBinder, Bundle commandGroup, int playerState, long positionEventTimeMs, long positionMs, float playbackSpeed, int playerState, long positionEventTimeMs, long positionMs, float playbackSpeed, Loading packages/MediaComponents/src/com/android/media/MediaSession2Impl.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -682,7 +682,7 @@ public class MediaSession2Impl implements MediaSession2Provider { @Override @Override public void notifyError_impl(int errorCode, Bundle extras) { public void notifyError_impl(int errorCode, Bundle extras) { // TODO(jaewan): Implement mSessionStub.notifyError(errorCode, extras); } } /////////////////////////////////////////////////// /////////////////////////////////////////////////// Loading packages/MediaComponents/src/com/android/media/MediaSession2Stub.java +6 −0 Original line number Original line Diff line number Diff line Loading @@ -1044,6 +1044,12 @@ public class MediaSession2Stub extends IMediaSession2.Stub { }); }); } } public void notifyError(int errorCode, Bundle extras) { notifyAll((unused, iController) -> { iController.onError(errorCode, extras); }); } ////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////// // APIs for MediaLibrarySessionImpl // APIs for MediaLibrarySessionImpl ////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////// Loading Loading
packages/MediaComponents/src/com/android/media/IMediaController2.aidl +1 −0 Original line number Original line Diff line number Diff line Loading @@ -40,6 +40,7 @@ oneway interface IMediaController2 { void onPlaybackInfoChanged(in Bundle playbackInfo); void onPlaybackInfoChanged(in Bundle playbackInfo); void onRepeatModeChanged(int repeatMode); void onRepeatModeChanged(int repeatMode); void onShuffleModeChanged(int shuffleMode); void onShuffleModeChanged(int shuffleMode); void onError(int errorCode, in Bundle extras); void onConnected(IMediaSession2 sessionBinder, in Bundle commandGroup, void onConnected(IMediaSession2 sessionBinder, in Bundle commandGroup, int playerState, long positionEventTimeMs, long positionMs, float playbackSpeed, int playerState, long positionEventTimeMs, long positionMs, float playbackSpeed, Loading
packages/MediaComponents/src/com/android/media/MediaController2Impl.java +9 −0 Original line number Original line Diff line number Diff line Loading @@ -906,6 +906,15 @@ public class MediaController2Impl implements MediaController2Provider { }); }); } } void pushError(int errorCode, Bundle extras) { mCallbackExecutor.execute(() -> { if (!mInstance.isConnected()) { return; } mCallback.onError(mInstance, errorCode, extras); }); } // Should be used without a lock to prevent potential deadlock. // Should be used without a lock to prevent potential deadlock. void onConnectedNotLocked(IMediaSession2 sessionBinder, void onConnectedNotLocked(IMediaSession2 sessionBinder, final CommandGroup allowedCommands, final CommandGroup allowedCommands, Loading
packages/MediaComponents/src/com/android/media/MediaController2Stub.java +12 −0 Original line number Original line Diff line number Diff line Loading @@ -213,6 +213,18 @@ public class MediaController2Stub extends IMediaController2.Stub { controller.pushShuffleModeChanges(shuffleMode); controller.pushShuffleModeChanges(shuffleMode); } } @Override public void onError(int errorCode, Bundle extras) { final MediaController2Impl controller; try { controller = getController(); } catch (IllegalStateException e) { Log.w(TAG, "Don't fail silently here. Highly likely a bug"); return; } controller.pushError(errorCode, extras); } @Override @Override public void onConnected(IMediaSession2 sessionBinder, Bundle commandGroup, public void onConnected(IMediaSession2 sessionBinder, Bundle commandGroup, int playerState, long positionEventTimeMs, long positionMs, float playbackSpeed, int playerState, long positionEventTimeMs, long positionMs, float playbackSpeed, Loading
packages/MediaComponents/src/com/android/media/MediaSession2Impl.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -682,7 +682,7 @@ public class MediaSession2Impl implements MediaSession2Provider { @Override @Override public void notifyError_impl(int errorCode, Bundle extras) { public void notifyError_impl(int errorCode, Bundle extras) { // TODO(jaewan): Implement mSessionStub.notifyError(errorCode, extras); } } /////////////////////////////////////////////////// /////////////////////////////////////////////////// Loading
packages/MediaComponents/src/com/android/media/MediaSession2Stub.java +6 −0 Original line number Original line Diff line number Diff line Loading @@ -1044,6 +1044,12 @@ public class MediaSession2Stub extends IMediaSession2.Stub { }); }); } } public void notifyError(int errorCode, Bundle extras) { notifyAll((unused, iController) -> { iController.onError(errorCode, extras); }); } ////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////// // APIs for MediaLibrarySessionImpl // APIs for MediaLibrarySessionImpl ////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////// Loading