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)