Merge "Revert "Fix check for whether a trace tag is enabled"" into main
diff --git a/core/java/android/os/Trace.java b/core/java/android/os/Trace.java
index edb3a64..bebb912 100644
--- a/core/java/android/os/Trace.java
+++ b/core/java/android/os/Trace.java
@@ -125,15 +125,15 @@
     @UnsupportedAppUsage
     @CriticalNative
     @android.ravenwood.annotation.RavenwoodReplace
-    private static native boolean nativeIsTagEnabled(long tag);
+    private static native long nativeGetEnabledTags();
     @android.ravenwood.annotation.RavenwoodReplace
     private static native void nativeSetAppTracingAllowed(boolean allowed);
     @android.ravenwood.annotation.RavenwoodReplace
     private static native void nativeSetTracingEnabled(boolean allowed);
 
-    private static boolean nativeIsTagEnabled$ravenwood(long traceTag) {
+    private static long nativeGetEnabledTags$ravenwood() {
         // Tracing currently completely disabled under Ravenwood
-        return false;
+        return 0;
     }
 
     private static void nativeSetAppTracingAllowed$ravenwood(boolean allowed) {
@@ -181,7 +181,8 @@
     @UnsupportedAppUsage
     @SystemApi(client = MODULE_LIBRARIES)
     public static boolean isTagEnabled(long traceTag) {
-        return nativeIsTagEnabled(traceTag);
+        long tags = nativeGetEnabledTags();
+        return (tags & traceTag) != 0;
     }
 
     /**
diff --git a/core/jni/android_os_Trace.cpp b/core/jni/android_os_Trace.cpp
index 422bc1e..b579daf 100644
--- a/core/jni/android_os_Trace.cpp
+++ b/core/jni/android_os_Trace.cpp
@@ -124,8 +124,8 @@
     });
 }
 
-static jboolean android_os_Trace_nativeIsTagEnabled(JNIEnv* env, jlong tag) {
-    return tracing_perfetto::isTagEnabled(tag);
+static jlong android_os_Trace_nativeGetEnabledTags(JNIEnv* env) {
+    return tracing_perfetto::getEnabledCategories();
 }
 
 static void android_os_Trace_nativeRegisterWithPerfetto(JNIEnv* env) {
@@ -157,7 +157,7 @@
         {"nativeRegisterWithPerfetto", "()V", (void*)android_os_Trace_nativeRegisterWithPerfetto},
 
         // ----------- @CriticalNative  ----------------
-        {"nativeIsTagEnabled", "(J)Z", (void*)android_os_Trace_nativeIsTagEnabled},
+        {"nativeGetEnabledTags", "()J", (void*)android_os_Trace_nativeGetEnabledTags},
 };
 
 int register_android_os_Trace(JNIEnv* env) {