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

Commit ecf6241e authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Adding mustPlayShutterSound to break Cam2 dependency on Cam1" am:...

Merge "Adding mustPlayShutterSound to break Cam2 dependency on Cam1" am: cb6c0473 am: 9b83844f am: 401703e3

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1911999

Change-Id: Ib9ab9f740e096ce901155ed73a40504bd7ed9863
parents 0ef5032c 401703e3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -21584,6 +21584,7 @@ package android.media {
  public class MediaActionSound {
    ctor public MediaActionSound();
    method public void load(int);
    method public static boolean mustPlayShutterSound();
    method public void play(int);
    method public void release();
    field public static final int FOCUS_COMPLETE = 1; // 0x1
+24 −1
Original line number Diff line number Diff line
@@ -16,8 +16,11 @@

package android.media;

import android.media.AudioManager;
import android.content.Context;
import android.media.SoundPool;
import android.os.IBinder;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.util.Log;

/**
@@ -104,6 +107,26 @@ public class MediaActionSound {
    private static final int STATE_LOADING_PLAY_REQUESTED = 2;
    private static final int STATE_LOADED                 = 3;

    /**
     * <p>Returns true if the application must play the shutter sound in accordance
     * to certain regional restrictions. </p>
     *
     * <p>If this method returns true, applications are strongly recommended to use
     * MediaActionSound.play(SHUTTER_CLICK) or START_VIDEO_RECORDING whenever it captures
     * images or video to storage or sends them over the network.</p>
     */
    public static boolean mustPlayShutterSound() {
        boolean result = false;
        IBinder b = ServiceManager.getService(Context.AUDIO_SERVICE);
        IAudioService audioService = IAudioService.Stub.asInterface(b);
        try {
            result = audioService.isCameraSoundForced();
        } catch (RemoteException e) {
            Log.e(TAG, "audio service is unavailable for queries, defaulting to false");
        }
        return result;
    }

    private class SoundState {
        public final int name;
        public int id;