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

Commit 8286e900 authored by Eric Laurent's avatar Eric Laurent Committed by android-build-merger
Browse files

Merge \\"SoundPool: fix enforced camera shutter sound\\" into nyc-dev am: a2266f7a

am: f638978b

Change-Id: I88acecb9321d4a3480622b04b5a49ae87d7aff78
parents 2642ae57 f638978b
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -133,6 +133,8 @@ public class SoundPool {
    private final IAppOpsService mAppOps;
    private final IAppOpsCallback mAppOpsCallback;

    private static IAudioService sService;

    /**
     * Constructor. Constructs a SoundPool object with the following
     * characteristics:
@@ -492,7 +494,34 @@ public class SoundPool {
        }
    }

    private static IAudioService getService()
    {
        if (sService != null) {
            return sService;
        }
        IBinder b = ServiceManager.getService(Context.AUDIO_SERVICE);
        sService = IAudioService.Stub.asInterface(b);
        return sService;
    }

    private boolean isRestricted() {
        IAudioService service = getService();
        boolean cameraSoundForced = false;

        try {
            cameraSoundForced = service.isCameraSoundForced();
        } catch (RemoteException e) {
            Log.e(TAG, "Cannot access AudioService in isRestricted()");
        }

        if (cameraSoundForced &&
                ((mAttributes.getAllFlags() & AudioAttributes.FLAG_AUDIBILITY_ENFORCED) != 0)
// FIXME: should also check usage when set properly by camera app
//                && (mAttributes.getUsage() == AudioAttributes.USAGE_ASSISTANCE_SONIFICATION)
                ) {
            return false;
        }

        if ((mAttributes.getAllFlags() & AudioAttributes.FLAG_BYPASS_INTERRUPTION_POLICY) != 0) {
            return false;
        }