From 8f67db3b0883e54200c9f02bc272c8c815f95390 Mon Sep 17 00:00:00 2001 From: Wojtek Zieba Date: Wed, 27 Mar 2024 19:41:05 +0100 Subject: [PATCH] feat: assign "debug" release, when app is not in `release` variant To declutter Sentry dashboard --- .../crashlogging/WPCrashLoggingDataProvider.kt | 7 ++++++- .../WPCrashLoggingDataProviderTest.kt | 17 +++++++++++++++++ build.gradle | 2 +- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/util/crashlogging/WPCrashLoggingDataProvider.kt b/WordPress/src/main/java/org/wordpress/android/util/crashlogging/WPCrashLoggingDataProvider.kt index 3e3c34eba720..74e9ab799112 100644 --- a/WordPress/src/main/java/org/wordpress/android/util/crashlogging/WPCrashLoggingDataProvider.kt +++ b/WordPress/src/main/java/org/wordpress/android/util/crashlogging/WPCrashLoggingDataProvider.kt @@ -5,6 +5,7 @@ import com.automattic.android.tracks.crashlogging.CrashLoggingDataProvider import com.automattic.android.tracks.crashlogging.CrashLoggingUser import com.automattic.android.tracks.crashlogging.EventLevel import com.automattic.android.tracks.crashlogging.ExtraKnownKey +import com.automattic.android.tracks.crashlogging.ReleaseName import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.flowOf @@ -48,7 +49,11 @@ class WPCrashLoggingDataProvider @Inject constructor( override val enableCrashLoggingLogs: Boolean = false override val locale: Locale get() = localeManager.getLocale() - override val releaseName: String = BuildConfig.VERSION_NAME + override val releaseName: ReleaseName = if (buildConfig.isDebug()) { + ReleaseName.SetByApplication("debug") + } else { + ReleaseName.SetByTracksLibrary + } override val sentryDSN: String = BuildConfig.SENTRY_DSN override val applicationContextProvider = flowOf(mapOf(WEBVIEW_VERSION to webviewVersionProvider.getVersion())) diff --git a/WordPress/src/test/java/org/wordpress/android/util/crashlogging/WPCrashLoggingDataProviderTest.kt b/WordPress/src/test/java/org/wordpress/android/util/crashlogging/WPCrashLoggingDataProviderTest.kt index 59fba639e06b..872db2a882ee 100644 --- a/WordPress/src/test/java/org/wordpress/android/util/crashlogging/WPCrashLoggingDataProviderTest.kt +++ b/WordPress/src/test/java/org/wordpress/android/util/crashlogging/WPCrashLoggingDataProviderTest.kt @@ -3,6 +3,7 @@ package org.wordpress.android.util.crashlogging import android.content.SharedPreferences import com.automattic.android.tracks.crashlogging.EventLevel.DEBUG import com.automattic.android.tracks.crashlogging.PerformanceMonitoringConfig +import com.automattic.android.tracks.crashlogging.ReleaseName import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.first import kotlinx.coroutines.test.runTest @@ -201,6 +202,22 @@ class WPCrashLoggingDataProviderTest : BaseUnitTest() { assertThat(sut.crashLoggingEnabled()).isTrue } + @Test + fun `should assign debug release in debug`() { + whenever(buildConfig.isDebug()).thenReturn(true) + reinitialize() + + assertThat(sut.releaseName).isEqualTo(ReleaseName.SetByApplication("debug")) + } + + @Test + fun `should delegate release name creation to tracks in release`() { + whenever(buildConfig.isDebug()).thenReturn(false) + reinitialize() + + assertThat(sut.releaseName).isEqualTo(ReleaseName.SetByTracksLibrary) + } + companion object { val TEST_ACCOUNT = AccountModel().apply { userId = 123L diff --git a/build.gradle b/build.gradle index ab4f0da0478f..17eac474a204 100644 --- a/build.gradle +++ b/build.gradle @@ -22,7 +22,7 @@ ext { // libs automatticAboutVersion = '1.4.0' automatticRestVersion = '1.0.8' - automatticTracksVersion = '3.6.0' + automatticTracksVersion = '4.0.2' gutenbergMobileVersion = 'v1.116.0-alpha2' wordPressAztecVersion = 'v2.1.1' wordPressFluxCVersion = '2.72.0'