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

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

Merge "[MQ API feedback] Improve ambient backlight APIs" into main

parents 870417e1 facaed41
Loading
Loading
Loading
Loading
+10 −11
Original line number Diff line number Diff line
@@ -27202,7 +27202,7 @@ package android.media.quality {
    field public static final int AMBIENT_BACKLIGHT_EVENT_DISABLED = 2; // 0x2
    field public static final int AMBIENT_BACKLIGHT_EVENT_ENABLED = 1; // 0x1
    field public static final int AMBIENT_BACKLIGHT_EVENT_INTERRUPTED = 4; // 0x4
    field public static final int AMBIENT_BACKLIGHT_EVENT_METADATA = 3; // 0x3
    field public static final int AMBIENT_BACKLIGHT_EVENT_METADATA_AVAILABLE = 3; // 0x3
    field @NonNull public static final android.os.Parcelable.Creator<android.media.quality.AmbientBacklightEvent> CREATOR;
  }
@@ -27210,13 +27210,15 @@ package android.media.quality {
    ctor public AmbientBacklightMetadata(@NonNull String, int, int, int, int, int, @NonNull int[]);
    method public int describeContents();
    method public int getColorFormat();
    method public int getCompressAlgorithm();
    method @IntRange(from=0, to=128) public int getHorizontalZonesNumber();
    method public int getCompressionAlgorithm();
    method @IntRange(from=0, to=128) public int getHorizontalZonesCount();
    method @NonNull public String getPackageName();
    method public int getSource();
    method @IntRange(from=0, to=80) public int getVerticalZonesNumber();
    method @NonNull public int[] getZonesColors();
    method @IntRange(from=0, to=80) public int getVerticalZonesCount();
    method @NonNull public int[] getZoneColors();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field public static final int ALGORITHM_NONE = 0; // 0x0
    field public static final int ALGORITHM_RLE = 1; // 0x1
    field @NonNull public static final android.os.Parcelable.Creator<android.media.quality.AmbientBacklightMetadata> CREATOR;
  }
@@ -27224,15 +27226,13 @@ package android.media.quality {
    ctor public AmbientBacklightSettings(int, int, int, int, int, boolean, int);
    method public int describeContents();
    method public int getColorFormat();
    method @IntRange(from=0) public int getHorizontalZonesNumber();
    method @IntRange(from=0) public int getHorizontalZonesCount();
    method @IntRange(from=1) public int getMaxFps();
    method public int getSource();
    method public int getThreshold();
    method @IntRange(from=0) public int getVerticalZonesNumber();
    method @IntRange(from=0) public int getVerticalZonesCount();
    method public boolean isLetterboxOmitted();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field public static final int ALGORITHM_NONE = 0; // 0x0
    field public static final int ALGORITHM_RLE = 1; // 0x1
    field @NonNull public static final android.os.Parcelable.Creator<android.media.quality.AmbientBacklightSettings> CREATOR;
    field public static final int SOURCE_AUDIO = 1; // 0x1
    field public static final int SOURCE_AUDIO_VIDEO = 3; // 0x3
@@ -27306,8 +27306,7 @@ package android.media.quality {
    method public void updateSoundProfile(@NonNull String, @NonNull android.media.quality.SoundProfile);
  }
  public abstract static class MediaQualityManager.AmbientBacklightCallback {
    ctor public MediaQualityManager.AmbientBacklightCallback();
  public static interface MediaQualityManager.AmbientBacklightCallback {
    method public void onAmbientBacklightEvent(@NonNull android.media.quality.AmbientBacklightEvent);
  }
+3 −3
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ public final class AmbientBacklightEvent implements Parcelable {
    /** @hide */
    @Retention(RetentionPolicy.SOURCE)
    @IntDef({AMBIENT_BACKLIGHT_EVENT_ENABLED, AMBIENT_BACKLIGHT_EVENT_DISABLED,
            AMBIENT_BACKLIGHT_EVENT_METADATA,
            AMBIENT_BACKLIGHT_EVENT_METADATA_AVAILABLE,
            AMBIENT_BACKLIGHT_EVENT_INTERRUPTED})
    public @interface Type {}

@@ -55,7 +55,7 @@ public final class AmbientBacklightEvent implements Parcelable {
     * Event type for ambient backlight events. The ambient backlight metadata is
     * available.
     */
    public static final int AMBIENT_BACKLIGHT_EVENT_METADATA = 3;
    public static final int AMBIENT_BACKLIGHT_EVENT_METADATA_AVAILABLE = 3;

    /**
     * Event type for ambient backlight events. The ambient backlight event is preempted by another
@@ -93,7 +93,7 @@ public final class AmbientBacklightEvent implements Parcelable {
     * Gets ambient backlight metadata.
     *
     * @return the metadata of the event. It's non-null only for
     * {@link #AMBIENT_BACKLIGHT_EVENT_METADATA}.
     * {@link #AMBIENT_BACKLIGHT_EVENT_METADATA_AVAILABLE}.
     */
    @Nullable
    public AmbientBacklightMetadata getMetadata() {
+28 −9
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.media.quality;

import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.IntRange;
import android.graphics.PixelFormat;
import android.media.tv.flags.Flags;
@@ -25,16 +26,34 @@ import android.os.Parcelable;

import androidx.annotation.NonNull;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.Arrays;

/**
 * Metadata of ambient backlight.
 *
 * <p>A metadata instance is sent from ambient backlight hardware in a {@link AmbientBacklightEvent}
 * with {@link AmbientBacklightEvent#AMBIENT_BACKLIGHT_EVENT_METADATA}.
 * with {@link AmbientBacklightEvent#AMBIENT_BACKLIGHT_EVENT_METADATA_AVAILABLE}.
 */
@FlaggedApi(Flags.FLAG_MEDIA_QUALITY_FW)
public final class AmbientBacklightMetadata implements Parcelable {

    /** @hide */
    @Retention(RetentionPolicy.SOURCE)
    @IntDef({ALGORITHM_NONE, ALGORITHM_RLE})
    public @interface CompressionAlgorithm {}

    /**
     * The compress algorithm is disabled.
     */
    public static final int ALGORITHM_NONE = 0;

    /**
     * The compress algorithm is run length encoding (RLE).
     */
    public static final int ALGORITHM_RLE = 1;

    @NonNull
    private final String mPackageName;
    private final int mCompressAlgorithm;
@@ -50,7 +69,7 @@ public final class AmbientBacklightMetadata implements Parcelable {
     */
    public AmbientBacklightMetadata(
            @NonNull String packageName,
            @AmbientBacklightSettings.CompressAlgorithm int compressAlgorithm,
            @CompressionAlgorithm int compressAlgorithm,
            @AmbientBacklightSettings.Source int source,
            @PixelFormat.Format int colorFormat,
            int horizontalZonesNumber,
@@ -86,8 +105,8 @@ public final class AmbientBacklightMetadata implements Parcelable {
    /**
     * Gets compress algorithm.
     */
    @AmbientBacklightSettings.CompressAlgorithm
    public int getCompressAlgorithm() {
    @CompressionAlgorithm
    public int getCompressionAlgorithm() {
        return mCompressAlgorithm;
    }

@@ -114,7 +133,7 @@ public final class AmbientBacklightMetadata implements Parcelable {
     * larger than 128.
     */
    @IntRange(from = 0, to = 128)
    public int getHorizontalZonesNumber() {
    public int getHorizontalZonesCount() {
        return mHorizontalZonesNumber;
    }

@@ -125,7 +144,7 @@ public final class AmbientBacklightMetadata implements Parcelable {
     * larger than 80.
     */
    @IntRange(from = 0, to = 80)
    public int getVerticalZonesNumber() {
    public int getVerticalZonesCount() {
        return mVerticalZonesNumber;
    }

@@ -137,11 +156,11 @@ public final class AmbientBacklightMetadata implements Parcelable {
     * @return an array of color data, in row by row (left-to-right then top-to-bottom) order of the
     * color zones.
     *
     * @see #getHorizontalZonesNumber()
     * @see #getVerticalZonesNumber()
     * @see #getHorizontalZonesCount()
     * @see #getVerticalZonesCount()
     */
    @NonNull
    public int[] getZonesColors() {
    public int[] getZoneColors() {
        return mZonesColors;
    }

+2 −17
Original line number Diff line number Diff line
@@ -60,21 +60,6 @@ public final class AmbientBacklightSettings implements Parcelable {
    public static final int SOURCE_AUDIO_VIDEO = 3;


    /** @hide */
    @Retention(RetentionPolicy.SOURCE)
    @IntDef({ALGORITHM_NONE, ALGORITHM_RLE})
    public @interface CompressAlgorithm {}

    /**
     * The compress algorithm is disabled.
     */
    public static final int ALGORITHM_NONE = 0;

    /**
     * The compress algorithm is run length encoding (RLE).
     */
    public static final int ALGORITHM_RLE = 1;

    /**
     * The source of the ambient backlight.
     */
@@ -170,7 +155,7 @@ public final class AmbientBacklightSettings implements Parcelable {
     * <p>A color zone is a group of lights that always display the same color.
     */
    @IntRange(from = 0)
    public int getHorizontalZonesNumber() {
    public int getHorizontalZonesCount() {
        return mHorizontalZonesNumber;
    }

@@ -180,7 +165,7 @@ public final class AmbientBacklightSettings implements Parcelable {
     * <p>A color zone is a group of lights that always display the same color.
     */
    @IntRange(from = 0)
    public int getVerticalZonesNumber() {
    public int getVerticalZonesCount() {
        return mVerticalZonesNumber;
    }

+2 −3
Original line number Diff line number Diff line
@@ -1062,12 +1062,11 @@ public final class MediaQualityManager {
    /**
     * Callback used to monitor status of ambient backlight.
     */
    public abstract static class AmbientBacklightCallback {
    public interface AmbientBacklightCallback {
        /**
         * Called when new ambient backlight event is emitted.
         */
        public void onAmbientBacklightEvent(@NonNull AmbientBacklightEvent event) {
        }
        void onAmbientBacklightEvent(@NonNull AmbientBacklightEvent event);
    }

    /**