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

Commit 569f1530 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge changes from topic "mq_api_init" into main

* changes:
  [MQ API] Unhide APIs of MediaQualityManager (part 1)
  [MQ API] Unhide APIs of picture profile
parents e0638eb7 cddf3783
Loading
Loading
Loading
Loading
+77 −0
Original line number Diff line number Diff line
@@ -27055,6 +27055,83 @@ package android.media.projection {
}
package android.media.quality {
  @FlaggedApi("android.media.tv.flags.media_quality_fw") public class MediaQualityContract {
  }
  public static final class MediaQualityContract.PictureQuality {
    field public static final String PARAMETER_BRIGHTNESS = "brightness";
    field public static final String PARAMETER_CONTRAST = "contrast";
    field public static final String PARAMETER_SATURATION = "saturation";
    field public static final String PARAMETER_SHARPNESS = "sharpness";
  }
  @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 {
    method public int describeContents();
    method @Nullable public String getInputId();
    method @NonNull public String getName();
    method @Nullable public String getPackageName();
    method @NonNull public android.os.PersistableBundle getParameters();
    method @Nullable public String getProfileId();
    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
  }
  public static final class PictureProfile.Builder {
    ctor public PictureProfile.Builder(@NonNull String);
    ctor public PictureProfile.Builder(@NonNull android.media.quality.PictureProfile);
    method @NonNull public android.media.quality.PictureProfile build();
    method @NonNull public android.media.quality.PictureProfile.Builder setParameters(@NonNull android.os.PersistableBundle);
  }
}
package android.media.session {
  public final class MediaController {
+17 −0
Original line number Diff line number Diff line
@@ -8111,6 +8111,23 @@ 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);
    method @NonNull public android.media.quality.PictureProfile.Builder setProfileType(int);
  }
}
package android.media.session {
  public final class MediaSessionManager {
+1 −3
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ import android.media.tv.flags.Flags;
/**
 * The contract between the media quality service and applications. Contains definitions for the
 * commonly used parameter names.
 * @hide
 */
@FlaggedApi(Flags.FLAG_MEDIA_QUALITY_FW)
public class MediaQualityContract {
@@ -42,9 +41,8 @@ public class MediaQualityContract {

    /**
     * Parameters picture quality.
     * @hide
     */
    public static final class PictureQuality implements BaseParameters {
    public static final class PictureQuality {
        /**
         * The brightness.
         *
+8 −16
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;
@@ -37,7 +38,6 @@ import java.util.concurrent.Executor;
/**
 * Central system API to the overall media quality, which arbitrates interaction between
 * applications and media quality service.
 * @hide
 */
@FlaggedApi(Flags.FLAG_MEDIA_QUALITY_FW)
@SystemService(Context.MEDIA_QUALITY_SERVICE)
@@ -180,7 +180,6 @@ public final class MediaQualityManager {

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

    /**
     * Unregisters the existing {@link PictureProfileCallback}.
     * @hide
     */
    public void unregisterPictureProfileCallback(@NonNull final PictureProfileCallback callback) {
        Preconditions.checkNotNull(callback);
@@ -216,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(
@@ -232,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) {
@@ -260,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() {
@@ -292,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 {
@@ -305,7 +303,6 @@ public final class MediaQualityManager {

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

    /**
     * Gets capability information of the given parameters.
     * @hide
     */
    @NonNull
    public List<ParamCapability> getParamCapabilities(@NonNull List<String> names) {
@@ -471,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() {
@@ -485,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 {
@@ -830,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 {
        /**
@@ -839,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) {
@@ -850,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) {
@@ -861,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) {
@@ -871,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) {
        }
@@ -883,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 {
Loading