That fuck shit the fascists are using
1package org.tm.archive.sharing
2
3import androidx.annotation.Discouraged
4import org.signal.core.util.ThreadUtil
5import kotlin.time.Duration
6import kotlin.time.Duration.Companion.milliseconds
7
8/**
9 * Default multi-share timestamp provider, which will return a different timestamp on each invocation.
10 */
11open class MultiShareTimestampProvider(
12 private val getCurrentTime: () -> Duration = { System.currentTimeMillis().milliseconds },
13 private val sleepTimeout: Duration = 5.milliseconds
14) {
15
16 open fun getMillis(index: Int): Long {
17 return waitForTime().inWholeMilliseconds
18 }
19
20 protected fun waitForTime(): Duration {
21 ThreadUtil.sleep(sleepTimeout.inWholeMilliseconds)
22 return getCurrentTime()
23 }
24
25 companion object {
26 @JvmStatic
27 @Discouraged(message = "This only exists because of Java.")
28 fun create(): MultiShareTimestampProvider = MultiShareTimestampProvider()
29 }
30}