Add AnalyticsService.cancelLongRunningTransaction and AnalyticsService.finishLongRunningTransaction

This commit is contained in:
Jorge Martín 2025-11-27 12:27:49 +01:00 committed by Jorge Martin Espinosa
parent 1d77aa447d
commit 1c576fd42d
7 changed files with 37 additions and 9 deletions

View file

@ -70,6 +70,7 @@ import io.element.android.libraries.mediaplayer.api.MediaPlayer
import io.element.android.libraries.ui.strings.CommonStrings
import io.element.android.services.analytics.api.AnalyticsLongRunningTransaction.LoadMessagesUi
import io.element.android.services.analytics.api.AnalyticsService
import io.element.android.services.analytics.api.finishLongRunningTransaction
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.toImmutableList
import kotlinx.coroutines.CoroutineScope
@ -138,7 +139,7 @@ class MessagesNode(
sessionCoroutineScope.launch { analyticsService.capture(room.toAnalyticsViewRoom()) }
},
onResume = {
analyticsService.removeLongRunningTransaction(LoadMessagesUi)?.finish()
analyticsService.finishLongRunningTransaction(LoadMessagesUi)
},
onDestroy = {
mediaPlayer.close()

View file

@ -59,6 +59,7 @@ import io.element.android.services.analytics.api.AnalyticsLongRunningTransaction
import io.element.android.services.analytics.api.AnalyticsLongRunningTransaction.NotificationTapOpensTimeline
import io.element.android.services.analytics.api.AnalyticsLongRunningTransaction.OpenRoom
import io.element.android.services.analytics.api.AnalyticsService
import io.element.android.services.analytics.api.finishLongRunningTransaction
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
import kotlinx.coroutines.CoroutineScope
@ -239,9 +240,9 @@ class TimelinePresenter(
timelineItems = newTimelineItems
analyticsService.run {
removeLongRunningTransaction(DisplayFirstTimelineItems)?.finish()
removeLongRunningTransaction(OpenRoom)?.finish()
removeLongRunningTransaction(NotificationTapOpensTimeline)?.finish()
finishLongRunningTransaction(DisplayFirstTimelineItems)
finishLongRunningTransaction(OpenRoom)
finishLongRunningTransaction(NotificationTapOpensTimeline)
}
}
.launchIn(this)