Loading media/java/android/media/quality/MediaQualityManager.java +20 −0 Original line number Diff line number Diff line Loading @@ -347,6 +347,26 @@ public final class MediaQualityManager { } } /** * Get the default profile of the application. * * @return PictureProfile the default profile of the application. * * @see PictureProfile * * @hide */ @RequiresPermission(android.Manifest.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE) @Nullable public PictureProfile getDefaultPictureProfile() { try { return mService.getDefaultPictureProfile(); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } /** * Sets preferred default picture profile. * Loading media/java/android/media/quality/aidl/android/media/quality/IMediaQualityManager.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ interface IMediaQualityManager { void createPictureProfile(in PictureProfile pp, int userId); void updatePictureProfile(in String id, in PictureProfile pp, int userId); void removePictureProfile(in String id, int userId); PictureProfile getDefaultPictureProfile(); boolean setDefaultPictureProfile(in String id, int userId); // TODO: use Bundle for includeParams PictureProfile getPictureProfile( Loading services/core/java/com/android/server/media/quality/MediaQualityService.java +24 −0 Original line number Diff line number Diff line Loading @@ -105,6 +105,7 @@ public class MediaQualityService extends SystemService { private static final String PICTURE_PROFILE_PREFERENCE = "picture_profile_preference"; private static final String SOUND_PROFILE_PREFERENCE = "sound_profile_preference"; private static final String COMMA_DELIMITER = ","; private static final String DEFAULT_PICTURE_PROFILE_ID = "default_picture_profile_id"; private final Context mContext; private final MediaQualityDbHelper mMediaQualityDbHelper; private final BiMap<Long, String> mPictureProfileTempIdMap; Loading Loading @@ -460,6 +461,24 @@ public class MediaQualityService extends SystemService { return new ArrayList<>(); } @GuardedBy("mPictureProfileLock") @Override public PictureProfile getDefaultPictureProfile() { if (!hasGlobalPictureQualityServicePermission()) { mMqManagerNotifier.notifyOnPictureProfileError(null, PictureProfile.ERROR_NO_PERMISSION, Binder.getCallingUid(), Binder.getCallingPid()); } Long defaultPictureProfileId = mPictureProfileSharedPreference.getLong( DEFAULT_PICTURE_PROFILE_ID, -1 ); if (defaultPictureProfileId != -1) { return mMqDatabaseUtils.getPictureProfile(defaultPictureProfileId); } return null; } @GuardedBy("mPictureProfileLock") @Override public boolean setDefaultPictureProfile(String profileId, int userId) { Loading @@ -473,6 +492,11 @@ public class MediaQualityService extends SystemService { if (longId == null) { return false; } SharedPreferences.Editor editor = mPictureProfileSharedPreference.edit(); editor.putLong(DEFAULT_PICTURE_PROFILE_ID, longId); editor.apply(); PictureProfile pictureProfile = mMqDatabaseUtils.getPictureProfile(longId); PersistableBundle params = pictureProfile.getParameters(); Loading Loading
media/java/android/media/quality/MediaQualityManager.java +20 −0 Original line number Diff line number Diff line Loading @@ -347,6 +347,26 @@ public final class MediaQualityManager { } } /** * Get the default profile of the application. * * @return PictureProfile the default profile of the application. * * @see PictureProfile * * @hide */ @RequiresPermission(android.Manifest.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE) @Nullable public PictureProfile getDefaultPictureProfile() { try { return mService.getDefaultPictureProfile(); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } /** * Sets preferred default picture profile. * Loading
media/java/android/media/quality/aidl/android/media/quality/IMediaQualityManager.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ interface IMediaQualityManager { void createPictureProfile(in PictureProfile pp, int userId); void updatePictureProfile(in String id, in PictureProfile pp, int userId); void removePictureProfile(in String id, int userId); PictureProfile getDefaultPictureProfile(); boolean setDefaultPictureProfile(in String id, int userId); // TODO: use Bundle for includeParams PictureProfile getPictureProfile( Loading
services/core/java/com/android/server/media/quality/MediaQualityService.java +24 −0 Original line number Diff line number Diff line Loading @@ -105,6 +105,7 @@ public class MediaQualityService extends SystemService { private static final String PICTURE_PROFILE_PREFERENCE = "picture_profile_preference"; private static final String SOUND_PROFILE_PREFERENCE = "sound_profile_preference"; private static final String COMMA_DELIMITER = ","; private static final String DEFAULT_PICTURE_PROFILE_ID = "default_picture_profile_id"; private final Context mContext; private final MediaQualityDbHelper mMediaQualityDbHelper; private final BiMap<Long, String> mPictureProfileTempIdMap; Loading Loading @@ -460,6 +461,24 @@ public class MediaQualityService extends SystemService { return new ArrayList<>(); } @GuardedBy("mPictureProfileLock") @Override public PictureProfile getDefaultPictureProfile() { if (!hasGlobalPictureQualityServicePermission()) { mMqManagerNotifier.notifyOnPictureProfileError(null, PictureProfile.ERROR_NO_PERMISSION, Binder.getCallingUid(), Binder.getCallingPid()); } Long defaultPictureProfileId = mPictureProfileSharedPreference.getLong( DEFAULT_PICTURE_PROFILE_ID, -1 ); if (defaultPictureProfileId != -1) { return mMqDatabaseUtils.getPictureProfile(defaultPictureProfileId); } return null; } @GuardedBy("mPictureProfileLock") @Override public boolean setDefaultPictureProfile(String profileId, int userId) { Loading @@ -473,6 +492,11 @@ public class MediaQualityService extends SystemService { if (longId == null) { return false; } SharedPreferences.Editor editor = mPictureProfileSharedPreference.edit(); editor.putLong(DEFAULT_PICTURE_PROFILE_ID, longId); editor.apply(); PictureProfile pictureProfile = mMqDatabaseUtils.getPictureProfile(longId); PersistableBundle params = pictureProfile.getParameters(); Loading