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

Commit 92b76c30 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add package name when initializing ToneGenerator."

parents 65144f2e f4004145
Loading
Loading
Loading
Loading
+15 −12
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@

#include <jni.h>
#include <nativehelper/JNIHelp.h>
#include <nativehelper/ScopedUtfChars.h>
#include "core_jni_helpers.h"

#include <utils/Log.h>
@@ -85,9 +86,12 @@ static void android_media_ToneGenerator_release(JNIEnv *env, jobject thiz) {
    delete lpToneGen;
}

static void android_media_ToneGenerator_native_setup(JNIEnv *env, jobject thiz,
        jint streamType, jint volume) {
    ToneGenerator *lpToneGen = new ToneGenerator((audio_stream_type_t) streamType, AudioSystem::linearToLog(volume), true);
static void android_media_ToneGenerator_native_setup(JNIEnv *env, jobject thiz, jint streamType,
                                                     jint volume, jstring opPackageName) {
    ScopedUtfChars opPackageNameStr(env, opPackageName);
    ToneGenerator *lpToneGen =
            new ToneGenerator((audio_stream_type_t)streamType, AudioSystem::linearToLog(volume),
                              true /*threadCanCallJava*/, opPackageNameStr.c_str());

    env->SetLongField(thiz, fields.context, 0);

@@ -123,15 +127,14 @@ static void android_media_ToneGenerator_native_finalize(JNIEnv *env,

// ----------------------------------------------------------------------------

static const JNINativeMethod gMethods[] = {
    { "startTone", "(II)Z", (void *)android_media_ToneGenerator_startTone },
static const JNINativeMethod gMethods[] =
        {{"startTone", "(II)Z", (void *)android_media_ToneGenerator_startTone},
         {"stopTone", "()V", (void *)android_media_ToneGenerator_stopTone},
         {"getAudioSessionId", "()I", (void *)android_media_ToneGenerator_getAudioSessionId},
         {"release", "()V", (void *)android_media_ToneGenerator_release},
    { "native_setup", "(II)V", (void *)android_media_ToneGenerator_native_setup },
    { "native_finalize", "()V", (void *)android_media_ToneGenerator_native_finalize }
};

         {"native_setup", "(IILjava/lang/String;)V",
          (void *)android_media_ToneGenerator_native_setup},
         {"native_finalize", "()V", (void *)android_media_ToneGenerator_native_finalize}};

int register_android_media_ToneGenerator(JNIEnv *env) {
    jclass clazz = FindClassOrDie(env, "android/media/ToneGenerator");
+10 −3
Original line number Diff line number Diff line
@@ -16,9 +16,11 @@

package android.media;

import android.annotation.NonNull;
import android.app.ActivityThread;
import android.compat.annotation.UnsupportedAppUsage;
import android.os.Build;

import android.text.TextUtils;


/**
@@ -746,7 +748,7 @@ public class ToneGenerator
     *
     */
    public ToneGenerator(int streamType, int volume) {
        native_setup(streamType, volume);
        native_setup(streamType, volume, getCurrentOpPackageName());
    }

    /**
@@ -880,7 +882,8 @@ public class ToneGenerator
     */
    public native void release();

    private native final void native_setup(int streamType, int volume);
    private native void native_setup(
            int streamType, int volume, @NonNull String opPackageName);

    private native final void native_finalize();

@@ -895,6 +898,10 @@ public class ToneGenerator
    @Override
    protected void finalize() { native_finalize(); }

    private String getCurrentOpPackageName() {
        return TextUtils.emptyIfNull(ActivityThread.currentOpPackageName());
    }

    @SuppressWarnings("unused")
    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
    private long mNativeContext; // accessed by native methods