Merge "[TeX] Extracted Utils API for Telemetry Express Logging APIs" am: 667a49fe46 am: ac9c1d71b7

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

Change-Id: I33d71b7ba8d7d0bc55a33a1e5c97837caa00fa63
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot
2023-01-24 18:45:54 +00:00
committed by Automerger Merge Worker
5 changed files with 30 additions and 11 deletions

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2022 The Android Open Source Project * Copyright (C) 2023 The Android Open Source Project
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@@ -39,9 +39,7 @@ public final class Counter {
* @hide * @hide
*/ */
public static void logIncrement(@NonNull String metricId, long amount) { public static void logIncrement(@NonNull String metricId, long amount) {
final long metricIdHash = hashString(metricId); final long metricIdHash = Utils.hashString(metricId);
FrameworkStatsLog.write(FrameworkStatsLog.EXPRESS_EVENT_REPORTED, metricIdHash, amount); FrameworkStatsLog.write(FrameworkStatsLog.EXPRESS_EVENT_REPORTED, metricIdHash, amount);
} }
private static native long hashString(String stringToHash);
} }

View File

@@ -0,0 +1,21 @@
/*
* Copyright (C) 2023 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.internal.expresslog;
final class Utils {
static native long hashString(String stringToHash);
}

View File

@@ -215,7 +215,7 @@ cc_library_shared {
"android_content_res_Configuration.cpp", "android_content_res_Configuration.cpp",
"android_security_Scrypt.cpp", "android_security_Scrypt.cpp",
"com_android_internal_content_om_OverlayConfig.cpp", "com_android_internal_content_om_OverlayConfig.cpp",
"com_android_internal_expresslog_Counter.cpp", "com_android_internal_expresslog_Utils.cpp",
"com_android_internal_net_NetworkUtilsInternal.cpp", "com_android_internal_net_NetworkUtilsInternal.cpp",
"com_android_internal_os_ClassLoaderFactory.cpp", "com_android_internal_os_ClassLoaderFactory.cpp",
"com_android_internal_os_FuseAppLoop.cpp", "com_android_internal_os_FuseAppLoop.cpp",

View File

@@ -196,7 +196,7 @@ extern int register_android_security_Scrypt(JNIEnv *env);
extern int register_com_android_internal_content_F2fsUtils(JNIEnv* env); extern int register_com_android_internal_content_F2fsUtils(JNIEnv* env);
extern int register_com_android_internal_content_NativeLibraryHelper(JNIEnv *env); extern int register_com_android_internal_content_NativeLibraryHelper(JNIEnv *env);
extern int register_com_android_internal_content_om_OverlayConfig(JNIEnv *env); extern int register_com_android_internal_content_om_OverlayConfig(JNIEnv *env);
extern int register_com_android_internal_expresslog_Counter(JNIEnv* env); extern int register_com_android_internal_expresslog_Utils(JNIEnv* env);
extern int register_com_android_internal_net_NetworkUtilsInternal(JNIEnv* env); extern int register_com_android_internal_net_NetworkUtilsInternal(JNIEnv* env);
extern int register_com_android_internal_os_ClassLoaderFactory(JNIEnv* env); extern int register_com_android_internal_os_ClassLoaderFactory(JNIEnv* env);
extern int register_com_android_internal_os_FuseAppLoop(JNIEnv* env); extern int register_com_android_internal_os_FuseAppLoop(JNIEnv* env);
@@ -1591,7 +1591,7 @@ static const RegJNIRec gRegJNI[] = {
REG_JNI(register_android_os_SharedMemory), REG_JNI(register_android_os_SharedMemory),
REG_JNI(register_android_os_incremental_IncrementalManager), REG_JNI(register_android_os_incremental_IncrementalManager),
REG_JNI(register_com_android_internal_content_om_OverlayConfig), REG_JNI(register_com_android_internal_content_om_OverlayConfig),
REG_JNI(register_com_android_internal_expresslog_Counter), REG_JNI(register_com_android_internal_expresslog_Utils),
REG_JNI(register_com_android_internal_net_NetworkUtilsInternal), REG_JNI(register_com_android_internal_net_NetworkUtilsInternal),
REG_JNI(register_com_android_internal_os_ClassLoaderFactory), REG_JNI(register_com_android_internal_os_ClassLoaderFactory),
REG_JNI(register_com_android_internal_os_LongArrayMultiStateCounter), REG_JNI(register_com_android_internal_os_LongArrayMultiStateCounter),

View File

@@ -26,7 +26,7 @@
static jclass g_stringClass = nullptr; static jclass g_stringClass = nullptr;
/** /**
* Class: com_android_internal_expresslog_Counter * Class: com_android_internal_expresslog_Utils
* Method: hashString * Method: hashString
* Signature: (Ljava/lang/String;)J * Signature: (Ljava/lang/String;)J
*/ */
@@ -43,15 +43,15 @@ static const JNINativeMethod g_methods[] = {
{"hashString", "(Ljava/lang/String;)J", (void*)hashString}, {"hashString", "(Ljava/lang/String;)J", (void*)hashString},
}; };
static const char* const kCounterPathName = "com/android/internal/expresslog/Counter"; static const char* const kUtilsPathName = "com/android/internal/expresslog/Utils";
namespace android { namespace android {
int register_com_android_internal_expresslog_Counter(JNIEnv* env) { int register_com_android_internal_expresslog_Utils(JNIEnv* env) {
jclass stringClass = FindClassOrDie(env, "java/lang/String"); jclass stringClass = FindClassOrDie(env, "java/lang/String");
g_stringClass = MakeGlobalRefOrDie(env, stringClass); g_stringClass = MakeGlobalRefOrDie(env, stringClass);
return RegisterMethodsOrDie(env, kCounterPathName, g_methods, NELEM(g_methods)); return RegisterMethodsOrDie(env, kUtilsPathName, g_methods, NELEM(g_methods));
} }
} // namespace android } // namespace android