From 83531eeba9c4738ee5255d7fdc61e2a257d49afd Mon Sep 17 00:00:00 2001 From: Phil Oliver <3497406+poliver@users.noreply.github.com> Date: Tue, 7 Oct 2025 15:35:44 -0400 Subject: [PATCH] Remove unused `:core:analytics` dependencies (#3381) --- app/build.gradle.kts | 1 + app/src/main/java/com/geeksville/mesh/model/UIState.kt | 6 ++++-- app/src/main/java/com/geeksville/mesh/ui/Main.kt | 2 +- .../src/main/kotlin/AndroidLibraryConventionPlugin.kt | 2 -- .../com/geeksville/mesh/buildlogic/AndroidCompose.kt | 2 -- core/analytics/build.gradle.kts | 8 +++----- .../core/analytics/platform/FdroidPlatformAnalytics.kt | 2 +- .../core/analytics/platform/GooglePlatformAnalytics.kt | 2 +- .../core/analytics/platform/PlatformAnalytics.kt | 3 ++- core/model/build.gradle.kts | 1 + core/ui/build.gradle.kts | 1 + feature/map/build.gradle.kts | 1 + feature/settings/build.gradle.kts | 1 + gradle/libs.versions.toml | 1 + 14 files changed, 18 insertions(+), 15 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 9fc38d7a4..8ae25d559 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -220,6 +220,7 @@ dependencies { implementation(libs.androidx.lifecycle.process) implementation(libs.androidx.lifecycle.viewmodel.compose) implementation(libs.androidx.lifecycle.runtime.compose) + implementation(libs.androidx.navigation.compose) implementation(libs.markdown.renderer) implementation(libs.markdown.renderer.android) implementation(libs.markdown.renderer.m3) diff --git a/app/src/main/java/com/geeksville/mesh/model/UIState.kt b/app/src/main/java/com/geeksville/mesh/model/UIState.kt index 76cf72441..37f437f81 100644 --- a/app/src/main/java/com/geeksville/mesh/model/UIState.kt +++ b/app/src/main/java/com/geeksville/mesh/model/UIState.kt @@ -23,6 +23,7 @@ import android.os.RemoteException import androidx.compose.material3.SnackbarDuration import androidx.compose.material3.SnackbarHostState import androidx.compose.material3.SnackbarResult +import androidx.compose.runtime.Composable import androidx.lifecycle.LiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.asLiveData @@ -355,7 +356,8 @@ constructor( uiPreferencesDataSource.setAppIntroCompleted(true) } - fun addNavigationTrackingEffect(navController: NavHostController) { - analytics.addNavigationTrackingEffect(navController) + @Composable + fun AddNavigationTrackingEffect(navController: NavHostController) { + analytics.AddNavigationTrackingEffect(navController) } } diff --git a/app/src/main/java/com/geeksville/mesh/ui/Main.kt b/app/src/main/java/com/geeksville/mesh/ui/Main.kt index 3810cdc9e..829ace03c 100644 --- a/app/src/main/java/com/geeksville/mesh/ui/Main.kt +++ b/app/src/main/java/com/geeksville/mesh/ui/Main.kt @@ -157,7 +157,7 @@ fun MainScreen(uIViewModel: UIViewModel = hiltViewModel(), scanModel: BTScanMode } } - uIViewModel.addNavigationTrackingEffect(navController) + uIViewModel.AddNavigationTrackingEffect(navController) VersionChecks(uIViewModel) val alertDialogState by uIViewModel.currentAlert.collectAsStateWithLifecycle() diff --git a/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt index 9e50e0d13..48db986b9 100644 --- a/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt @@ -52,8 +52,6 @@ class AndroidLibraryConventionPlugin : Plugin { "androidTestImplementation"(libs.findLibrary("kotlin.test").get()) "androidTestImplementation"(libs.findLibrary("androidx-test-espresso-core").get()) "androidTestImplementation"(libs.findLibrary("androidx-compose-ui-test-junit4").get()) - "testImplementation"(libs.findLibrary("kotlin.test").get()) - } } } diff --git a/build-logic/convention/src/main/kotlin/com/geeksville/mesh/buildlogic/AndroidCompose.kt b/build-logic/convention/src/main/kotlin/com/geeksville/mesh/buildlogic/AndroidCompose.kt index 4011bbb51..9c50b0c19 100644 --- a/build-logic/convention/src/main/kotlin/com/geeksville/mesh/buildlogic/AndroidCompose.kt +++ b/build-logic/convention/src/main/kotlin/com/geeksville/mesh/buildlogic/AndroidCompose.kt @@ -39,9 +39,7 @@ internal fun Project.configureAndroidCompose( val bom = libs.findLibrary("androidx-compose-bom").get() "implementation"(platform(bom)) "androidTestImplementation"(platform(bom)) - "implementation"(libs.findLibrary("androidx-navigation-compose").get()) "implementation"(libs.findLibrary("androidx-compose-ui-tooling").get()) - "implementation"(libs.findLibrary("androidx-compose-ui-tooling-preview").get()) "implementation"(libs.findLibrary("androidx-compose-runtime").get()) "implementation"(libs.findLibrary("androidx-compose-runtime-tracing").get()) "debugImplementation"(libs.findLibrary("androidx-compose-ui-tooling").get()) diff --git a/core/analytics/build.gradle.kts b/core/analytics/build.gradle.kts index 4a680f76e..6a649a49c 100644 --- a/core/analytics/build.gradle.kts +++ b/core/analytics/build.gradle.kts @@ -16,24 +16,22 @@ */ plugins { alias(libs.plugins.meshtastic.android.library) + alias(libs.plugins.meshtastic.android.library.compose) alias(libs.plugins.meshtastic.hilt) alias(libs.plugins.secrets) alias(libs.plugins.kover) } dependencies { - implementation(projects.core.model) implementation(projects.core.prefs) - implementation(libs.androidx.appcompat) - implementation(libs.androidx.hilt.lifecycle.viewmodel.compose) - implementation(libs.androidx.navigation.compose) + implementation(libs.androidx.compose.runtime) implementation(libs.androidx.lifecycle.process) + implementation(libs.androidx.navigation.runtime) implementation(libs.timber) googleImplementation(libs.dd.sdk.android.compose) googleImplementation(libs.dd.sdk.android.logs) - googleImplementation(libs.dd.sdk.android.okhttp) googleImplementation(libs.dd.sdk.android.rum) googleImplementation(libs.dd.sdk.android.session.replay) googleImplementation(libs.dd.sdk.android.session.replay.compose) diff --git a/core/analytics/src/fdroid/kotlin/org/meshtastic/core/analytics/platform/FdroidPlatformAnalytics.kt b/core/analytics/src/fdroid/kotlin/org/meshtastic/core/analytics/platform/FdroidPlatformAnalytics.kt index 2b3ab4dc1..fdfc430e2 100644 --- a/core/analytics/src/fdroid/kotlin/org/meshtastic/core/analytics/platform/FdroidPlatformAnalytics.kt +++ b/core/analytics/src/fdroid/kotlin/org/meshtastic/core/analytics/platform/FdroidPlatformAnalytics.kt @@ -42,7 +42,7 @@ class FdroidPlatformAnalytics @Inject constructor() : PlatformAnalytics { } @Composable - override fun addNavigationTrackingEffect(navController: NavHostController) = { + override fun AddNavigationTrackingEffect(navController: NavHostController) { // No-op for F-Droid, but we can log navigation if needed for debugging if (BuildConfig.DEBUG) { navController.addOnDestinationChangedListener { _, destination, _ -> diff --git a/core/analytics/src/google/kotlin/org/meshtastic/core/analytics/platform/GooglePlatformAnalytics.kt b/core/analytics/src/google/kotlin/org/meshtastic/core/analytics/platform/GooglePlatformAnalytics.kt index f238e09d8..ab62aa723 100644 --- a/core/analytics/src/google/kotlin/org/meshtastic/core/analytics/platform/GooglePlatformAnalytics.kt +++ b/core/analytics/src/google/kotlin/org/meshtastic/core/analytics/platform/GooglePlatformAnalytics.kt @@ -191,7 +191,7 @@ constructor( @OptIn(ExperimentalTrackingApi::class) @Composable - override fun addNavigationTrackingEffect(navController: NavHostController) = { + override fun AddNavigationTrackingEffect(navController: NavHostController) { if (Datadog.isInitialized()) { NavigationViewTrackingEffect( navController = navController, diff --git a/core/analytics/src/main/kotlin/org/meshtastic/core/analytics/platform/PlatformAnalytics.kt b/core/analytics/src/main/kotlin/org/meshtastic/core/analytics/platform/PlatformAnalytics.kt index e18d3e87e..fe3845e92 100644 --- a/core/analytics/src/main/kotlin/org/meshtastic/core/analytics/platform/PlatformAnalytics.kt +++ b/core/analytics/src/main/kotlin/org/meshtastic/core/analytics/platform/PlatformAnalytics.kt @@ -17,6 +17,7 @@ package org.meshtastic.core.analytics.platform +import androidx.compose.runtime.Composable import androidx.navigation.NavHostController import org.meshtastic.core.analytics.DataPair @@ -41,7 +42,7 @@ interface PlatformAnalytics { * * @param navController The [NavHostController] to track. */ - fun addNavigationTrackingEffect(navController: NavHostController): () -> Unit + @Composable fun AddNavigationTrackingEffect(navController: NavHostController) /** * Indicates whether platform-specific services (like Google Play Services or Datadog) are available and diff --git a/core/model/build.gradle.kts b/core/model/build.gradle.kts index 3495b3158..14d3a591e 100644 --- a/core/model/build.gradle.kts +++ b/core/model/build.gradle.kts @@ -40,4 +40,5 @@ dependencies { implementation(libs.zxing.core) testImplementation(libs.androidx.core.ktx) + testImplementation(libs.kotlin.test) } diff --git a/core/ui/build.gradle.kts b/core/ui/build.gradle.kts index c8b790ffe..095cbdd0d 100644 --- a/core/ui/build.gradle.kts +++ b/core/ui/build.gradle.kts @@ -39,6 +39,7 @@ dependencies { implementation(libs.androidx.constraintlayout) implementation(libs.androidx.emoji2.emojipicker) implementation(libs.androidx.hilt.lifecycle.viewmodel.compose) + implementation(libs.androidx.navigation.compose) implementation(libs.kotlinx.coroutines.android) implementation(libs.kotlinx.coroutines.guava) implementation(libs.markdown.renderer) diff --git a/feature/map/build.gradle.kts b/feature/map/build.gradle.kts index 35a683bd0..48309211a 100644 --- a/feature/map/build.gradle.kts +++ b/feature/map/build.gradle.kts @@ -53,6 +53,7 @@ dependencies { implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.lifecycle.viewmodel.compose) implementation(libs.androidx.lifecycle.viewmodel.ktx) + implementation(libs.androidx.navigation.compose) implementation(libs.kotlinx.coroutines.android) implementation(libs.material) implementation(libs.mgrs) diff --git a/feature/settings/build.gradle.kts b/feature/settings/build.gradle.kts index cfca1d268..ca2b13264 100644 --- a/feature/settings/build.gradle.kts +++ b/feature/settings/build.gradle.kts @@ -45,6 +45,7 @@ dependencies { implementation(libs.androidx.compose.ui.tooling.preview) implementation(libs.androidx.constraintlayout) implementation(libs.androidx.hilt.lifecycle.viewmodel.compose) + implementation(libs.androidx.navigation.compose) implementation(libs.kotlinx.collections.immutable) implementation(libs.material) implementation(libs.timber) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 4a1c40f85..d1366d1b1 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -60,6 +60,7 @@ androidx-lifecycle-runtime-ktx = { module = "androidx.lifecycle:lifecycle-runtim androidx-lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "lifecycle" } androidx-lifecycle-viewmodel-ktx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "lifecycle" } androidx-navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "navigation" } +androidx-navigation-runtime = { module = "androidx.navigation:navigation-runtime", version.ref = "navigation" } androidx-navigation-testing = { module = "androidx.navigation:navigation-testing", version.ref = "navigation" } androidx-navigation3-runtime = { module = "androidx.navigation3:navigation3-runtime", version.ref = "navigation3" } androidx-navigation3-ui = { module = "androidx.navigation3:navigation3-ui", version.ref = "navigation3" }