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

Commit ff7e4f75 authored by Ytai Ben-Tsvi's avatar Ytai Ben-Tsvi
Browse files

Revert "Relax permission checks in sound trigger middleware"

This is a rollback of ag/10525952, since the underlying issue
is was working around has been addressed.

Bug: 151281856
Test: Some people have reported this to work. I'm still seeing issues
      on Sargo, and want more rigorous testing done by QA, owners of
      Now Playing, and owners of the permission subsystem.
Change-Id: I711470fa4f8478bce74d94ca403b029dd9a1bbd7
parent 243c57f0
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -252,8 +252,21 @@ public class SoundTriggerMiddlewareValidation implements ISoundTriggerMiddleware
     * @param permission The permission to check.
     */
    void enforcePermission(String permission) {
        mContext.enforceCallingOrSelfPermission(permission,
        final int status = PermissionChecker.checkCallingOrSelfPermissionForPreflight(mContext,
                permission);
        switch (status) {
            case PermissionChecker.PERMISSION_GRANTED:
                return;
            case PermissionChecker.PERMISSION_HARD_DENIED:
                throw new SecurityException(
                        String.format("Caller must have the %s permission.", permission));
            case PermissionChecker.PERMISSION_SOFT_DENIED:
                throw new ServiceSpecificException(Status.TEMPORARY_PERMISSION_DENIED,
                        String.format("Caller must have the %s permission.", permission));
            default:
                throw new InternalServerError(
                        new RuntimeException("Unexpected perimission check result."));
        }
    }

    @Override