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

Commit 951422f8 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 am: ecf6241e

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

Change-Id: If8f30c48857c037caaf3d6b264f3f3433e6a28e1
parents e1fced07 ecf6241e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -21932,6 +21932,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;