Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 51b56a1c authored by Shubang Lu's avatar Shubang Lu Committed by Android (Google) Code Review
Browse files

Merge "[MQ API feedback] Use a Consumer instead of ActiveProcessingPictureListener" into main

parents 51710b69 88716ab9
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -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);
+1 −1
Original line number Diff line number Diff line
@@ -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);
+9 −19
Original line number Diff line number Diff line
@@ -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
@@ -1069,25 +1070,12 @@ 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;
        }
    }