Have long running analytic transactions return actual transactions.

Also add `AnalyticsService.getLongRunningTransaction` and change `AnalyticsService.stopLongRunningTransaction` to `removeLongRunningTransaction`.
This commit is contained in:
Jorge Martín 2025-11-19 17:24:35 +01:00 committed by Jorge Martin Espinosa
parent d6adf93906
commit 766c23721e
5 changed files with 40 additions and 11 deletions

View file

@ -31,6 +31,7 @@ class FakeAnalyticsService(
val screenEvents = mutableListOf<VectorAnalyticsScreen>()
val trackedErrors = mutableListOf<Throwable>()
val capturedUserProperties = mutableListOf<UserProperties>()
val longRunningTransactions = mutableMapOf<AnalyticsLongRunningTransaction, AnalyticsTransaction>()
override fun getAvailableAnalyticsProviders(): Set<AnalyticsProvider> = emptySet()
@ -70,6 +71,16 @@ class FakeAnalyticsService(
}
override fun startTransaction(name: String, operation: String?): AnalyticsTransaction = NoopAnalyticsTransaction
override fun startLongRunningTransaction(longRunningTransaction: AnalyticsLongRunningTransaction) {}
override fun stopLongRunningTransaction(longRunningTransaction: AnalyticsLongRunningTransaction) {}
override fun startLongRunningTransaction(longRunningTransaction: AnalyticsLongRunningTransaction): AnalyticsTransaction {
longRunningTransactions[longRunningTransaction] = NoopAnalyticsTransaction
return NoopAnalyticsTransaction
}
override fun getLongRunningTransaction(longRunningTransaction: AnalyticsLongRunningTransaction): AnalyticsTransaction? {
return longRunningTransactions[longRunningTransaction]
}
override fun removeLongRunningTransaction(longRunningTransaction: AnalyticsLongRunningTransaction): AnalyticsTransaction? {
return longRunningTransactions.remove(longRunningTransaction)
}
}