summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Shubang Lu <shubang@google.com> 2024-12-29 19:35:53 -0800
committer Shubang Lu <shubang@google.com> 2025-01-03 05:38:05 -0800
commitfacaed416d8b6144d1b48ecc184aeca49c2cb59b (patch)
treee1217cf47598d667758c72824da9c662e4b199de
parentc7b8ed318facff1b94f735d354ef5ed2f79e03d5 (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
-rw-r--r--core/api/current.txt21
-rw-r--r--media/java/android/media/quality/AmbientBacklightEvent.java6
-rw-r--r--media/java/android/media/quality/AmbientBacklightMetadata.java37
-rw-r--r--media/java/android/media/quality/AmbientBacklightSettings.java19
-rw-r--r--media/java/android/media/quality/MediaQualityManager.java5
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);
}
/**