aboutsummaryrefslogtreecommitdiff
path: root/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/utils/Coroutines.kt
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2022-01-17 02:06:41 -0600
committerIván Ávalos <avalos@disroot.org>2022-01-17 02:06:41 -0600
commite38960ff845bddbd463c43801ad01834f77474f2 (patch)
treeab217c135c9166a6d1e03cc000c021859f640321 /shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/utils/Coroutines.kt
parent6858de4bf2ba110abc29078194135d971ce71aa5 (diff)
downloadetbsa-trackermap-mobile-e38960ff845bddbd463c43801ad01834f77474f2.tar.gz
etbsa-trackermap-mobile-e38960ff845bddbd463c43801ad01834f77474f2.tar.bz2
etbsa-trackermap-mobile-e38960ff845bddbd463c43801ad01834f77474f2.zip
Implemented timer that fetches units every 10 seconds, and updated map to work with timer
Diffstat (limited to 'shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/utils/Coroutines.kt')
-rw-r--r--shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/utils/Coroutines.kt20
1 files changed, 20 insertions, 0 deletions
diff --git a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/utils/Coroutines.kt b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/utils/Coroutines.kt
new file mode 100644
index 0000000..c953887
--- /dev/null
+++ b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/utils/Coroutines.kt
@@ -0,0 +1,20 @@
+package mx.trackermap.TrackerMap.utils
+
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.flow.flow
+import kotlin.time.Duration
+import kotlin.time.ExperimentalTime
+
+class Coroutines {
+ companion object {
+ // Source: https://stackoverflow.com/questions/54827455/how-to-implement-timer-with-kotlin-coroutines/54828055#54828055
+ @ExperimentalTime
+ fun tickerFlow(period: Duration, initialDelay: Duration = Duration.ZERO) = flow {
+ delay(initialDelay)
+ while (true) {
+ emit(Unit)
+ delay(period)
+ }
+ }
+ }
+} \ No newline at end of file