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

Commit 9b83844f 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: cb6c0473

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

Change-Id: Idb8c87169627dd4068948c9402b56988c0e31507
parents 3c4a90ed cb6c0473
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -21542,6 +21542,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;