summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Iván Budnik <ivanbuper@google.com> 2024-05-20 17:28:05 +0100
committer Iván Budnik <ivanbuper@google.com> 2024-05-20 17:38:43 +0100
commit8ae5f905cba47d9e09fbfbae97eac7d3599614f7 (patch)
tree6d1e87cb5d8d5fc487f8b6bc740046a8dc02f948
parent0051d65378406c4893fba20db02e56858523104a (diff)
Fix nullability in onAudioInfoChanged
The callback has always returned a @NonNull value, but was never marked as such. This change also makes nullability of the MediaController's PlaybackInfo consistent with ag/27085155. Also, simplify downstream nullability for implementers of onAudioInfoChanged. Flag: EXEMPT non-functional refactor Test: Presubmit. Bug: 333564788 Change-Id: I9d4799d77158742c13f04de1cec9a3d4dd997fcf
-rw-r--r--core/api/current.txt2
-rw-r--r--media/java/android/media/session/MediaController.java9
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/volume/MediaSessions.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/media/controls/domain/pipeline/MediaDeviceManager.kt6
-rw-r--r--packages/SystemUI/src/com/android/systemui/volume/panel/component/mediaoutput/domain/interactor/MediaControllerInteractor.kt2
-rw-r--r--packages/SystemUI/src/com/android/systemui/volume/panel/component/mediaoutput/domain/interactor/MediaDeviceSessionInteractor.kt2
-rw-r--r--packages/SystemUI/src/com/android/systemui/volume/panel/component/mediaoutput/domain/model/MediaControllerChangeModel.kt2
-rw-r--r--services/core/java/com/android/server/media/MediaShellCommand.java3
8 files changed, 14 insertions, 14 deletions
diff --git a/core/api/current.txt b/core/api/current.txt
index 13958d24096b..29e0803fa1f3 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 a4887567b075..70462effaa54 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 23b2cc2df794..89f3cf5e9aab 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 043fbfaa8a23..31b90ed5f7ac 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 4812765d4afe..a714f8078db7 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 599bd73abb69..6e1ebc820b08 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 ef5a44a7a2fd..8b5116a64365 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 a20de3198d2c..bea71dc5cedb 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);
}
}