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

Commit cddf3783 authored by Shubang Lu's avatar Shubang Lu
Browse files

[MQ API] Unhide APIs of MediaQualityManager (part 1)

Test: mmm
Flag: android.media.tv.flags.media_quality_fw
Bug: 374849325
API-Coverage-Bug: 378154044
Change-Id: Id382aa19b598195c72040924e687fc94e2519efa
parent 3c152d46
Loading
Loading
Loading
Loading
+38 −0
Original line number Diff line number Diff line
@@ -27069,6 +27069,39 @@ package android.media.quality {
  @FlaggedApi("android.media.tv.flags.media_quality_fw") public final class MediaQualityManager {
    method @NonNull public java.util.List<android.media.quality.PictureProfile> getAvailablePictureProfiles();
    method @NonNull public java.util.List<android.media.quality.ParamCapability> getParamCapabilities(@NonNull java.util.List<java.lang.String>);
    method @Nullable public android.media.quality.PictureProfile getPictureProfile(int, @NonNull String);
    method public void registerPictureProfileCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.quality.MediaQualityManager.PictureProfileCallback);
    method public void removePictureProfile(@NonNull String);
    method public void unregisterPictureProfileCallback(@NonNull android.media.quality.MediaQualityManager.PictureProfileCallback);
    method public void updatePictureProfile(@NonNull String, @NonNull android.media.quality.PictureProfile);
  }
  public abstract static class MediaQualityManager.PictureProfileCallback {
    ctor public MediaQualityManager.PictureProfileCallback();
    method public void onError(int);
    method public void onParamCapabilitiesChanged(@Nullable String, @NonNull java.util.List<android.media.quality.ParamCapability>);
    method public void onPictureProfileAdded(@NonNull String, @NonNull android.media.quality.PictureProfile);
    method public void onPictureProfileRemoved(@NonNull String, @NonNull android.media.quality.PictureProfile);
    method public void onPictureProfileUpdated(@NonNull String, @NonNull android.media.quality.PictureProfile);
  }
  @FlaggedApi("android.media.tv.flags.media_quality_fw") public final class ParamCapability implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public android.os.Bundle getCapabilities();
    method @NonNull public String getParamName();
    method public int getParamType();
    method public boolean isSupported();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field public static final String CAPABILITY_DEFAULT = "default";
    field public static final String CAPABILITY_ENUM = "enum";
    field public static final String CAPABILITY_MAX = "max";
    field public static final String CAPABILITY_MIN = "min";
    field @NonNull public static final android.os.Parcelable.Creator<android.media.quality.ParamCapability> CREATOR;
    field public static final int TYPE_DOUBLE = 3; // 0x3
    field public static final int TYPE_INT = 1; // 0x1
    field public static final int TYPE_LONG = 2; // 0x2
    field public static final int TYPE_STRING = 4; // 0x4
  }
  @FlaggedApi("android.media.tv.flags.media_quality_fw") public final class PictureProfile implements android.os.Parcelable {
@@ -27081,6 +27114,11 @@ package android.media.quality {
    method public int getProfileType();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.media.quality.PictureProfile> CREATOR;
    field public static final int ERROR_DUPLICATE = 2; // 0x2
    field public static final int ERROR_INVALID_ARGUMENT = 3; // 0x3
    field public static final int ERROR_NOT_ALLOWLISTED = 4; // 0x4
    field public static final int ERROR_NO_PERMISSION = 1; // 0x1
    field public static final int ERROR_UNKNOWN = 0; // 0x0
    field public static final int TYPE_APPLICATION = 2; // 0x2
    field public static final int TYPE_SYSTEM = 1; // 0x1
  }
+7 −0
Original line number Diff line number Diff line
@@ -8113,6 +8113,13 @@ package android.media.musicrecognition {
package android.media.quality {
  @FlaggedApi("android.media.tv.flags.media_quality_fw") public final class MediaQualityManager {
    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);
    method public void setPictureProfileAllowList(@NonNull java.util.List<java.lang.String>);
  }
  public static final class PictureProfile.Builder {
    method @NonNull public android.media.quality.PictureProfile.Builder setInputId(@NonNull String);
    method @NonNull public android.media.quality.PictureProfile.Builder setPackageName(@NonNull String);
+8 −15
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.annotation.CallbackExecutor;
import android.annotation.FlaggedApi;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.annotation.SystemService;
import android.content.Context;
import android.media.tv.flags.Flags;
@@ -179,7 +180,6 @@ public final class MediaQualityManager {

    /**
     * Registers a {@link PictureProfileCallback}.
     * @hide
     */
    public void registerPictureProfileCallback(
            @NonNull @CallbackExecutor Executor executor,
@@ -193,7 +193,6 @@ public final class MediaQualityManager {

    /**
     * Unregisters the existing {@link PictureProfileCallback}.
     * @hide
     */
    public void unregisterPictureProfileCallback(@NonNull final PictureProfileCallback callback) {
        Preconditions.checkNotNull(callback);
@@ -215,7 +214,6 @@ public final class MediaQualityManager {
     *
     * @return the corresponding picture profile if available; {@code null} if the name doesn't
     *         exist.
     * @hide
     */
    @Nullable
    public PictureProfile getPictureProfile(
@@ -231,8 +229,9 @@ public final class MediaQualityManager {
    /**
     * Gets profiles that available to the given package.
     *
     * @hide @SystemApi
     * @hide
     */
    @SystemApi
    @NonNull
    @RequiresPermission(android.Manifest.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE)
    public List<PictureProfile> getPictureProfilesByPackage(@NonNull String packageName) {
@@ -259,8 +258,9 @@ public final class MediaQualityManager {
     * Gets all package names whose picture profiles are available.
     *
     * @see #getPictureProfilesByPackage(String)
     * @hide @SystemApi
     * @hide
     */
    @SystemApi
    @NonNull
    @RequiresPermission(android.Manifest.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE)
    public List<String> getPictureProfilePackageNames() {
@@ -291,7 +291,6 @@ public final class MediaQualityManager {

    /**
     * Updates an existing picture profile and store it in the system.
     * @hide
     */
    public void updatePictureProfile(@NonNull String profileId, @NonNull PictureProfile pp) {
        try {
@@ -304,7 +303,6 @@ public final class MediaQualityManager {

    /**
     * Removes a picture profile from the system.
     * @hide
     */
    public void removePictureProfile(@NonNull String profileId) {
        try {
@@ -452,7 +450,6 @@ public final class MediaQualityManager {

    /**
     * Gets capability information of the given parameters.
     * @hide
     */
    @NonNull
    public List<ParamCapability> getParamCapabilities(@NonNull List<String> names) {
@@ -470,6 +467,7 @@ public final class MediaQualityManager {
     * @see #removePictureProfile(String)
     * @hide
     */
    @SystemApi
    @RequiresPermission(android.Manifest.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE)
    @NonNull
    public List<String> getPictureProfileAllowList() {
@@ -484,6 +482,7 @@ public final class MediaQualityManager {
     * Sets the allowlist of packages that can create and removed picture profiles
     * @hide
     */
    @SystemApi
    @RequiresPermission(android.Manifest.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE)
    public void setPictureProfileAllowList(@NonNull List<String> packageNames) {
        try {
@@ -829,8 +828,7 @@ public final class MediaQualityManager {
    }

    /**
     * Callback used to monitor status of picture profiles.
     * @hide
     * Callback used to monitor status of picture profiles
     */
    public abstract static class PictureProfileCallback {
        /**
@@ -838,7 +836,6 @@ public final class MediaQualityManager {
         *
         * @param profileId the ID of the profile.
         * @param profile the newly added profile.
         * @hide
         */
        public void onPictureProfileAdded(
                @NonNull String profileId, @NonNull PictureProfile profile) {
@@ -849,7 +846,6 @@ public final class MediaQualityManager {
         *
         * @param profileId the ID of the profile.
         * @param profile the profile with updated info.
         * @hide
         */
        public void onPictureProfileUpdated(
                @NonNull String profileId, @NonNull PictureProfile profile) {
@@ -860,7 +856,6 @@ public final class MediaQualityManager {
         *
         * @param profileId the ID of the profile.
         * @param profile the removed profile.
         * @hide
         */
        public void onPictureProfileRemoved(
                @NonNull String profileId, @NonNull PictureProfile profile) {
@@ -870,7 +865,6 @@ public final class MediaQualityManager {
         * This is invoked when an issue has occurred.
         *
         * @param errorCode the error code
         * @hide
         */
        public void onError(@PictureProfile.ErrorCode int errorCode) {
        }
@@ -882,7 +876,6 @@ public final class MediaQualityManager {
         * @param profileId the ID of the profile used by the media content. {@code null} if there
         *                  is no associated profile
         * @param updatedCaps the updated capabilities.
         * @hide
         */
        public void onParamCapabilitiesChanged(
                @Nullable String profileId, @NonNull List<ParamCapability> updatedCaps) {
+0 −1
Original line number Diff line number Diff line
@@ -31,7 +31,6 @@ import java.lang.annotation.RetentionPolicy;

/**
 * Capability info of media quality parameters
 * @hide
 */
@FlaggedApi(Flags.FLAG_MEDIA_QUALITY_FW)
public final class ParamCapability implements Parcelable {
+9 −14
Original line number Diff line number Diff line
@@ -84,13 +84,11 @@ public final class PictureProfile implements Parcelable {

    /**
     * Error code for unknown errors.
     * @hide
     */
    public static final int ERROR_UNKNOWN = 0;

    /**
     * Error code for missing necessary permission to handle the profiles.
     * @hide
     */
    public static final int ERROR_NO_PERMISSION = 1;

@@ -99,13 +97,11 @@ public final class PictureProfile implements Parcelable {
     *
     * @see #getProfileType()
     * @see #getName()
     * @hide
     */
    public static final int ERROR_DUPLICATE = 2;

    /**
     * Error code for invalid argument.
     * @hide
     */
    public static final int ERROR_INVALID_ARGUMENT = 3;

@@ -114,7 +110,6 @@ public final class PictureProfile implements Parcelable {
     * list.
     *
     * @see MediaQualityManager#getPictureProfileAllowList()
     * @hide
     */
    public static final int ERROR_NOT_ALLOWLISTED = 4;

@@ -291,25 +286,25 @@ public final class PictureProfile implements Parcelable {
        }

        /**
         * Sets profile type.
         *
         * Only used by system to assign the ID.
         * @hide
         */
        @SystemApi
        @RequiresPermission(android.Manifest.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE)
        @NonNull
        public Builder setProfileType(@ProfileType int value) {
            mType = value;
        public Builder setProfileId(@Nullable String id) {
            mId = id;
            return this;
        }

        /**
         * Only used by system to assign the ID.
         * Sets profile type.
         *
         * @hide
         */
        @SystemApi
        @RequiresPermission(android.Manifest.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE)
        @NonNull
        public Builder setProfileId(@Nullable String id) {
            mId = id;
        public Builder setProfileType(@ProfileType int value) {
            mType = value;
            return this;
        }