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

Commit 5052e789 authored by Jean-Michel Trivi's avatar Jean-Michel Trivi Committed by Android (Google) Code Review
Browse files

Merge "AudioManager: add ability to allocate a new session ID"

parents a8580b5f 8a21f5dd
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -13681,6 +13681,7 @@ package android.media {
    method public void adjustStreamVolume(int, int, int);
    method public void adjustSuggestedStreamVolume(int, int, int);
    method public void adjustVolume(int, int);
    method public int allocateAudioSessionId();
    method public void dispatchMediaKeyEvent(android.view.KeyEvent);
    method public int getMode();
    method public java.lang.String getParameters(java.lang.String);
@@ -13741,6 +13742,7 @@ package android.media {
    field public static final int AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK = -3; // 0xfffffffd
    field public static final int AUDIOFOCUS_REQUEST_FAILED = 0; // 0x0
    field public static final int AUDIOFOCUS_REQUEST_GRANTED = 1; // 0x1
    field public static final int ERROR = -1; // 0xffffffff
    field public static final java.lang.String EXTRA_RINGER_MODE = "android.media.EXTRA_RINGER_MODE";
    field public static final java.lang.String EXTRA_SCO_AUDIO_PREVIOUS_STATE = "android.media.extra.SCO_AUDIO_PREVIOUS_STATE";
    field public static final java.lang.String EXTRA_SCO_AUDIO_STATE = "android.media.extra.SCO_AUDIO_STATE";
+7 −0
Original line number Diff line number Diff line
@@ -243,6 +243,12 @@ android_media_AudioSystem_isSourceActive(JNIEnv *env, jobject thiz, jint source)
    return state;
}

static jint
android_media_AudioSystem_newAudioSessionId(JNIEnv *env, jobject thiz)
{
    return AudioSystem::newAudioSessionId();
}

static jint
android_media_AudioSystem_setParameters(JNIEnv *env, jobject thiz, jstring keyValuePairs)
{
@@ -1295,6 +1301,7 @@ static JNINativeMethod gMethods[] = {
    {"isStreamActive",      "(II)Z",    (void *)android_media_AudioSystem_isStreamActive},
    {"isStreamActiveRemotely","(II)Z",  (void *)android_media_AudioSystem_isStreamActiveRemotely},
    {"isSourceActive",      "(I)Z",     (void *)android_media_AudioSystem_isSourceActive},
    {"newAudioSessionId",   "()I",      (void *)android_media_AudioSystem_newAudioSessionId},
    {"setDeviceConnectionState", "(IILjava/lang/String;)I", (void *)android_media_AudioSystem_setDeviceConnectionState},
    {"getDeviceConnectionState", "(ILjava/lang/String;)I",  (void *)android_media_AudioSystem_getDeviceConnectionState},
    {"setPhoneState",       "(I)I",     (void *)android_media_AudioSystem_setPhoneState},
+21 −1
Original line number Diff line number Diff line
@@ -1653,6 +1653,25 @@ public class AudioManager {
        }
    }


    /**
     * Return a new audio session identifier not associated with any player or effect.
     * It can for instance be used to create one of the {@link android.media.audiofx.AudioEffect}
     * objects.
     * @return a new unclaimed and unused audio session identifier, or {@link #ERROR} when the
     *   system failed to allocate a new session.
     */
    public int allocateAudioSessionId() {
        int session = AudioSystem.newAudioSessionId();
        if (session > 0) {
            return session;
        } else {
            Log.e(TAG, "Failure to allocate a new audio session ID");
            return ERROR;
        }
    }


    /*
     * Sets a generic audio configuration parameter. The use of these parameters
     * are platform dependant, see libaudio
@@ -2998,7 +3017,8 @@ public class AudioManager {
    /** @hide
     */
    public static final int SUCCESS = AudioSystem.SUCCESS;
    /** @hide
    /**
     * A default error code.
     */
    public static final int ERROR = AudioSystem.ERROR;
    /** @hide
+5 −0
Original line number Diff line number Diff line
@@ -129,6 +129,11 @@ public class AudioSystem
     */
    public static native boolean isSourceActive(int source);

    /*
     * Returns a new unused audio session ID
     */
    public static native int newAudioSessionId();

    /*
     * Sets a group generic audio configuration parameters. The use of these parameters
     * are platform dependent, see libaudio