diff --git a/core/api/current.txt b/core/api/current.txt index 13958d24096b95cda3804cc2f8143a32ef8196a4..29e0803fa1f347bece8ad68ce569c6571fef8a05 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -26611,7 +26611,7 @@ package android.media.session { public abstract static class MediaController.Callback { ctor public MediaController.Callback(); - method public void onAudioInfoChanged(android.media.session.MediaController.PlaybackInfo); + method public void onAudioInfoChanged(@NonNull android.media.session.MediaController.PlaybackInfo); method public void onExtrasChanged(@Nullable android.os.Bundle); method public void onMetadataChanged(@Nullable android.media.MediaMetadata); method public void onPlaybackStateChanged(@Nullable android.media.session.PlaybackState); diff --git a/media/java/android/media/session/MediaController.java b/media/java/android/media/session/MediaController.java index a4887567b0751fe37da26bff89086868ad826c67..70462effaa54388f876ed4c2706b8ba7c5088c1e 100644 --- a/media/java/android/media/session/MediaController.java +++ b/media/java/android/media/session/MediaController.java @@ -614,12 +614,11 @@ public final class MediaController { } /** - * Override to handle changes to the audio info. + * Signals a change in the session's {@link PlaybackInfo PlaybackInfo}. * - * @param info The current audio info for this session. + * @param playbackInfo The latest known state of the session's playback info. */ - public void onAudioInfoChanged(PlaybackInfo info) { - } + public void onAudioInfoChanged(@NonNull PlaybackInfo playbackInfo) {} } /** @@ -1182,7 +1181,7 @@ public final class MediaController { } @Override - public void onVolumeInfoChanged(PlaybackInfo info) { + public void onVolumeInfoChanged(@NonNull PlaybackInfo info) { MediaController controller = mController.get(); if (controller != null) { controller.postMessage(MSG_UPDATE_VOLUME, info, null); diff --git a/packages/SettingsLib/src/com/android/settingslib/volume/MediaSessions.java b/packages/SettingsLib/src/com/android/settingslib/volume/MediaSessions.java index 23b2cc2df794bc5e7757afdf588f694c56d93a5f..89f3cf5e9aab15f8643cbd3b312aabc5ac8fb072 100644 --- a/packages/SettingsLib/src/com/android/settingslib/volume/MediaSessions.java +++ b/packages/SettingsLib/src/com/android/settingslib/volume/MediaSessions.java @@ -278,7 +278,7 @@ public class MediaSessions { } @Override - public void onAudioInfoChanged(PlaybackInfo info) { + public void onAudioInfoChanged(@NonNull PlaybackInfo info) { if (D.BUG) { Log.d(TAG, cb("onAudioInfoChanged") + Util.playbackInfoToString(info) + " sentRemote=" + sentRemote); diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaDeviceManager.kt b/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaDeviceManager.kt index 043fbfaa8a236ef6110fa7a675c6704057a6144c..31b90ed5f7ac815dc8a4880581528d81f85b9689 100644 --- a/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaDeviceManager.kt +++ b/packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaDeviceManager.kt @@ -224,9 +224,9 @@ constructor( } @WorkerThread - override fun onAudioInfoChanged(info: MediaController.PlaybackInfo?) { - val newPlaybackType = info?.playbackType ?: PLAYBACK_TYPE_UNKNOWN - val newPlaybackVolumeControlId = info?.volumeControlId + override fun onAudioInfoChanged(info: MediaController.PlaybackInfo) { + val newPlaybackType = info.playbackType + val newPlaybackVolumeControlId = info.volumeControlId if ( newPlaybackType == playbackType && newPlaybackVolumeControlId == playbackVolumeControlId diff --git a/packages/SystemUI/src/com/android/systemui/volume/panel/component/mediaoutput/domain/interactor/MediaControllerInteractor.kt b/packages/SystemUI/src/com/android/systemui/volume/panel/component/mediaoutput/domain/interactor/MediaControllerInteractor.kt index 4812765d4afe83b7371249a73ae0aa2eda178b1e..a714f8078db7ada368237d038d046378d09e4c70 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/panel/component/mediaoutput/domain/interactor/MediaControllerInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/volume/panel/component/mediaoutput/domain/interactor/MediaControllerInteractor.kt @@ -86,7 +86,7 @@ private class MediaControllerCallbackProducer( send(MediaControllerChangeModel.ExtrasChanged(extras)) } - override fun onAudioInfoChanged(info: MediaController.PlaybackInfo?) { + override fun onAudioInfoChanged(info: MediaController.PlaybackInfo) { send(MediaControllerChangeModel.AudioInfoChanged(info)) } diff --git a/packages/SystemUI/src/com/android/systemui/volume/panel/component/mediaoutput/domain/interactor/MediaDeviceSessionInteractor.kt b/packages/SystemUI/src/com/android/systemui/volume/panel/component/mediaoutput/domain/interactor/MediaDeviceSessionInteractor.kt index 599bd73abb692f8aeb4064d7a044416db6ce5585..6e1ebc820b08ce231121a58d1a2fa4ba46b435f3 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/panel/component/mediaoutput/domain/interactor/MediaDeviceSessionInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/volume/panel/component/mediaoutput/domain/interactor/MediaDeviceSessionInteractor.kt @@ -57,7 +57,7 @@ constructor( } /** [MediaController.PlaybackInfo] changes for the [MediaDeviceSession]. */ - fun playbackInfo(session: MediaDeviceSession): Flow<MediaController.PlaybackInfo?> { + fun playbackInfo(session: MediaDeviceSession): Flow<MediaController.PlaybackInfo> { return stateChanges(session) { emit(MediaControllerChangeModel.AudioInfoChanged(it.playbackInfo)) } diff --git a/packages/SystemUI/src/com/android/systemui/volume/panel/component/mediaoutput/domain/model/MediaControllerChangeModel.kt b/packages/SystemUI/src/com/android/systemui/volume/panel/component/mediaoutput/domain/model/MediaControllerChangeModel.kt index ef5a44a7a2fd0d45c525c12232dce05fa7ccba98..8b5116a64365a019f0ab4f48ad6631f4240bf4c0 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/panel/component/mediaoutput/domain/model/MediaControllerChangeModel.kt +++ b/packages/SystemUI/src/com/android/systemui/volume/panel/component/mediaoutput/domain/model/MediaControllerChangeModel.kt @@ -40,6 +40,6 @@ sealed interface MediaControllerChangeModel { data class ExtrasChanged(val extras: Bundle?) : MediaControllerChangeModel - data class AudioInfoChanged(val info: MediaController.PlaybackInfo?) : + data class AudioInfoChanged(val info: MediaController.PlaybackInfo) : MediaControllerChangeModel } diff --git a/services/core/java/com/android/server/media/MediaShellCommand.java b/services/core/java/com/android/server/media/MediaShellCommand.java index a20de3198d2c00eeda033c66db5d7e11a820f402..bea71dc5cedb1c80fdbd337c90eab14dc830d9ce 100644 --- a/services/core/java/com/android/server/media/MediaShellCommand.java +++ b/services/core/java/com/android/server/media/MediaShellCommand.java @@ -16,6 +16,7 @@ package com.android.server.media; +import android.annotation.NonNull; import android.app.ActivityThread; import android.content.Context; import android.media.MediaMetadata; @@ -247,7 +248,7 @@ public class MediaShellCommand extends ShellCommand { } @Override - public void onAudioInfoChanged(MediaController.PlaybackInfo info) { + public void onAudioInfoChanged(@NonNull MediaController.PlaybackInfo info) { mWriter.println("onAudioInfoChanged " + info); } }