diff options
author | 2025-03-04 11:56:49 -0800 | |
---|---|---|
committer | 2025-03-04 19:37:02 -0800 | |
commit | d00f6b29ffc486ad24ca28beafc02cacced8549c (patch) | |
tree | 885efecbfba26dfdbd0d891a3f3c333372e3b80e | |
parent | 6904a08f6ab56228fe2a7da1fced3c844d483e1c (diff) |
[MQ] Add aidl directory and move aidl files
So they are better managed and can be used in
other languages in the future.
Test: atest MediaQualityTest
Flag: android.media.tv.flags.media_quality_fw
Bug: 400751153
Change-Id: I3f799e47e1443d7948f7d991bf4306ba24ac12dc
20 files changed, 165 insertions, 201 deletions
diff --git a/Android.bp b/Android.bp index 444725eb2c79..127556f8e075 100644 --- a/Android.bp +++ b/Android.bp @@ -415,6 +415,7 @@ java_defaults { "mimemap", "av-types-aidl-java", "tv_tuner_resource_manager_aidl_interface-java", + "media_quality_aidl_interface-java", "soundtrigger_middleware-aidl-java", "modules-utils-binary-xml", "modules-utils-build", diff --git a/media/java/Android.bp b/media/java/Android.bp index 6878f9d61f6d..28b9d3bbc167 100644 --- a/media/java/Android.bp +++ b/media/java/Android.bp @@ -15,6 +15,7 @@ filegroup { ], exclude_srcs: [ ":framework-media-tv-tunerresourcemanager-sources-aidl", + ":framework-media-quality-sources-aidl", ], visibility: [ "//frameworks/base", diff --git a/media/java/android/media/quality/Android.bp b/media/java/android/media/quality/Android.bp new file mode 100644 index 000000000000..080d5266ccb7 --- /dev/null +++ b/media/java/android/media/quality/Android.bp @@ -0,0 +1,39 @@ +package { + // See: http://go/android-license-faq + // A large-scale-change added 'default_applicable_licenses' to import + // all of the 'license_kinds' from "frameworks_base_license" + // to get the below license kinds: + // SPDX-license-identifier-Apache-2.0 + default_applicable_licenses: ["frameworks_base_license"], +} + +filegroup { + name: "framework-media-quality-sources-aidl", + srcs: [ + "aidl/android/media/quality/*.aidl", + ], + path: "aidl", +} + +aidl_interface { + name: "media_quality_aidl_interface", + unstable: true, + local_include_dir: "aidl", + backend: { + java: { + enabled: true, + }, + cpp: { + enabled: false, + }, + ndk: { + enabled: false, + }, + rust: { + enabled: false, + }, + }, + srcs: [ + ":framework-media-quality-sources-aidl", + ], +} diff --git a/media/java/android/media/quality/MediaQualityManager.java b/media/java/android/media/quality/MediaQualityManager.java index 0d6d32a22dae..bfd01380a2ee 100644 --- a/media/java/android/media/quality/MediaQualityManager.java +++ b/media/java/android/media/quality/MediaQualityManager.java @@ -274,9 +274,9 @@ public final class MediaQualityManager { @NonNull String name, @Nullable ProfileQueryParams options) { try { - Bundle optionsBundle = options == null - ? ProfileQueryParams.DEFAULT.toBundle() : options.toBundle(); - return mService.getPictureProfile(type, name, optionsBundle, mUserHandle); + boolean includeParams = options == null || options.mParametersIncluded; + return mService.getPictureProfile( + type, name, includeParams, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -299,10 +299,9 @@ public final class MediaQualityManager { public List<PictureProfile> getPictureProfilesByPackage( @NonNull String packageName, @Nullable ProfileQueryParams options) { try { - Bundle optionsBundle = options == null - ? ProfileQueryParams.DEFAULT.toBundle() : options.toBundle(); + boolean includeParams = options == null || options.mParametersIncluded; return mService.getPictureProfilesByPackage( - packageName, optionsBundle, mUserHandle); + packageName, includeParams, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -321,9 +320,8 @@ public final class MediaQualityManager { @NonNull public List<PictureProfile> getAvailablePictureProfiles(@Nullable ProfileQueryParams options) { try { - Bundle optionsBundle = options == null - ? ProfileQueryParams.DEFAULT.toBundle() : options.toBundle(); - return mService.getAvailablePictureProfiles(optionsBundle, mUserHandle); + boolean includeParams = options == null || options.mParametersIncluded; + return mService.getAvailablePictureProfiles(includeParams, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -344,7 +342,7 @@ public final class MediaQualityManager { @RequiresPermission(android.Manifest.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE) public boolean setDefaultPictureProfile(@Nullable String pictureProfileId) { try { - return mService.setDefaultPictureProfile(pictureProfileId, mUserHandle); + return mService.setDefaultPictureProfile(pictureProfileId, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -361,7 +359,7 @@ public final class MediaQualityManager { @RequiresPermission(android.Manifest.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE) public List<String> getPictureProfilePackageNames() { try { - return mService.getPictureProfilePackageNames(mUserHandle); + return mService.getPictureProfilePackageNames(mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -373,7 +371,7 @@ public final class MediaQualityManager { */ public List<PictureProfileHandle> getPictureProfileHandle(String[] id) { try { - return mService.getPictureProfileHandle(id, mUserHandle); + return mService.getPictureProfileHandle(id, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -385,7 +383,7 @@ public final class MediaQualityManager { */ public List<SoundProfileHandle> getSoundProfileHandle(String[] id) { try { - return mService.getSoundProfileHandle(id, mUserHandle); + return mService.getSoundProfileHandle(id, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -401,7 +399,7 @@ public final class MediaQualityManager { */ public void createPictureProfile(@NonNull PictureProfile pp) { try { - mService.createPictureProfile(pp, mUserHandle); + mService.createPictureProfile(pp, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -416,7 +414,7 @@ public final class MediaQualityManager { */ public void updatePictureProfile(@NonNull String profileId, @NonNull PictureProfile pp) { try { - mService.updatePictureProfile(profileId, pp, mUserHandle); + mService.updatePictureProfile(profileId, pp, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -430,7 +428,7 @@ public final class MediaQualityManager { */ public void removePictureProfile(@NonNull String profileId) { try { - mService.removePictureProfile(profileId, mUserHandle); + mService.removePictureProfile(profileId, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -484,9 +482,8 @@ public final class MediaQualityManager { @NonNull String name, @Nullable ProfileQueryParams options) { try { - Bundle optionsBundle = options == null - ? ProfileQueryParams.DEFAULT.toBundle() : options.toBundle(); - return mService.getSoundProfile(type, name, optionsBundle, mUserHandle); + boolean includeParams = options == null || options.mParametersIncluded; + return mService.getSoundProfile(type, name, includeParams, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -510,9 +507,9 @@ public final class MediaQualityManager { public List<SoundProfile> getSoundProfilesByPackage( @NonNull String packageName, @Nullable ProfileQueryParams options) { try { - Bundle optionsBundle = options == null - ? ProfileQueryParams.DEFAULT.toBundle() : options.toBundle(); - return mService.getSoundProfilesByPackage(packageName, optionsBundle, mUserHandle); + boolean includeParams = options == null || options.mParametersIncluded; + return mService.getSoundProfilesByPackage( + packageName, includeParams, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -531,9 +528,8 @@ public final class MediaQualityManager { @NonNull public List<SoundProfile> getAvailableSoundProfiles(@Nullable ProfileQueryParams options) { try { - Bundle optionsBundle = options == null - ? ProfileQueryParams.DEFAULT.toBundle() : options.toBundle(); - return mService.getAvailableSoundProfiles(optionsBundle, mUserHandle); + boolean includeParams = options == null || options.mParametersIncluded; + return mService.getAvailableSoundProfiles(includeParams, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -554,7 +550,7 @@ public final class MediaQualityManager { @RequiresPermission(android.Manifest.permission.MANAGE_GLOBAL_SOUND_QUALITY_SERVICE) public boolean setDefaultSoundProfile(@Nullable String soundProfileId) { try { - return mService.setDefaultSoundProfile(soundProfileId, mUserHandle); + return mService.setDefaultSoundProfile(soundProfileId, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -572,7 +568,7 @@ public final class MediaQualityManager { @RequiresPermission(android.Manifest.permission.MANAGE_GLOBAL_SOUND_QUALITY_SERVICE) public List<String> getSoundProfilePackageNames() { try { - return mService.getSoundProfilePackageNames(mUserHandle); + return mService.getSoundProfilePackageNames(mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -589,7 +585,7 @@ public final class MediaQualityManager { */ public void createSoundProfile(@NonNull SoundProfile sp) { try { - mService.createSoundProfile(sp, mUserHandle); + mService.createSoundProfile(sp, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -604,7 +600,7 @@ public final class MediaQualityManager { */ public void updateSoundProfile(@NonNull String profileId, @NonNull SoundProfile sp) { try { - mService.updateSoundProfile(profileId, sp, mUserHandle); + mService.updateSoundProfile(profileId, sp, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -618,7 +614,7 @@ public final class MediaQualityManager { */ public void removeSoundProfile(@NonNull String profileId) { try { - mService.removeSoundProfile(profileId, mUserHandle); + mService.removeSoundProfile(profileId, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -636,7 +632,7 @@ public final class MediaQualityManager { @NonNull public List<ParameterCapability> getParameterCapabilities(@NonNull List<String> names) { try { - return mService.getParameterCapabilities(names, mUserHandle); + return mService.getParameterCapabilities(names, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -654,7 +650,7 @@ public final class MediaQualityManager { @NonNull public List<String> getPictureProfileAllowList() { try { - return mService.getPictureProfileAllowList(mUserHandle); + return mService.getPictureProfileAllowList(mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -668,7 +664,7 @@ public final class MediaQualityManager { @RequiresPermission(android.Manifest.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE) public void setPictureProfileAllowList(@NonNull List<String> packageNames) { try { - mService.setPictureProfileAllowList(packageNames, mUserHandle); + mService.setPictureProfileAllowList(packageNames, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -686,7 +682,7 @@ public final class MediaQualityManager { @NonNull public List<String> getSoundProfileAllowList() { try { - return mService.getSoundProfileAllowList(mUserHandle); + return mService.getSoundProfileAllowList(mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -700,7 +696,7 @@ public final class MediaQualityManager { @RequiresPermission(android.Manifest.permission.MANAGE_GLOBAL_SOUND_QUALITY_SERVICE) public void setSoundProfileAllowList(@NonNull List<String> packageNames) { try { - mService.setSoundProfileAllowList(packageNames, mUserHandle); + mService.setSoundProfileAllowList(packageNames, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -712,7 +708,7 @@ public final class MediaQualityManager { */ public boolean isSupported() { try { - return mService.isSupported(mUserHandle); + return mService.isSupported(mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -730,7 +726,7 @@ public final class MediaQualityManager { @RequiresPermission(android.Manifest.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE) public void setAutoPictureQualityEnabled(boolean enabled) { try { - mService.setAutoPictureQualityEnabled(enabled, mUserHandle); + mService.setAutoPictureQualityEnabled(enabled, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -741,7 +737,7 @@ public final class MediaQualityManager { */ public boolean isAutoPictureQualityEnabled() { try { - return mService.isAutoPictureQualityEnabled(mUserHandle); + return mService.isAutoPictureQualityEnabled(mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -758,7 +754,7 @@ public final class MediaQualityManager { @RequiresPermission(android.Manifest.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE) public void setSuperResolutionEnabled(boolean enabled) { try { - mService.setSuperResolutionEnabled(enabled, mUserHandle); + mService.setSuperResolutionEnabled(enabled, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -769,7 +765,7 @@ public final class MediaQualityManager { */ public boolean isSuperResolutionEnabled() { try { - return mService.isSuperResolutionEnabled(mUserHandle); + return mService.isSuperResolutionEnabled(mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -787,7 +783,7 @@ public final class MediaQualityManager { @RequiresPermission(android.Manifest.permission.MANAGE_GLOBAL_SOUND_QUALITY_SERVICE) public void setAutoSoundQualityEnabled(boolean enabled) { try { - mService.setAutoSoundQualityEnabled(enabled, mUserHandle); + mService.setAutoSoundQualityEnabled(enabled, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -798,7 +794,7 @@ public final class MediaQualityManager { */ public boolean isAutoSoundQualityEnabled() { try { - return mService.isAutoSoundQualityEnabled(mUserHandle); + return mService.isAutoSoundQualityEnabled(mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -847,7 +843,7 @@ public final class MediaQualityManager { @NonNull AmbientBacklightSettings settings) { Preconditions.checkNotNull(settings); try { - mService.setAmbientBacklightSettings(settings, mUserHandle); + mService.setAmbientBacklightSettings(settings, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -858,7 +854,7 @@ public final class MediaQualityManager { */ public boolean isAmbientBacklightEnabled() { try { - return mService.isAmbientBacklightEnabled(mUserHandle); + return mService.isAmbientBacklightEnabled(mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } @@ -872,7 +868,7 @@ public final class MediaQualityManager { @RequiresPermission(android.Manifest.permission.READ_COLOR_ZONES) public void setAmbientBacklightEnabled(boolean enabled) { try { - mService.setAmbientBacklightEnabled(enabled, mUserHandle); + mService.setAmbientBacklightEnabled(enabled, mUserHandle.getIdentifier()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } diff --git a/media/java/android/media/quality/SoundProfileHandle.java b/media/java/android/media/quality/SoundProfileHandle.java deleted file mode 100644 index edb546efdaf3..000000000000 --- a/media/java/android/media/quality/SoundProfileHandle.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (C) 2024 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.media.quality; - -import android.annotation.NonNull; -import android.os.Parcel; -import android.os.Parcelable; - -/** - * A type-safe handle to a sound profile. - * - * @hide - */ -public final class SoundProfileHandle implements Parcelable { - public static final @NonNull SoundProfileHandle NONE = new SoundProfileHandle(-1000); - - private final long mId; - - /** @hide */ - public SoundProfileHandle(long id) { - mId = id; - } - - /** @hide */ - public long getId() { - return mId; - } - - /** @hide */ - @Override - public void writeToParcel(@NonNull Parcel dest, int flags) { - dest.writeLong(mId); - } - - /** @hide */ - @Override - public int describeContents() { - return 0; - } - - /** @hide */ - public static final @NonNull Creator<SoundProfileHandle> CREATOR = - new Creator<SoundProfileHandle>() { - @Override - public SoundProfileHandle createFromParcel(Parcel in) { - return new SoundProfileHandle(in); - } - - @Override - public SoundProfileHandle[] newArray(int size) { - return new SoundProfileHandle[size]; - } - }; - - private SoundProfileHandle(@NonNull Parcel in) { - mId = in.readLong(); - } -} diff --git a/media/java/android/media/quality/ActiveProcessingPicture.aidl b/media/java/android/media/quality/aidl/android/media/quality/ActiveProcessingPicture.aidl index 2851306f6e4d..2851306f6e4d 100644 --- a/media/java/android/media/quality/ActiveProcessingPicture.aidl +++ b/media/java/android/media/quality/aidl/android/media/quality/ActiveProcessingPicture.aidl diff --git a/media/java/android/media/quality/AmbientBacklightEvent.aidl b/media/java/android/media/quality/aidl/android/media/quality/AmbientBacklightEvent.aidl index 174cd461e846..174cd461e846 100644 --- a/media/java/android/media/quality/AmbientBacklightEvent.aidl +++ b/media/java/android/media/quality/aidl/android/media/quality/AmbientBacklightEvent.aidl diff --git a/media/java/android/media/quality/AmbientBacklightMetadata.aidl b/media/java/android/media/quality/aidl/android/media/quality/AmbientBacklightMetadata.aidl index b95a474fbf90..b95a474fbf90 100644 --- a/media/java/android/media/quality/AmbientBacklightMetadata.aidl +++ b/media/java/android/media/quality/aidl/android/media/quality/AmbientBacklightMetadata.aidl diff --git a/media/java/android/media/quality/AmbientBacklightSettings.aidl b/media/java/android/media/quality/aidl/android/media/quality/AmbientBacklightSettings.aidl index e2cdd03194cd..e2cdd03194cd 100644 --- a/media/java/android/media/quality/AmbientBacklightSettings.aidl +++ b/media/java/android/media/quality/aidl/android/media/quality/AmbientBacklightSettings.aidl diff --git a/media/java/android/media/quality/IAmbientBacklightCallback.aidl b/media/java/android/media/quality/aidl/android/media/quality/IAmbientBacklightCallback.aidl index 159f5b7b5e71..159f5b7b5e71 100644 --- a/media/java/android/media/quality/IAmbientBacklightCallback.aidl +++ b/media/java/android/media/quality/aidl/android/media/quality/IAmbientBacklightCallback.aidl diff --git a/media/java/android/media/quality/IMediaQualityManager.aidl b/media/java/android/media/quality/aidl/android/media/quality/IMediaQualityManager.aidl index 6e9fa1dcf93d..0191ea786de0 100644 --- a/media/java/android/media/quality/IMediaQualityManager.aidl +++ b/media/java/android/media/quality/aidl/android/media/quality/IMediaQualityManager.aidl @@ -25,57 +25,57 @@ import android.media.quality.PictureProfileHandle; import android.media.quality.PictureProfile; import android.media.quality.SoundProfileHandle; import android.media.quality.SoundProfile; -import android.os.Bundle; -import android.os.UserHandle; /** * Interface for Media Quality Manager * @hide */ interface IMediaQualityManager { - PictureProfile createPictureProfile(in PictureProfile pp, in UserHandle user); - void updatePictureProfile(in String id, in PictureProfile pp, in UserHandle user); - void removePictureProfile(in String id, in UserHandle user); - boolean setDefaultPictureProfile(in String id, in UserHandle user); + // TODO: use UserHandle + PictureProfile createPictureProfile(in PictureProfile pp, int userId); + void updatePictureProfile(in String id, in PictureProfile pp, int userId); + void removePictureProfile(in String id, int userId); + boolean setDefaultPictureProfile(in String id, int userId); + // TODO: use Bundle for includeParams PictureProfile getPictureProfile( - in int type, in String name, in Bundle options, in UserHandle user); + in int type, in String name, in boolean includeParams, int userId); List<PictureProfile> getPictureProfilesByPackage( - in String packageName, in Bundle options, in UserHandle user); - List<PictureProfile> getAvailablePictureProfiles(in Bundle options, in UserHandle user); - List<String> getPictureProfilePackageNames(in UserHandle user); - List<String> getPictureProfileAllowList(in UserHandle user); - void setPictureProfileAllowList(in List<String> packages, in UserHandle user); - List<PictureProfileHandle> getPictureProfileHandle(in String[] id, in UserHandle user); + in String packageName, in boolean includeParams, int userId); + List<PictureProfile> getAvailablePictureProfiles(in boolean includeParams, int userId); + List<String> getPictureProfilePackageNames(int userId); + List<String> getPictureProfileAllowList(int userId); + void setPictureProfileAllowList(in List<String> packages, int userId); + List<PictureProfileHandle> getPictureProfileHandle(in String[] id, int userId); - SoundProfile createSoundProfile(in SoundProfile pp, in UserHandle user); - void updateSoundProfile(in String id, in SoundProfile pp, in UserHandle user); - void removeSoundProfile(in String id, in UserHandle user); - boolean setDefaultSoundProfile(in String id, in UserHandle user); + SoundProfile createSoundProfile(in SoundProfile pp, int userId); + void updateSoundProfile(in String id, in SoundProfile pp, int userId); + void removeSoundProfile(in String id, int userId); + boolean setDefaultSoundProfile(in String id, int userId); SoundProfile getSoundProfile( - in int type, in String name, in Bundle options, in UserHandle user); + in int type, in String name, in boolean includeParams, int userId); List<SoundProfile> getSoundProfilesByPackage( - in String packageName, in Bundle options, in UserHandle user); - List<SoundProfile> getAvailableSoundProfiles(in Bundle options, in UserHandle user); - List<String> getSoundProfilePackageNames(in UserHandle user); - List<String> getSoundProfileAllowList(in UserHandle user); - void setSoundProfileAllowList(in List<String> packages, in UserHandle user); - List<SoundProfileHandle> getSoundProfileHandle(in String[] id, in UserHandle user); + in String packageName, in boolean includeParams, int userId); + List<SoundProfile> getAvailableSoundProfiles(in boolean includeParams, int userId); + List<String> getSoundProfilePackageNames(int userId); + List<String> getSoundProfileAllowList(int userId); + void setSoundProfileAllowList(in List<String> packages, int userId); + List<SoundProfileHandle> getSoundProfileHandle(in String[] id, int userId); void registerPictureProfileCallback(in IPictureProfileCallback cb); void registerSoundProfileCallback(in ISoundProfileCallback cb); void registerAmbientBacklightCallback(in IAmbientBacklightCallback cb); - List<ParameterCapability> getParameterCapabilities(in List<String> names, in UserHandle user); + List<ParameterCapability> getParameterCapabilities(in List<String> names, int userId); - boolean isSupported(in UserHandle user); - void setAutoPictureQualityEnabled(in boolean enabled, in UserHandle user); - boolean isAutoPictureQualityEnabled(in UserHandle user); - void setSuperResolutionEnabled(in boolean enabled, in UserHandle user); - boolean isSuperResolutionEnabled(in UserHandle user); - void setAutoSoundQualityEnabled(in boolean enabled, in UserHandle user); - boolean isAutoSoundQualityEnabled(in UserHandle user); + boolean isSupported(int userId); + void setAutoPictureQualityEnabled(in boolean enabled, int userId); + boolean isAutoPictureQualityEnabled(int userId); + void setSuperResolutionEnabled(in boolean enabled, int userId); + boolean isSuperResolutionEnabled(int userId); + void setAutoSoundQualityEnabled(in boolean enabled, int userId); + boolean isAutoSoundQualityEnabled(int userId); - void setAmbientBacklightSettings(in AmbientBacklightSettings settings, in UserHandle user); - void setAmbientBacklightEnabled(in boolean enabled, in UserHandle user); - boolean isAmbientBacklightEnabled(in UserHandle user); + void setAmbientBacklightSettings(in AmbientBacklightSettings settings, int userId); + void setAmbientBacklightEnabled(in boolean enabled, int userId); + boolean isAmbientBacklightEnabled(int userId); } diff --git a/media/java/android/media/quality/IPictureProfileCallback.aidl b/media/java/android/media/quality/aidl/android/media/quality/IPictureProfileCallback.aidl index eed77f695416..eed77f695416 100644 --- a/media/java/android/media/quality/IPictureProfileCallback.aidl +++ b/media/java/android/media/quality/aidl/android/media/quality/IPictureProfileCallback.aidl diff --git a/media/java/android/media/quality/ISoundProfileCallback.aidl b/media/java/android/media/quality/aidl/android/media/quality/ISoundProfileCallback.aidl index 3871fb212259..3871fb212259 100644 --- a/media/java/android/media/quality/ISoundProfileCallback.aidl +++ b/media/java/android/media/quality/aidl/android/media/quality/ISoundProfileCallback.aidl diff --git a/media/java/android/media/quality/ParameterCapability.aidl b/media/java/android/media/quality/aidl/android/media/quality/ParameterCapability.aidl index eb2ac97916f3..eb2ac97916f3 100644 --- a/media/java/android/media/quality/ParameterCapability.aidl +++ b/media/java/android/media/quality/aidl/android/media/quality/ParameterCapability.aidl diff --git a/media/java/android/media/quality/PictureProfile.aidl b/media/java/android/media/quality/aidl/android/media/quality/PictureProfile.aidl index 41d018b12f33..41d018b12f33 100644 --- a/media/java/android/media/quality/PictureProfile.aidl +++ b/media/java/android/media/quality/aidl/android/media/quality/PictureProfile.aidl diff --git a/media/java/android/media/quality/PictureProfileHandle.aidl b/media/java/android/media/quality/aidl/android/media/quality/PictureProfileHandle.aidl index 5d14631dbb73..5d14631dbb73 100644 --- a/media/java/android/media/quality/PictureProfileHandle.aidl +++ b/media/java/android/media/quality/aidl/android/media/quality/PictureProfileHandle.aidl diff --git a/media/java/android/media/quality/SoundProfile.aidl b/media/java/android/media/quality/aidl/android/media/quality/SoundProfile.aidl index e79fcaac97be..e79fcaac97be 100644 --- a/media/java/android/media/quality/SoundProfile.aidl +++ b/media/java/android/media/quality/aidl/android/media/quality/SoundProfile.aidl diff --git a/media/java/android/media/quality/SoundProfileHandle.aidl b/media/java/android/media/quality/aidl/android/media/quality/SoundProfileHandle.aidl index 6b8161c8cc43..ea26b19d84d7 100644 --- a/media/java/android/media/quality/SoundProfileHandle.aidl +++ b/media/java/android/media/quality/aidl/android/media/quality/SoundProfileHandle.aidl @@ -16,4 +16,7 @@ package android.media.quality; -parcelable SoundProfileHandle; +// TODO: add SoundProfileHandle.java +parcelable SoundProfileHandle { + long id; +} 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 91a2843ccaf7..9e38435ff7f1 100644 --- a/services/core/java/com/android/server/media/quality/MediaQualityService.java +++ b/services/core/java/com/android/server/media/quality/MediaQualityService.java @@ -48,7 +48,6 @@ import android.media.quality.IMediaQualityManager; import android.media.quality.IPictureProfileCallback; import android.media.quality.ISoundProfileCallback; import android.media.quality.MediaQualityContract.BaseParameters; -import android.media.quality.MediaQualityManager; import android.media.quality.ParameterCapability; import android.media.quality.PictureProfile; import android.media.quality.PictureProfileHandle; @@ -187,7 +186,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mPictureProfileLock") @Override - public PictureProfile createPictureProfile(PictureProfile pp, UserHandle user) { + public PictureProfile createPictureProfile(PictureProfile pp, int userId) { if ((pp.getPackageName() != null && !pp.getPackageName().isEmpty() && !incomingPackageEqualsCallingUidPackage(pp.getPackageName())) && !hasGlobalPictureQualityServicePermission()) { @@ -221,7 +220,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mPictureProfileLock") @Override - public void updatePictureProfile(String id, PictureProfile pp, UserHandle user) { + public void updatePictureProfile(String id, PictureProfile pp, int userId) { Long dbId = mPictureProfileTempIdMap.getKey(id); if (!hasPermissionToUpdatePictureProfile(dbId, pp)) { mMqManagerNotifier.notifyOnPictureProfileError(id, @@ -249,7 +248,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mPictureProfileLock") @Override - public void removePictureProfile(String id, UserHandle user) { + public void removePictureProfile(String id, int userId) { synchronized (mPictureProfileLock) { Long dbId = mPictureProfileTempIdMap.getKey(id); @@ -290,10 +289,8 @@ public class MediaQualityService extends SystemService { @GuardedBy("mPictureProfileLock") @Override - public PictureProfile getPictureProfile(int type, String name, Bundle options, - UserHandle user) { - boolean includeParams = - options.getBoolean(MediaQualityManager.OPTION_INCLUDE_PARAMETERS, false); + public PictureProfile getPictureProfile(int type, String name, boolean includeParams, + int userId) { String selection = BaseParameters.PARAMETER_TYPE + " = ? AND " + BaseParameters.PARAMETER_NAME + " = ? AND " + BaseParameters.PARAMETER_PACKAGE + " = ?"; @@ -327,7 +324,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mPictureProfileLock") @Override public List<PictureProfile> getPictureProfilesByPackage( - String packageName, Bundle options, UserHandle user) { + String packageName, boolean includeParams, int userId) { if (!hasGlobalPictureQualityServicePermission()) { mMqManagerNotifier.notifyOnPictureProfileError(null, PictureProfile.ERROR_NO_PERMISSION, @@ -335,8 +332,6 @@ public class MediaQualityService extends SystemService { } synchronized (mPictureProfileLock) { - boolean includeParams = - options.getBoolean(MediaQualityManager.OPTION_INCLUDE_PARAMETERS, false); String selection = BaseParameters.PARAMETER_PACKAGE + " = ?"; String[] selectionArguments = {packageName}; return mMqDatabaseUtils.getPictureProfilesBasedOnConditions(MediaQualityUtils @@ -347,17 +342,17 @@ public class MediaQualityService extends SystemService { @GuardedBy("mPictureProfileLock") @Override - public List<PictureProfile> getAvailablePictureProfiles(Bundle options, UserHandle user) { + public List<PictureProfile> getAvailablePictureProfiles(boolean includeParams, int userId) { String packageName = getPackageOfCallingUid(); if (packageName != null) { - return getPictureProfilesByPackage(packageName, options, user); + return getPictureProfilesByPackage(packageName, includeParams, userId); } return new ArrayList<>(); } @GuardedBy("mPictureProfileLock") @Override - public boolean setDefaultPictureProfile(String profileId, UserHandle user) { + public boolean setDefaultPictureProfile(String profileId, int userId) { if (!hasGlobalPictureQualityServicePermission()) { mMqManagerNotifier.notifyOnPictureProfileError(profileId, PictureProfile.ERROR_NO_PERMISSION, @@ -387,7 +382,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mPictureProfileLock") @Override - public List<String> getPictureProfilePackageNames(UserHandle user) { + public List<String> getPictureProfilePackageNames(int userId) { if (!hasGlobalPictureQualityServicePermission()) { mMqManagerNotifier.notifyOnPictureProfileError(null, PictureProfile.ERROR_NO_PERMISSION, @@ -406,7 +401,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mPictureProfileLock") @Override - public List<PictureProfileHandle> getPictureProfileHandle(String[] ids, UserHandle user) { + public List<PictureProfileHandle> getPictureProfileHandle(String[] ids, int userId) { List<PictureProfileHandle> toReturn = new ArrayList<>(); synchronized (mPictureProfileLock) { for (String id : ids) { @@ -423,13 +418,13 @@ public class MediaQualityService extends SystemService { @GuardedBy("mSoundProfileLock") @Override - public List<SoundProfileHandle> getSoundProfileHandle(String[] ids, UserHandle user) { + public List<SoundProfileHandle> getSoundProfileHandle(String[] ids, int userId) { List<SoundProfileHandle> toReturn = new ArrayList<>(); synchronized (mSoundProfileLock) { for (String id : ids) { Long key = mSoundProfileTempIdMap.getKey(id); if (key != null) { - toReturn.add(new SoundProfileHandle(key)); + toReturn.add(MediaQualityUtils.SOUND_PROFILE_HANDLE_NONE); } else { toReturn.add(null); } @@ -440,7 +435,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mSoundProfileLock") @Override - public SoundProfile createSoundProfile(SoundProfile sp, UserHandle user) { + public SoundProfile createSoundProfile(SoundProfile sp, int userId) { if ((sp.getPackageName() != null && !sp.getPackageName().isEmpty() && !incomingPackageEqualsCallingUidPackage(sp.getPackageName())) && !hasGlobalPictureQualityServicePermission()) { @@ -473,7 +468,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mSoundProfileLock") @Override - public void updateSoundProfile(String id, SoundProfile sp, UserHandle user) { + public void updateSoundProfile(String id, SoundProfile sp, int userId) { Long dbId = mSoundProfileTempIdMap.getKey(id); if (!hasPermissionToUpdateSoundProfile(dbId, sp)) { mMqManagerNotifier.notifyOnSoundProfileError(id, SoundProfile.ERROR_NO_PERMISSION, @@ -502,7 +497,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mSoundProfileLock") @Override - public void removeSoundProfile(String id, UserHandle user) { + public void removeSoundProfile(String id, int userId) { synchronized (mSoundProfileLock) { Long dbId = mSoundProfileTempIdMap.getKey(id); SoundProfile toDelete = mMqDatabaseUtils.getSoundProfile(dbId); @@ -542,10 +537,8 @@ public class MediaQualityService extends SystemService { @GuardedBy("mSoundProfileLock") @Override - public SoundProfile getSoundProfile(int type, String name, Bundle options, - UserHandle user) { - boolean includeParams = - options.getBoolean(MediaQualityManager.OPTION_INCLUDE_PARAMETERS, false); + public SoundProfile getSoundProfile(int type, String name, boolean includeParams, + int userId) { String selection = BaseParameters.PARAMETER_TYPE + " = ? AND " + BaseParameters.PARAMETER_NAME + " = ? AND " + BaseParameters.PARAMETER_PACKAGE + " = ?"; @@ -579,15 +572,13 @@ public class MediaQualityService extends SystemService { @GuardedBy("mSoundProfileLock") @Override public List<SoundProfile> getSoundProfilesByPackage( - String packageName, Bundle options, UserHandle user) { + String packageName, boolean includeParams, int userId) { if (!hasGlobalSoundQualityServicePermission()) { mMqManagerNotifier.notifyOnSoundProfileError(null, SoundProfile.ERROR_NO_PERMISSION, Binder.getCallingUid(), Binder.getCallingPid()); } synchronized (mSoundProfileLock) { - boolean includeParams = - options.getBoolean(MediaQualityManager.OPTION_INCLUDE_PARAMETERS, false); String selection = BaseParameters.PARAMETER_PACKAGE + " = ?"; String[] selectionArguments = {packageName}; return mMqDatabaseUtils.getSoundProfilesBasedOnConditions(MediaQualityUtils @@ -598,17 +589,17 @@ public class MediaQualityService extends SystemService { @GuardedBy("mSoundProfileLock") @Override - public List<SoundProfile> getAvailableSoundProfiles(Bundle options, UserHandle user) { + public List<SoundProfile> getAvailableSoundProfiles(boolean includeParams, int userId) { String packageName = getPackageOfCallingUid(); if (packageName != null) { - return getSoundProfilesByPackage(packageName, options, user); + return getSoundProfilesByPackage(packageName, includeParams, userId); } return new ArrayList<>(); } @GuardedBy("mSoundProfileLock") @Override - public boolean setDefaultSoundProfile(String profileId, UserHandle user) { + public boolean setDefaultSoundProfile(String profileId, int userId) { if (!hasGlobalSoundQualityServicePermission()) { mMqManagerNotifier.notifyOnSoundProfileError(profileId, SoundProfile.ERROR_NO_PERMISSION, @@ -638,7 +629,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mSoundProfileLock") @Override - public List<String> getSoundProfilePackageNames(UserHandle user) { + public List<String> getSoundProfilePackageNames(int userId) { if (!hasGlobalSoundQualityServicePermission()) { mMqManagerNotifier.notifyOnSoundProfileError(null, SoundProfile.ERROR_NO_PERMISSION, Binder.getCallingUid(), Binder.getCallingPid()); @@ -737,7 +728,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mAmbientBacklightLock") @Override public void setAmbientBacklightSettings( - AmbientBacklightSettings settings, UserHandle user) { + AmbientBacklightSettings settings, int userId) { if (DEBUG) { Slogf.d(TAG, "setAmbientBacklightSettings " + settings); } @@ -775,7 +766,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mAmbientBacklightLock") @Override - public void setAmbientBacklightEnabled(boolean enabled, UserHandle user) { + public void setAmbientBacklightEnabled(boolean enabled, int userId) { if (DEBUG) { Slogf.d(TAG, "setAmbientBacklightEnabled " + enabled); } @@ -795,7 +786,7 @@ public class MediaQualityService extends SystemService { @Override public List<ParameterCapability> getParameterCapabilities( - List<String> names, UserHandle user) { + List<String> names, int userId) { byte[] byteArray = MediaQualityUtils.convertParameterToByteArray(names); ParamCapability[] caps = new ParamCapability[byteArray.length]; try { @@ -828,7 +819,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mPictureProfileLock") @Override - public List<String> getPictureProfileAllowList(UserHandle user) { + public List<String> getPictureProfileAllowList(int userId) { if (!hasGlobalPictureQualityServicePermission()) { mMqManagerNotifier.notifyOnPictureProfileError(null, PictureProfile.ERROR_NO_PERMISSION, @@ -844,7 +835,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mPictureProfileLock") @Override - public void setPictureProfileAllowList(List<String> packages, UserHandle user) { + public void setPictureProfileAllowList(List<String> packages, int userId) { if (!hasGlobalPictureQualityServicePermission()) { mMqManagerNotifier.notifyOnPictureProfileError(null, PictureProfile.ERROR_NO_PERMISSION, @@ -857,7 +848,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mSoundProfileLock") @Override - public List<String> getSoundProfileAllowList(UserHandle user) { + public List<String> getSoundProfileAllowList(int userId) { if (!hasGlobalSoundQualityServicePermission()) { mMqManagerNotifier.notifyOnSoundProfileError(null, SoundProfile.ERROR_NO_PERMISSION, Binder.getCallingUid(), Binder.getCallingPid()); @@ -872,7 +863,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mSoundProfileLock") @Override - public void setSoundProfileAllowList(List<String> packages, UserHandle user) { + public void setSoundProfileAllowList(List<String> packages, int userId) { if (!hasGlobalSoundQualityServicePermission()) { mMqManagerNotifier.notifyOnSoundProfileError(null, SoundProfile.ERROR_NO_PERMISSION, Binder.getCallingUid(), Binder.getCallingPid()); @@ -883,13 +874,13 @@ public class MediaQualityService extends SystemService { } @Override - public boolean isSupported(UserHandle user) { + public boolean isSupported(int userId) { return false; } @GuardedBy("mPictureProfileLock") @Override - public void setAutoPictureQualityEnabled(boolean enabled, UserHandle user) { + public void setAutoPictureQualityEnabled(boolean enabled, int userId) { if (!hasGlobalPictureQualityServicePermission()) { mMqManagerNotifier.notifyOnPictureProfileError(null, PictureProfile.ERROR_NO_PERMISSION, @@ -910,7 +901,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mPictureProfileLock") @Override - public boolean isAutoPictureQualityEnabled(UserHandle user) { + public boolean isAutoPictureQualityEnabled(int userId) { synchronized (mPictureProfileLock) { try { if (mMediaQuality != null) { @@ -927,7 +918,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mPictureProfileLock") @Override - public void setSuperResolutionEnabled(boolean enabled, UserHandle user) { + public void setSuperResolutionEnabled(boolean enabled, int userId) { if (!hasGlobalPictureQualityServicePermission()) { mMqManagerNotifier.notifyOnPictureProfileError(null, PictureProfile.ERROR_NO_PERMISSION, @@ -948,7 +939,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mPictureProfileLock") @Override - public boolean isSuperResolutionEnabled(UserHandle user) { + public boolean isSuperResolutionEnabled(int userId) { synchronized (mPictureProfileLock) { try { if (mMediaQuality != null) { @@ -965,7 +956,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mSoundProfileLock") @Override - public void setAutoSoundQualityEnabled(boolean enabled, UserHandle user) { + public void setAutoSoundQualityEnabled(boolean enabled, int userId) { if (!hasGlobalSoundQualityServicePermission()) { mMqManagerNotifier.notifyOnSoundProfileError(null, SoundProfile.ERROR_NO_PERMISSION, Binder.getCallingUid(), Binder.getCallingPid()); @@ -986,7 +977,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mSoundProfileLock") @Override - public boolean isAutoSoundQualityEnabled(UserHandle user) { + public boolean isAutoSoundQualityEnabled(int userId) { synchronized (mSoundProfileLock) { try { if (mMediaQuality != null) { @@ -1003,7 +994,7 @@ public class MediaQualityService extends SystemService { @GuardedBy("mAmbientBacklightLock") @Override - public boolean isAmbientBacklightEnabled(UserHandle user) { + public boolean isAmbientBacklightEnabled(int userId) { return false; } } diff --git a/services/core/java/com/android/server/media/quality/MediaQualityUtils.java b/services/core/java/com/android/server/media/quality/MediaQualityUtils.java index 88d3f1ff7c52..303c96750098 100644 --- a/services/core/java/com/android/server/media/quality/MediaQualityUtils.java +++ b/services/core/java/com/android/server/media/quality/MediaQualityUtils.java @@ -60,6 +60,11 @@ public final class MediaQualityUtils { private static final String TAG = "MediaQualityUtils"; public static final String SETTINGS = "settings"; + public static final SoundProfileHandle SOUND_PROFILE_HANDLE_NONE = new SoundProfileHandle(); + static { + SOUND_PROFILE_HANDLE_NONE.id = -10000; + } + /** * Convert PictureParameter List to PersistableBundle. */ @@ -1022,7 +1027,7 @@ public final class MediaQualityUtils { getInputId(cursor), getPackageName(cursor), jsonToPersistableBundle(getSettingsString(cursor)), - SoundProfileHandle.NONE + SOUND_PROFILE_HANDLE_NONE ); } |