Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 105c609a authored by Haofan Wang's avatar Haofan Wang
Browse files

Check if profile name contains default

Since we have default for each stream status, for example default/SDR,
default/HDR etc... we need to use contains to check if this is a package
default profile.

Bug: 416181074
Bug: 417404960
Flag: EXEMPT bugfix
Test: m
Change-Id: I261ae4d693fab2fbf1cf5cf56f35c03571406e00
parent 4367e33c
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -2446,8 +2446,16 @@ public class MediaQualityService extends SystemService {
    }

    private boolean isPackageDefaultPictureProfile(PictureProfile pp) {
        return pp != null && pp.getProfileType() == PictureProfile.TYPE_SYSTEM &&
               pp.getName().equals(PictureProfile.NAME_DEFAULT);
        if (pp == null || pp.getProfileType() != PictureProfile.TYPE_SYSTEM) {
            return false;
        }
        String pictureProfileName = pp.getName();
        String[] arr = mPictureProfileAdjListener.splitNameAndStatus(pictureProfileName);
        String profileName = arr[0];
        String profileStatus = arr[1];
        return profileName.equals(PictureProfile.NAME_DEFAULT)
                && (MediaQualityUtils.isValidStreamStatus(profileStatus)
                || profileStatus.isEmpty());
    }

    private boolean hasGlobalPictureQualityServicePermission(int uid, int pid) {
+32 −0
Original line number Diff line number Diff line
@@ -179,6 +179,26 @@ public final class MediaQualityUtils {
            SoundQuality.PARAMETER_SOUND_STYLE
    ));

    private static final Set<String> VALID_STREAM_STATUS = new HashSet<>(Arrays.asList(
            PictureProfile.STATUS_SDR,
            PictureProfile.STATUS_HDR10,
            PictureProfile.STATUS_TCH,
            PictureProfile.STATUS_DOLBY_VISION,
            PictureProfile.STATUS_HLG,
            PictureProfile.STATUS_HDR10_PLUS,
            PictureProfile.STATUS_HDR_VIVID,
            PictureProfile.STATUS_IMAX_SDR,
            PictureProfile.STATUS_IMAX_HDR10,
            PictureProfile.STATUS_IMAX_HDR10_PLUS,
            PictureProfile.STATUS_FMM_SDR,
            PictureProfile.STATUS_FMM_HDR10,
            PictureProfile.STATUS_FMM_HDR10_PLUS,
            PictureProfile.STATUS_FMM_HLG,
            PictureProfile.STATUS_FMM_DOLBY,
            PictureProfile.STATUS_FMM_TCH,
            PictureProfile.STATUS_FMM_HDR_VIVID
    ));

    /**
     * Convert PictureParameter List to PersistableBundle.
     */
@@ -2177,6 +2197,18 @@ public final class MediaQualityUtils {
        };
    }

    /**
     * Check if the provided stream status is valid.
     * @param streamStatus
     * @return true is valid and false otherwise.
     */
    public static boolean isValidStreamStatus(String streamStatus) {
        if (streamStatus == null) {
            return false;
        }
        return VALID_STREAM_STATUS.contains(streamStatus);
    }

    private MediaQualityUtils() {

    }