mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 12:07:28 +00:00
Add AnalyticsService.cancelLongRunningTransaction and AnalyticsService.finishLongRunningTransaction
This commit is contained in:
committed by
Jorge Martin Espinosa
parent
1d77aa447d
commit
1c576fd42d
+21
@@ -89,3 +89,24 @@ inline fun <T> AnalyticsService.recordTransaction(
|
||||
transaction.finish()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Cancels a long running transaction. It behaves the same as [AnalyticsService.removeLongRunningTransaction],
|
||||
* but it doesn't return the transaction so we can't finish it later.
|
||||
*/
|
||||
fun AnalyticsService.cancelLongRunningTransaction(
|
||||
longRunningTransaction: AnalyticsLongRunningTransaction
|
||||
) = removeLongRunningTransaction(longRunningTransaction)
|
||||
|
||||
/**
|
||||
* Finishes a long running transaction if it exists. Optionally performs an [action] with the transaction before finishing it.
|
||||
*/
|
||||
fun AnalyticsService.finishLongRunningTransaction(
|
||||
longRunningTransaction: AnalyticsLongRunningTransaction,
|
||||
action: (AnalyticsTransaction) -> Unit = {},
|
||||
) {
|
||||
removeLongRunningTransaction(longRunningTransaction)?.let {
|
||||
action(it)
|
||||
it.finish()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user