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

Commit 401703e3 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 am: 9b83844f

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

Change-Id: If3fc78d7c5e3a4813bb3ff5cd9e83b60af4857dc
parents 3dd00d78 9b83844f
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;