summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/api/system-current.txt2
-rw-r--r--media/java/android/media/quality/IMediaQualityManager.aidl2
-rw-r--r--media/java/android/media/quality/MediaQualityManager.java36
-rw-r--r--services/core/java/com/android/server/media/quality/MediaQualityService.java12
4 files changed, 52 insertions, 0 deletions
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index fd291f46d06e..d1de19e16e15 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -8136,6 +8136,8 @@ package android.media.quality {
method @NonNull public java.util.List<android.media.quality.SoundProfile> getSoundProfilesByPackage(@NonNull String);
method public void setAutoPictureQualityEnabled(boolean);
method public void setAutoSoundQualityEnabled(boolean);
+ method public boolean setDefaultPictureProfile(@Nullable String);
+ method public boolean setDefaultSoundProfile(@Nullable String);
method public void setPictureProfileAllowList(@NonNull java.util.List<java.lang.String>);
method public void setSoundProfileAllowList(@NonNull java.util.List<java.lang.String>);
method public void setSuperResolutionEnabled(boolean);
diff --git a/media/java/android/media/quality/IMediaQualityManager.aidl b/media/java/android/media/quality/IMediaQualityManager.aidl
index dc3fbf60c0b3..70211caf9380 100644
--- a/media/java/android/media/quality/IMediaQualityManager.aidl
+++ b/media/java/android/media/quality/IMediaQualityManager.aidl
@@ -36,6 +36,7 @@ interface IMediaQualityManager {
PictureProfile getPictureProfile(in int type, in String name, int userId);
List<PictureProfile> getPictureProfilesByPackage(in String packageName, int userId);
List<PictureProfile> getAvailablePictureProfiles(int userId);
+ boolean setDefaultPictureProfile(in String id, int userId);
List<String> getPictureProfilePackageNames(int userId);
List<String> getPictureProfileAllowList(int userId);
void setPictureProfileAllowList(in List<String> packages, int userId);
@@ -47,6 +48,7 @@ interface IMediaQualityManager {
SoundProfile getSoundProfile(in int type, in String name, int userId);
List<SoundProfile> getSoundProfilesByPackage(in String packageName, int userId);
List<SoundProfile> getAvailableSoundProfiles(int userId);
+ boolean setDefaultSoundProfile(in String id, int userId);
List<String> getSoundProfilePackageNames(int userId);
List<String> getSoundProfileAllowList(int userId);
void setSoundProfileAllowList(in List<String> packages, int userId);
diff --git a/media/java/android/media/quality/MediaQualityManager.java b/media/java/android/media/quality/MediaQualityManager.java
index d4de99aadb14..e0bd42b45d2b 100644
--- a/media/java/android/media/quality/MediaQualityManager.java
+++ b/media/java/android/media/quality/MediaQualityManager.java
@@ -257,6 +257,24 @@ public final class MediaQualityManager {
}
/**
+ * Sets preferred default picture profile.
+ *
+ * @param id the ID of the default profile. {@code null} to unset the default profile.
+ * @return {@code true} if it's set successfully; {@code false} otherwise.
+ *
+ * @hide
+ */
+ @SystemApi
+ @RequiresPermission(android.Manifest.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE)
+ public boolean setDefaultPictureProfile(@Nullable String id) {
+ try {
+ return mService.setDefaultPictureProfile(id, mUserId);
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
* Gets all package names whose picture profiles are available.
*
* @see #getPictureProfilesByPackage(String)
@@ -400,6 +418,24 @@ public final class MediaQualityManager {
}
/**
+ * Sets preferred default sound profile.
+ *
+ * @param id the ID of the default profile. {@code null} to unset the default profile.
+ * @return {@code true} if it's set successfully; {@code false} otherwise.
+ *
+ * @hide
+ */
+ @SystemApi
+ @RequiresPermission(android.Manifest.permission.MANAGE_GLOBAL_SOUND_QUALITY_SERVICE)
+ public boolean setDefaultSoundProfile(@Nullable String id) {
+ try {
+ return mService.setDefaultSoundProfile(id, mUserId);
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
* Gets all package names whose sound profiles are available.
*
* @see #getSoundProfilesByPackage(String)
diff --git a/services/core/java/com/android/server/media/quality/MediaQualityService.java b/services/core/java/com/android/server/media/quality/MediaQualityService.java
index 14eeb3dc78f8..4479e9dceb17 100644
--- a/services/core/java/com/android/server/media/quality/MediaQualityService.java
+++ b/services/core/java/com/android/server/media/quality/MediaQualityService.java
@@ -156,6 +156,12 @@ public class MediaQualityService extends SystemService {
}
@Override
+ public boolean setDefaultPictureProfile(String profileId, int userId) {
+ // TODO: pass the profile ID to MediaQuality HAL when ready.
+ return false;
+ }
+
+ @Override
public List<String> getPictureProfilePackageNames(int userId) {
String [] column = {BaseParameters.PARAMETER_PACKAGE};
List<PictureProfile> pictureProfiles = getPictureProfilesBasedOnConditions(column,
@@ -248,6 +254,12 @@ public class MediaQualityService extends SystemService {
}
@Override
+ public boolean setDefaultSoundProfile(String profileId, int userId) {
+ // TODO: pass the profile ID to MediaQuality HAL when ready.
+ return false;
+ }
+
+ @Override
public List<String> getSoundProfilePackageNames(int userId) {
String [] column = {BaseParameters.PARAMETER_NAME};
List<SoundProfile> soundProfiles = getSoundProfilesBasedOnConditions(column,