Update build files to include media3 resources.

Bug: 406437257
Test: atest FlickerLibTest
Change-Id: I66397a8208cc64da1ba048200e66f36f914ee19e
diff --git a/libraries/flicker/Android.bp b/libraries/flicker/Android.bp
index 4733eaa..386e278 100644
--- a/libraries/flicker/Android.bp
+++ b/libraries/flicker/Android.bp
@@ -19,11 +19,11 @@
     default_applicable_licenses: ["Android-Apache-2.0"],
 }
 
-java_test {
+android_library {
     name: "flickerlib",
     platform_apis: true,
     optimize: {
-        enabled: false
+        enabled: false,
     },
     srcs: [
         "src/android/tools/**/*.kt",
@@ -45,4 +45,3 @@
         "collector-device-lib",
     ],
 }
-
diff --git a/libraries/flicker/AndroidManifest.xml b/libraries/flicker/AndroidManifest.xml
new file mode 100644
index 0000000..3382a24
--- /dev/null
+++ b/libraries/flicker/AndroidManifest.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright 2025 Google Inc. All Rights Reserved.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+          package="android.tools">
+    <uses-sdk android:minSdkVersion="29" android:targetSdkVersion="29"/>
+    <application />
+</manifest>
diff --git a/libraries/flicker/utils/Android.bp b/libraries/flicker/utils/Android.bp
index dae7aa4..e88bd24 100644
--- a/libraries/flicker/utils/Android.bp
+++ b/libraries/flicker/utils/Android.bp
@@ -26,11 +26,31 @@
     ],
 }
 
-java_library {
+filegroup {
+    name: "flickerlib-utils-src",
+    srcs: [
+        "src/android/tools/TracingExtensions.kt",
+        "src/android/tools/function/Predicate.kt",
+        "src/android/tools/io/TraceType.kt",
+        "src/android/tools/io/Consts.kt",
+        "src/android/tools/LogConsts.kt",
+    ],
+}
+
+filegroup {
+    name: "flickerlib-perfetto-src",
+    srcs: [
+        ":flickerlib-utils-src",
+        "src/android/tools/traces/parsers/perfetto/Args.kt",
+        "src/android/tools/traces/parsers/perfetto/TraceProcessorSession*",
+    ],
+}
+
+android_library {
     name: "flickerlib-helpers",
     platform_apis: true,
     optimize: {
-        enabled: false
+        enabled: false,
     },
     srcs: [
         ":flickerlib-helpers-src",
@@ -43,20 +63,17 @@
 }
 
 java_library {
-    name: "flickerlib-parsers",
+    name: "flickerlib-perfetto",
     platform_apis: true,
     kotlincflags: [
         "-Xmulti-platform",
         "-opt-in=kotlin.ExperimentalMultiplatform",
     ],
     optimize: {
-        enabled: false
+        enabled: false,
     },
     srcs: [
-        "src/android/tools/**/*.kt",
-    ],
-    exclude_srcs: [
-        ":flickerlib-helpers-src",
+        ":flickerlib-perfetto-src",
     ],
     static_libs: [
         "androidx.benchmark_benchmark-macro",
@@ -68,3 +85,25 @@
         "com_android_wm_shell_flags_lib",
     ],
 }
+
+android_library {
+    name: "flickerlib-parsers",
+    platform_apis: true,
+    optimize: {
+        enabled: false,
+    },
+    srcs: [
+        "src/android/tools/**/*.kt",
+    ],
+    exclude_srcs: [
+        ":flickerlib-helpers-src",
+        ":flickerlib-perfetto-src",
+    ],
+    static_libs: [
+        "flickerlib-perfetto",
+        "androidx.media3.media3-common",
+        "androidx.media3.media3-effect",
+        "androidx.media3.media3-transformer",
+        "androidx.media3.media3-muxer",
+    ],
+}
diff --git a/libraries/flicker/utils/AndroidManifest.xml b/libraries/flicker/utils/AndroidManifest.xml
new file mode 100644
index 0000000..995f57c
--- /dev/null
+++ b/libraries/flicker/utils/AndroidManifest.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright 2025 Google Inc. All Rights Reserved.
+ -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="android.tools.flicker.utils">
+    <uses-sdk android:minSdkVersion="29" android:targetSdkVersion="29"/>
+    <application />
+</manifest>
diff --git a/libraries/flicker/utils/src/android/tools/Extensions.kt b/libraries/flicker/utils/src/android/tools/CacheExtensions.kt
similarity index 79%
copy from libraries/flicker/utils/src/android/tools/Extensions.kt
copy to libraries/flicker/utils/src/android/tools/CacheExtensions.kt
index 88578eb..6f2c646 100644
--- a/libraries/flicker/utils/src/android/tools/Extensions.kt
+++ b/libraries/flicker/utils/src/android/tools/CacheExtensions.kt
@@ -16,16 +16,7 @@
 
 package android.tools
 
-import android.os.Trace
 import android.tools.function.Predicate
 
 inline fun <reified T : Any> withCache(newInstancePredicate: Predicate<T>): T =
     Cache.get(newInstancePredicate.invoke())
-
-fun <T> withTracing(name: String, predicate: Predicate<T>): T =
-    try {
-        Trace.beginSection(name)
-        predicate.invoke()
-    } finally {
-        Trace.endSection()
-    }
diff --git a/libraries/flicker/utils/src/android/tools/Consts.kt b/libraries/flicker/utils/src/android/tools/Consts.kt
index 34fa92b..bb76847 100644
--- a/libraries/flicker/utils/src/android/tools/Consts.kt
+++ b/libraries/flicker/utils/src/android/tools/Consts.kt
@@ -18,7 +18,6 @@
 
 import android.tools.traces.formatRealTimestamp
 
-const val FLICKER_TAG = "FLICKER"
 const val MILLISECOND_AS_NANOSECONDS: Long = 1000000
 const val SECOND_AS_NANOSECONDS: Long = 1000000000
 const val MINUTE_AS_NANOSECONDS: Long = 60000000000
diff --git a/libraries/flicker/utils/src/android/tools/Extensions.kt b/libraries/flicker/utils/src/android/tools/LogConsts.kt
similarity index 63%
copy from libraries/flicker/utils/src/android/tools/Extensions.kt
copy to libraries/flicker/utils/src/android/tools/LogConsts.kt
index 88578eb..68ecc1a 100644
--- a/libraries/flicker/utils/src/android/tools/Extensions.kt
+++ b/libraries/flicker/utils/src/android/tools/LogConsts.kt
@@ -16,16 +16,4 @@
 
 package android.tools
 
-import android.os.Trace
-import android.tools.function.Predicate
-
-inline fun <reified T : Any> withCache(newInstancePredicate: Predicate<T>): T =
-    Cache.get(newInstancePredicate.invoke())
-
-fun <T> withTracing(name: String, predicate: Predicate<T>): T =
-    try {
-        Trace.beginSection(name)
-        predicate.invoke()
-    } finally {
-        Trace.endSection()
-    }
+const val FLICKER_TAG = "FLICKER"
diff --git a/libraries/flicker/utils/src/android/tools/Extensions.kt b/libraries/flicker/utils/src/android/tools/TracingExtensions.kt
similarity index 87%
rename from libraries/flicker/utils/src/android/tools/Extensions.kt
rename to libraries/flicker/utils/src/android/tools/TracingExtensions.kt
index 88578eb..857c2d2 100644
--- a/libraries/flicker/utils/src/android/tools/Extensions.kt
+++ b/libraries/flicker/utils/src/android/tools/TracingExtensions.kt
@@ -19,9 +19,6 @@
 import android.os.Trace
 import android.tools.function.Predicate
 
-inline fun <reified T : Any> withCache(newInstancePredicate: Predicate<T>): T =
-    Cache.get(newInstancePredicate.invoke())
-
 fun <T> withTracing(name: String, predicate: Predicate<T>): T =
     try {
         Trace.beginSection(name)