diff options
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, |