diff options
| author | 2024-12-29 19:35:53 -0800 | |
|---|---|---|
| committer | 2025-01-03 05:38:05 -0800 | |
| commit | facaed416d8b6144d1b48ecc184aeca49c2cb59b (patch) | |
| tree | e1217cf47598d667758c72824da9c662e4b199de | |
| parent | c7b8ed318facff1b94f735d354ef5ed2f79e03d5 (diff) | |
[MQ API feedback] Improve ambient backlight APIs
1. make AmbientBacklightCallback an interface
2. rename getCompressAlgorithm to getCompressionAlgorithm
3. move compression algorithm constants
4. rename getHorizontalZonesNumber and getZonesColors
5. rename AMBIENT_BACKLIGHT_EVENT_METADATA
Bug: 382041326
Test: mmm
Flag: android.media.tv.flags.media_quality_fw
API-Coverage-Bug: 378154044
Change-Id: Ib9d54801c36934007b24e43495fb392028ec5eaa
5 files changed, 45 insertions, 43 deletions
diff --git a/core/api/current.txt b/core/api/current.txt index ceb82e7bfd9b..ca4a2f3100de 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -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); } diff --git a/media/java/android/media/quality/AmbientBacklightEvent.java b/media/java/android/media/quality/AmbientBacklightEvent.java index b1483c685fdb..a582c28fdbcb 100644 --- a/media/java/android/media/quality/AmbientBacklightEvent.java +++ b/media/java/android/media/quality/AmbientBacklightEvent.java @@ -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() { diff --git a/media/java/android/media/quality/AmbientBacklightMetadata.java b/media/java/android/media/quality/AmbientBacklightMetadata.java index c295946e50aa..64eb8d901a27 100644 --- a/media/java/android/media/quality/AmbientBacklightMetadata.java +++ b/media/java/android/media/quality/AmbientBacklightMetadata.java @@ -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; } diff --git a/media/java/android/media/quality/AmbientBacklightSettings.java b/media/java/android/media/quality/AmbientBacklightSettings.java index aa06341977fe..bd73f76411c1 100644 --- a/media/java/android/media/quality/AmbientBacklightSettings.java +++ b/media/java/android/media/quality/AmbientBacklightSettings.java @@ -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; } diff --git a/media/java/android/media/quality/MediaQualityManager.java b/media/java/android/media/quality/MediaQualityManager.java index 0edbb5d03f8d..2fb6d837db0a 100644 --- a/media/java/android/media/quality/MediaQualityManager.java +++ b/media/java/android/media/quality/MediaQualityManager.java @@ -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); } /** |