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

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

Merge "Create libstats_jni"

parents 39df263c a2b78e4d
Loading
Loading
Loading
Loading
+33 −2
Original line number Diff line number Diff line
@@ -19,8 +19,9 @@ apex {
}

apex_defaults {
    // libc.so and libcutils.so are included in the apex
    // native_shared_libs: ["libc", "libcutils"],
    native_shared_libs: [
        "libstats_jni",
    ],
    // binaries: ["vold"],
    java_libs: [
        "framework-statsd",
@@ -44,3 +45,33 @@ android_app_certificate {
    // com.android.os.statsd.pk8 (the private key)
    certificate: "com.android.os.statsd",
}


// JNI library for StatsLog.write
cc_library_shared {
    name: "libstats_jni",
    srcs: ["jni/**/*.cpp"],
    shared_libs: [
        "libnativehelper", // Has stable abi - should not be copied into apex.
        "liblog",  // Has a stable abi - should not be copied into apex.
    ],
    static_libs: [
        //TODO: make shared - need libstatssocket to also live in the apex.
        "libstatssocket",
        "libcutils", // TODO: remove - needed by libstatssocket
    ],
    //TODO: is libc++_static correct?
    stl: "libc++_static",
    cflags: [
        "-Wall",
        "-Werror",
        "-Wextra",
        "-Wno-unused-parameter",
    ],
    apex_available: [
        "com.android.os.statsd",
        "test_com.android.os.statsd",
        //TODO (b/148620413): remove platform.
         "//apex_available:platform",
    ],
}
 No newline at end of file
+23 −6
Original line number Diff line number Diff line
@@ -17,12 +17,9 @@
#define LOG_NAMESPACE "StatsLog.tag."
#define LOG_TAG "StatsLog_println"

#include <assert.h>

#include "jni.h"
#include <log/log.h>
#include <nativehelper/JNIHelp.h>
#include "utils/misc.h"
#include "core_jni_helpers.h"
#include "stats_buffer_writer.h"

namespace android {
@@ -57,7 +54,27 @@ static const JNINativeMethod gMethods[] = {

int register_android_util_StatsLog(JNIEnv* env)
{
    return RegisterMethodsOrDie(env, "android/util/StatsLog", gMethods, NELEM(gMethods));
    return jniRegisterNativeMethods(env, "android/util/StatsLog", gMethods, NELEM(gMethods));
}

}; // namespace android

/*
 * JNI Initialization
 */
jint JNI_OnLoad(JavaVM* jvm, void* reserved) {
    JNIEnv* e;
    int status;

    ALOGV("statsd : loading JNI\n");
    // Check JNI version
    if (jvm->GetEnv((void**)&e, JNI_VERSION_1_4)) {
        ALOGE("JNI version mismatch error");
        return JNI_ERR;
    }
    status = android::register_android_util_StatsLog(e);
    if (status < 0) {
        ALOGE("jni statsd registration failure, status: %d", status);
        return JNI_ERR;
    }
    return JNI_VERSION_1_4;
}
+0 −1
Original line number Diff line number Diff line
@@ -147,7 +147,6 @@ cc_library_shared {
                "android_service_DataLoaderService.cpp",
                "android_util_AssetManager.cpp",
                "android_util_Binder.cpp",
                "android_util_StatsLog.cpp",
                "android_util_MemoryIntArray.cpp",
                "android_util_Process.cpp",
                "android_util_StringBlock.cpp",
+0 −2
Original line number Diff line number Diff line
@@ -108,7 +108,6 @@ namespace android {
extern int register_android_app_admin_SecurityLog(JNIEnv* env);
extern int register_android_content_AssetManager(JNIEnv* env);
extern int register_android_util_EventLog(JNIEnv* env);
extern int register_android_util_StatsLog(JNIEnv* env);
extern int register_android_util_StatsLogInternal(JNIEnv* env);
extern int register_android_util_Log(JNIEnv* env);
extern int register_android_util_MemoryIntArray(JNIEnv* env);
@@ -1441,7 +1440,6 @@ static const RegJNIRec gRegJNI[] = {
    REG_JNI(register_android_util_EventLog),
    REG_JNI(register_android_util_Log),
    REG_JNI(register_android_util_MemoryIntArray),
    REG_JNI(register_android_util_StatsLog),
    REG_JNI(register_android_util_StatsLogInternal),
    REG_JNI(register_android_app_admin_SecurityLog),
    REG_JNI(register_android_content_AssetManager),
+1 −0
Original line number Diff line number Diff line
@@ -64,6 +64,7 @@ cc_library_shared {
        "libgui",
        "libharfbuzz_ng",  // Only for including hb.h via minikin
        "libsensor",
        "libstats_jni",
        "libandroid_runtime",
        "libminikin",
        "libnetd_client",