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

Commit a165d127 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

Change-Id: I6ae2457bd8bd9f53b35373fb1be7eb66f80f1510
parents fc7cc27a a2266f7a
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;
        }