summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Shubang Lu <shubang@google.com> 2025-01-03 03:40:34 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2025-01-03 03:40:34 -0800
commit51b56a1c6f774bdd19e7781ec7f4cd95c3821e06 (patch)
tree2ff8d24af23ba71dd247b7b6b7c3a12c6aedcf91
parent51710b696b5fdb6753025f90079a4b1c204f845e (diff)
parent88716ab91ad99365665198072d2f9da5ca3d5f3e (diff)
Merge "[MQ API feedback] Use a Consumer instead of ActiveProcessingPictureListener" into main
-rw-r--r--core/api/current.txt8
-rw-r--r--core/api/system-current.txt2
-rw-r--r--media/java/android/media/quality/MediaQualityManager.java28
3 files changed, 12 insertions, 26 deletions
diff --git a/core/api/current.txt b/core/api/current.txt
index d0b3a51f998e..ceb82e7bfd9b 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -27279,7 +27279,7 @@ package android.media.quality {
}
@FlaggedApi("android.media.tv.flags.media_quality_fw") public final class MediaQualityManager {
- method public void addActiveProcessingPictureListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.quality.MediaQualityManager.ActiveProcessingPictureListener);
+ method public void addActiveProcessingPictureListener(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<android.media.quality.ActiveProcessingPicture>>);
method public void createPictureProfile(@NonNull android.media.quality.PictureProfile);
method public void createSoundProfile(@NonNull android.media.quality.SoundProfile);
method @NonNull public java.util.List<android.media.quality.PictureProfile> getAvailablePictureProfiles(boolean);
@@ -27294,7 +27294,7 @@ package android.media.quality {
method public void registerAmbientBacklightCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.quality.MediaQualityManager.AmbientBacklightCallback);
method public void registerPictureProfileCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.quality.MediaQualityManager.PictureProfileCallback);
method public void registerSoundProfileCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.quality.MediaQualityManager.SoundProfileCallback);
- method public void removeActiveProcessingPictureListener(@NonNull android.media.quality.MediaQualityManager.ActiveProcessingPictureListener);
+ method public void removeActiveProcessingPictureListener(@NonNull java.util.function.Consumer<java.util.List<android.media.quality.ActiveProcessingPicture>>);
method public void removePictureProfile(@NonNull String);
method public void removeSoundProfile(@NonNull String);
method public void setAmbientBacklightEnabled(boolean);
@@ -27306,10 +27306,6 @@ package android.media.quality {
method public void updateSoundProfile(@NonNull String, @NonNull android.media.quality.SoundProfile);
}
- public static interface MediaQualityManager.ActiveProcessingPictureListener {
- method public void onActiveProcessingPicturesChanged(@NonNull java.util.List<android.media.quality.ActiveProcessingPicture>);
- }
-
public abstract static class MediaQualityManager.AmbientBacklightCallback {
ctor public MediaQualityManager.AmbientBacklightCallback();
method public void onAmbientBacklightEvent(@NonNull android.media.quality.AmbientBacklightEvent);
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index e724ab885c39..1618a8add1ae 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -7992,7 +7992,7 @@ package android.media.musicrecognition {
package android.media.quality {
@FlaggedApi("android.media.tv.flags.media_quality_fw") public final class MediaQualityManager {
- method public void addGlobalActiveProcessingPictureListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.quality.MediaQualityManager.ActiveProcessingPictureListener);
+ method public void addGlobalActiveProcessingPictureListener(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<android.media.quality.ActiveProcessingPicture>>);
method @NonNull public java.util.List<java.lang.String> getPictureProfileAllowList();
method @NonNull public java.util.List<java.lang.String> getPictureProfilePackageNames();
method @NonNull public java.util.List<android.media.quality.PictureProfile> getPictureProfilesByPackage(@NonNull String, boolean);
diff --git a/media/java/android/media/quality/MediaQualityManager.java b/media/java/android/media/quality/MediaQualityManager.java
index 166b388d9b7b..0edbb5d03f8d 100644
--- a/media/java/android/media/quality/MediaQualityManager.java
+++ b/media/java/android/media/quality/MediaQualityManager.java
@@ -36,6 +36,7 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.Executor;
+import java.util.function.Consumer;
/**
* Central system API to the overall media quality, which arbitrates interaction between
@@ -1070,24 +1071,11 @@ public final class MediaQualityManager {
}
/**
- * Listener used to monitor status of active pictures.
- */
- public interface ActiveProcessingPictureListener {
- /**
- * Called when active pictures are changed.
- *
- * @param activeProcessingPictures contents currently undergoing picture processing.
- */
- void onActiveProcessingPicturesChanged(
- @NonNull List<ActiveProcessingPicture> activeProcessingPictures);
- }
-
- /**
* Adds an active picture listener for the contents owner by the caller.
*/
public void addActiveProcessingPictureListener(
@CallbackExecutor @NonNull Executor executor,
- @NonNull ActiveProcessingPictureListener listener) {
+ @NonNull Consumer<List<ActiveProcessingPicture>> listener) {
Preconditions.checkNotNull(listener);
Preconditions.checkNotNull(executor);
synchronized (mLock) {
@@ -1106,7 +1094,7 @@ public final class MediaQualityManager {
@RequiresPermission(android.Manifest.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE)
public void addGlobalActiveProcessingPictureListener(
@NonNull Executor executor,
- @NonNull ActiveProcessingPictureListener listener) {
+ @NonNull Consumer<List<ActiveProcessingPicture>> listener) {
Preconditions.checkNotNull(listener);
Preconditions.checkNotNull(executor);
synchronized (mLock) {
@@ -1120,7 +1108,7 @@ public final class MediaQualityManager {
* Removes an active picture listener for the contents.
*/
public void removeActiveProcessingPictureListener(
- @NonNull ActiveProcessingPictureListener listener) {
+ @NonNull Consumer<List<ActiveProcessingPicture>> listener) {
Preconditions.checkNotNull(listener);
synchronized (mLock) {
for (Iterator<ActiveProcessingPictureListenerRecord> it = mApListenerRecords.iterator();
@@ -1135,18 +1123,20 @@ public final class MediaQualityManager {
}
private static final class ActiveProcessingPictureListenerRecord {
- private final ActiveProcessingPictureListener mListener;
+ private final Consumer<List<ActiveProcessingPicture>> mListener;
private final Executor mExecutor;
private final boolean mIsGlobal;
ActiveProcessingPictureListenerRecord(
- ActiveProcessingPictureListener listener, Executor executor, boolean isGlobal) {
+ Consumer<List<ActiveProcessingPicture>> listener,
+ Executor executor,
+ boolean isGlobal) {
mListener = listener;
mExecutor = executor;
mIsGlobal = isGlobal;
}
- public ActiveProcessingPictureListener getListener() {
+ public Consumer<List<ActiveProcessingPicture>> getListener() {
return mListener;
}
}