Loading media/java/android/media/quality/PictureProfile.java +11 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.media.quality; import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.StringDef; import android.annotation.SystemApi; import android.media.tv.TvInputInfo; import android.media.tv.flags.Flags; Loading Loading @@ -72,6 +73,16 @@ public final class PictureProfile implements Parcelable { */ public static final int TYPE_APPLICATION = 2; /** @hide */ @Retention(RetentionPolicy.SOURCE) @StringDef(prefix = "NAME_", value = { NAME_DEFAULT }) public @interface ProfileName {} /** @hide */ public static final String NAME_DEFAULT = "default"; /** @hide */ @Retention(RetentionPolicy.SOURCE) @IntDef(flag = false, prefix = "ERROR_", value = { Loading services/core/java/com/android/server/media/quality/MediaQualityService.java +35 −2 Original line number Diff line number Diff line Loading @@ -165,6 +165,7 @@ public class MediaQualityService extends SystemService { soundProfilePrefs, Context.MODE_PRIVATE); } @GuardedBy("mPictureProfileLock") @Override public void onStart() { IBinder binder = ServiceManager.getService(IMediaQuality.DESCRIPTOR + "/default"); Loading @@ -185,8 +186,22 @@ public class MediaQualityService extends SystemService { mMediaQuality.setPictureProfileAdjustmentListener(mPictureProfileAdjListener); mMediaQuality.setSoundProfileAdjustmentListener(mSoundProfileAdjListener); // TODO: populate mPackageDefaultPictureProfileHandleMap synchronized (mPictureProfileLock) { String selection = BaseParameters.PARAMETER_TYPE + " = ? AND " + BaseParameters.PARAMETER_NAME + " = ?"; String[] selectionArguments = { Integer.toString(PictureProfile.TYPE_SYSTEM), PictureProfile.NAME_DEFAULT }; List<PictureProfile> packageDefaultPictureProfiles = mMqDatabaseUtils.getPictureProfilesBasedOnConditions(MediaQualityUtils .getMediaProfileColumns(false), selection, selectionArguments); mPackageDefaultPictureProfileHandleMap.clear(); for (PictureProfile profile : packageDefaultPictureProfiles) { mPackageDefaultPictureProfileHandleMap.put( profile.getPackageName(), profile.getHandle().getId()); } } } catch (RemoteException e) { Slog.e(TAG, "Failed to set ambient backlight detector callback", e); } Loading Loading @@ -229,6 +244,10 @@ public class MediaQualityService extends SystemService { pp.setProfileId(value); mMqManagerNotifier.notifyOnPictureProfileAdded(value, pp, Binder.getCallingUid(), Binder.getCallingPid()); if (isPackageDefaultPictureProfile(pp)) { mPackageDefaultPictureProfileHandleMap.put( pp.getPackageName(), pp.getHandle().getId()); } } } ); Loading @@ -253,6 +272,10 @@ public class MediaQualityService extends SystemService { pp.getParameters()); updateDatabaseOnPictureProfileAndNotifyManagerAndHal(values, pp.getParameters()); if (isPackageDefaultPictureProfile(pp)) { mPackageDefaultPictureProfileHandleMap.put( pp.getPackageName(), pp.getHandle().getId()); } } }); } Loading Loading @@ -297,6 +320,11 @@ public class MediaQualityService extends SystemService { mHalNotifier.notifyHalOnPictureProfileChange(dbId, null); } } if (isPackageDefaultPictureProfile(toDelete)) { mPackageDefaultPictureProfileHandleMap.remove( toDelete.getPackageName()); } } }); } Loading Loading @@ -1966,4 +1994,9 @@ public class MediaQualityService extends SystemService { vendorBundleToByteArray, vendorBundleToByteArray.length); pictureParameters.vendorPictureParameters.setParcelable(defaultExtension); } private boolean isPackageDefaultPictureProfile(PictureProfile pp) { return pp != null && pp.getProfileType() == PictureProfile.TYPE_SYSTEM && pp.getName().equals(PictureProfile.NAME_DEFAULT); } } Loading
media/java/android/media/quality/PictureProfile.java +11 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.media.quality; import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.StringDef; import android.annotation.SystemApi; import android.media.tv.TvInputInfo; import android.media.tv.flags.Flags; Loading Loading @@ -72,6 +73,16 @@ public final class PictureProfile implements Parcelable { */ public static final int TYPE_APPLICATION = 2; /** @hide */ @Retention(RetentionPolicy.SOURCE) @StringDef(prefix = "NAME_", value = { NAME_DEFAULT }) public @interface ProfileName {} /** @hide */ public static final String NAME_DEFAULT = "default"; /** @hide */ @Retention(RetentionPolicy.SOURCE) @IntDef(flag = false, prefix = "ERROR_", value = { Loading
services/core/java/com/android/server/media/quality/MediaQualityService.java +35 −2 Original line number Diff line number Diff line Loading @@ -165,6 +165,7 @@ public class MediaQualityService extends SystemService { soundProfilePrefs, Context.MODE_PRIVATE); } @GuardedBy("mPictureProfileLock") @Override public void onStart() { IBinder binder = ServiceManager.getService(IMediaQuality.DESCRIPTOR + "/default"); Loading @@ -185,8 +186,22 @@ public class MediaQualityService extends SystemService { mMediaQuality.setPictureProfileAdjustmentListener(mPictureProfileAdjListener); mMediaQuality.setSoundProfileAdjustmentListener(mSoundProfileAdjListener); // TODO: populate mPackageDefaultPictureProfileHandleMap synchronized (mPictureProfileLock) { String selection = BaseParameters.PARAMETER_TYPE + " = ? AND " + BaseParameters.PARAMETER_NAME + " = ?"; String[] selectionArguments = { Integer.toString(PictureProfile.TYPE_SYSTEM), PictureProfile.NAME_DEFAULT }; List<PictureProfile> packageDefaultPictureProfiles = mMqDatabaseUtils.getPictureProfilesBasedOnConditions(MediaQualityUtils .getMediaProfileColumns(false), selection, selectionArguments); mPackageDefaultPictureProfileHandleMap.clear(); for (PictureProfile profile : packageDefaultPictureProfiles) { mPackageDefaultPictureProfileHandleMap.put( profile.getPackageName(), profile.getHandle().getId()); } } } catch (RemoteException e) { Slog.e(TAG, "Failed to set ambient backlight detector callback", e); } Loading Loading @@ -229,6 +244,10 @@ public class MediaQualityService extends SystemService { pp.setProfileId(value); mMqManagerNotifier.notifyOnPictureProfileAdded(value, pp, Binder.getCallingUid(), Binder.getCallingPid()); if (isPackageDefaultPictureProfile(pp)) { mPackageDefaultPictureProfileHandleMap.put( pp.getPackageName(), pp.getHandle().getId()); } } } ); Loading @@ -253,6 +272,10 @@ public class MediaQualityService extends SystemService { pp.getParameters()); updateDatabaseOnPictureProfileAndNotifyManagerAndHal(values, pp.getParameters()); if (isPackageDefaultPictureProfile(pp)) { mPackageDefaultPictureProfileHandleMap.put( pp.getPackageName(), pp.getHandle().getId()); } } }); } Loading Loading @@ -297,6 +320,11 @@ public class MediaQualityService extends SystemService { mHalNotifier.notifyHalOnPictureProfileChange(dbId, null); } } if (isPackageDefaultPictureProfile(toDelete)) { mPackageDefaultPictureProfileHandleMap.remove( toDelete.getPackageName()); } } }); } Loading Loading @@ -1966,4 +1994,9 @@ public class MediaQualityService extends SystemService { vendorBundleToByteArray, vendorBundleToByteArray.length); pictureParameters.vendorPictureParameters.setParcelable(defaultExtension); } private boolean isPackageDefaultPictureProfile(PictureProfile pp) { return pp != null && pp.getProfileType() == PictureProfile.TYPE_SYSTEM && pp.getName().equals(PictureProfile.NAME_DEFAULT); } }