script-astra/Android/Sdk/sources/android-35/base/base_jni/JniAndroid_jni.h

93 lines
3.7 KiB
C
Raw Permalink Normal View History

2025-01-20 15:15:20 +00:00
// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// This file is autogenerated by
// third_party/jni_zero/jni_generator.py
// For
// android/net/connectivity/org/chromium/base/JniAndroid
#ifndef android_net_connectivity_org_chromium_base_JniAndroid_JNI
#define android_net_connectivity_org_chromium_base_JniAndroid_JNI
#include <jni.h>
#include "third_party/jni_zero/jni_export.h"
#include "third_party/jni_zero/jni_zero_helper.h"
// Step 1: Forward declarations.
JNI_ZERO_COMPONENT_BUILD_EXPORT extern const char
kClassPath_android_net_connectivity_org_chromium_base_JniAndroid[];
const char kClassPath_android_net_connectivity_org_chromium_base_JniAndroid[] =
"android/net/connectivity/org/chromium/base/JniAndroid";
// Leaking this jclass as we cannot use LazyInstance from some threads.
JNI_ZERO_COMPONENT_BUILD_EXPORT std::atomic<jclass>
g_android_net_connectivity_org_chromium_base_JniAndroid_clazz(nullptr);
#ifndef android_net_connectivity_org_chromium_base_JniAndroid_clazz_defined
#define android_net_connectivity_org_chromium_base_JniAndroid_clazz_defined
inline jclass android_net_connectivity_org_chromium_base_JniAndroid_clazz(JNIEnv* env) {
return base::android::LazyGetClass(env,
kClassPath_android_net_connectivity_org_chromium_base_JniAndroid,
&g_android_net_connectivity_org_chromium_base_JniAndroid_clazz);
}
#endif
// Step 2: Constants (optional).
// Step 3: Method stubs.
static std::atomic<jmethodID>
g_android_net_connectivity_org_chromium_base_JniAndroid_handleException2(nullptr);
static base::android::ScopedJavaLocalRef<jthrowable> Java_JniAndroid_handleException(JNIEnv* env,
const base::android::JavaRef<jthrowable>& throwable,
const base::android::JavaRef<jstring>& nativeStackTrace) {
jclass clazz = android_net_connectivity_org_chromium_base_JniAndroid_clazz(env);
CHECK_CLAZZ(env, clazz,
android_net_connectivity_org_chromium_base_JniAndroid_clazz(env), nullptr);
jni_generator::JniJavaCallContextChecked call_context;
call_context.Init<
base::android::MethodID::TYPE_STATIC>(
env,
clazz,
"handleException",
"(Ljava/lang/Throwable;Ljava/lang/String;)Ljava/lang/Throwable;",
&g_android_net_connectivity_org_chromium_base_JniAndroid_handleException2);
jthrowable ret =
static_cast<jthrowable>(env->CallStaticObjectMethod(clazz,
call_context.base.method_id, throwable.obj(), nativeStackTrace.obj()));
return base::android::ScopedJavaLocalRef<jthrowable>(env, ret);
}
static std::atomic<jmethodID>
g_android_net_connectivity_org_chromium_base_JniAndroid_sanitizedStacktraceForUnhandledException1(nullptr);
static base::android::ScopedJavaLocalRef<jstring>
Java_JniAndroid_sanitizedStacktraceForUnhandledException(JNIEnv* env, const
base::android::JavaRef<jthrowable>& throwable) {
jclass clazz = android_net_connectivity_org_chromium_base_JniAndroid_clazz(env);
CHECK_CLAZZ(env, clazz,
android_net_connectivity_org_chromium_base_JniAndroid_clazz(env), nullptr);
jni_generator::JniJavaCallContextChecked call_context;
call_context.Init<
base::android::MethodID::TYPE_STATIC>(
env,
clazz,
"sanitizedStacktraceForUnhandledException",
"(Ljava/lang/Throwable;)Ljava/lang/String;",
&g_android_net_connectivity_org_chromium_base_JniAndroid_sanitizedStacktraceForUnhandledException1);
jstring ret =
static_cast<jstring>(env->CallStaticObjectMethod(clazz,
call_context.base.method_id, throwable.obj()));
return base::android::ScopedJavaLocalRef<jstring>(env, ret);
}
#endif // android_net_connectivity_org_chromium_base_JniAndroid_JNI