From 23727654efcd7fad68ee32ae6dff4aa3074012c9 Mon Sep 17 00:00:00 2001 From: jacobrein Date: Wed, 18 Dec 2024 09:04:10 -0700 Subject: [PATCH] Add Firebase Performance Plugin This commit adds the Firebase Performance plugin to all modules to enable performance monitoring. The changes include: - Adding the Firebase Performance plugin to build.gradle.kts files of all modules. - Updating `libs.versions.toml` to include the plugin dependency and version. - Adding an XR dependency bundle. --- UIViews/build.gradle.kts | 2 ++ animeworld/build.gradle.kts | 1 + build.gradle.kts | 1 + gradle/libs.versions.toml | 22 +++++++++++++++++++++- mangaworld/build.gradle.kts | 1 + novelworld/build.gradle.kts | 1 + 6 files changed, 27 insertions(+), 1 deletion(-) diff --git a/UIViews/build.gradle.kts b/UIViews/build.gradle.kts index 2edb55e8e..c44d64e97 100644 --- a/UIViews/build.gradle.kts +++ b/UIViews/build.gradle.kts @@ -142,6 +142,8 @@ dependencies { implementation(libs.reorderable) + //implementation(libs.bundles.xr) + //TODO: Use this to check recomposition count on every screen //implementation("io.github.theapache64:rebugger:1.0.0-rc03") } diff --git a/animeworld/build.gradle.kts b/animeworld/build.gradle.kts index 780cd347b..7d4344f96 100644 --- a/animeworld/build.gradle.kts +++ b/animeworld/build.gradle.kts @@ -4,6 +4,7 @@ plugins { id("androidx.navigation.safeargs.kotlin") id("com.mikepenz.aboutlibraries.plugin") alias(libs.plugins.ksp) + alias(libs.plugins.google.firebase.performance) } android { diff --git a/build.gradle.kts b/build.gradle.kts index 5216e9d75..9de314c08 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -74,6 +74,7 @@ plugins { //id("org.jetbrains.compose") version libs.versions.jetbrainsCompiler apply false alias(libs.plugins.compose.compiler) apply false alias(libs.plugins.google.android.libraries.mapsplatform.secrets.gradle.plugin) apply false + alias(libs.plugins.google.firebase.performance) apply false } projectInfo { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 21986b8a8..706fb338a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -47,6 +47,8 @@ composeBomVersion = "2024.12.01" materialKolor = "2.0.0" firebaseKtx = "0.2.1" +googlePerformancePlugin = "1.4.2" + ### MangaWorld piasy = "1.8.1" @@ -65,6 +67,10 @@ zoomimageComposeGlide = "1.1.0" googleAndroidLibrariesMapsplatformSecretsGradlePlugin = "2.0.1" +arcore = "1.0.0-alpha01" +composeXr = "1.0.0-alpha01" +scenecore = "1.0.0-alpha01" + [plugins] kotlinGradle = { id = "org.jetbrains.kotlin:kotlin.gradle.plugin", version.ref = "kotlin" } kotlinSerializationGradle = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } @@ -73,6 +79,7 @@ ksp = { id = "com.google.devtools.ksp", version.ref = "kspVersion" } org-jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } google-android-libraries-mapsplatform-secrets-gradle-plugin = { id = "com.google.android.libraries.mapsplatform.secrets-gradle-plugin", version.ref = "googleAndroidLibrariesMapsplatformSecretsGradlePlugin" } +google-firebase-performance = { id = "com.google.firebase.firebase-perf", version.ref = "googlePerformancePlugin" } [libraries] androidx-baselineprofile-gradle-plugin = { module = "androidx.baselineprofile:androidx.baselineprofile.gradle.plugin", version.ref = "androidx-baselineprofile" } @@ -311,6 +318,7 @@ firebaseFirestore = { group = "com.google.firebase", name = "firebase-firestore" firebaseAuth = { group = "com.google.firebase", name = "firebase-auth" } crashlytics = { group = "com.google.firebase", name = "firebase-crashlytics" } analytics = { group = "com.google.firebase", name = "firebase-analytics" } +firebase-perf = { module = "com.google.firebase:firebase-perf" } firebaseUiAuth = "com.firebaseui:firebase-ui-auth:8.0.2" playServices = "com.google.android.gms:play-services-auth:21.3.0" @@ -330,6 +338,11 @@ benchmark-macro-junit4 = { group = "androidx.benchmark", name = "benchmark-macro profileinstaller = { group = "androidx.profileinstaller", name = "profileinstaller", version.ref = "profileinstaller" } panpf-zoomimage-compose-glide = { module = "io.github.panpf.zoomimage:zoomimage-compose-glide", version.ref = "zoomimageComposeGlide" } +androidx-arcore = { module = "androidx.xr.arcore:arcore", version.ref = "arcore" } +androidx-compose-xr = { module = "androidx.xr.compose:compose", version.ref = "composeXr" } +androidx-scenecore = { module = "androidx.xr.scenecore:scenecore", version.ref = "scenecore" } +androidx-xr-material3 = { module = "androidx.xr.compose.material3:material3", version.ref = "composeXr" } + [bundles] compose = [ "composeUi", "composeUiTooling", "composeFoundation", @@ -375,7 +388,7 @@ leanbackLibs = ["leanback", "leanbackPreference"] okHttpLibs = ["okhttpLib", "okhttpDns"] koinLibs = ["koin-android", "koin-core", "koin-workmanager", "koinCompose"] -firebaseCrashLibs = ["crashlytics", "analytics"] +firebaseCrashLibs = ["crashlytics", "analytics", "firebase-perf"] datastoreLibs = ["datastore", "datastorePref"] piasyLibs = ["bigImageViewer", "bigImageGlideLoader", "progressPieIndicator"] @@ -410,4 +423,11 @@ kamel = [ "kamel-decoder-image-vector", "kamel-decoder-svg-batik", "kamel-decoder-svg-std" +] + +xr = [ + "androidx-arcore", + "androidx-compose-xr", + "androidx-scenecore", + "androidx-xr-material3" ] \ No newline at end of file diff --git a/mangaworld/build.gradle.kts b/mangaworld/build.gradle.kts index 20aac3167..e53ed559e 100644 --- a/mangaworld/build.gradle.kts +++ b/mangaworld/build.gradle.kts @@ -6,6 +6,7 @@ plugins { alias(libs.plugins.ksp) id("kotlinx-serialization") //id("androidx.baselineprofile") + alias(libs.plugins.google.firebase.performance) } android { diff --git a/novelworld/build.gradle.kts b/novelworld/build.gradle.kts index 3fc9736c2..a863ebe70 100644 --- a/novelworld/build.gradle.kts +++ b/novelworld/build.gradle.kts @@ -3,6 +3,7 @@ plugins { id("androidx.navigation.safeargs.kotlin") id("com.mikepenz.aboutlibraries.plugin") alias(libs.plugins.ksp) + alias(libs.plugins.google.firebase.performance) } android {