Cleanup after PR review.
This commit is contained in:
@@ -24,9 +24,9 @@ import android.os.SystemClock
|
|||||||
class FirstThrottler(private val minimumInterval: Long = 800) {
|
class FirstThrottler(private val minimumInterval: Long = 800) {
|
||||||
private var lastDate = 0L
|
private var lastDate = 0L
|
||||||
|
|
||||||
sealed class CanHandlerResult {
|
sealed class CanHandleResult {
|
||||||
object Yes : CanHandlerResult()
|
object Yes : CanHandleResult()
|
||||||
data class No(val shouldWaitMillis: Long) : CanHandlerResult()
|
data class No(val shouldWaitMillis: Long) : CanHandleResult()
|
||||||
|
|
||||||
fun waitMillis(): Long {
|
fun waitMillis(): Long {
|
||||||
return when (this) {
|
return when (this) {
|
||||||
@@ -36,15 +36,15 @@ class FirstThrottler(private val minimumInterval: Long = 800) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun canHandle(): CanHandlerResult {
|
fun canHandle(): CanHandleResult {
|
||||||
val now = SystemClock.elapsedRealtime()
|
val now = SystemClock.elapsedRealtime()
|
||||||
val delaySinceLast = now - lastDate
|
val delaySinceLast = now - lastDate
|
||||||
if (delaySinceLast > minimumInterval) {
|
if (delaySinceLast > minimumInterval) {
|
||||||
lastDate = now
|
lastDate = now
|
||||||
return CanHandlerResult.Yes
|
return CanHandleResult.Yes
|
||||||
}
|
}
|
||||||
|
|
||||||
// Too soon
|
// Too early
|
||||||
return CanHandlerResult.No(minimumInterval - delaySinceLast)
|
return CanHandleResult.No(minimumInterval - delaySinceLast)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,3 @@ plugins {
|
|||||||
android {
|
android {
|
||||||
namespace = "io.element.android.services.analytics.api"
|
namespace = "io.element.android.services.analytics.api"
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
|
||||||
// implementation(libs.coroutines.core)
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -26,30 +26,10 @@ import javax.inject.Inject
|
|||||||
|
|
||||||
@ContributesBinding(AppScope::class)
|
@ContributesBinding(AppScope::class)
|
||||||
class AndroidStringProvider @Inject constructor(private val resources: Resources) : StringProvider {
|
class AndroidStringProvider @Inject constructor(private val resources: Resources) : StringProvider {
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns a localized string from the application's package's
|
|
||||||
* default string table.
|
|
||||||
*
|
|
||||||
* @param resId Resource id for the string
|
|
||||||
* @return The string data associated with the resource, stripped of styled
|
|
||||||
* text information.
|
|
||||||
*/
|
|
||||||
override fun getString(@StringRes resId: Int): String {
|
override fun getString(@StringRes resId: Int): String {
|
||||||
return resources.getString(resId)
|
return resources.getString(resId)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns a localized formatted string from the application's package's
|
|
||||||
* default string table, substituting the format arguments as defined in
|
|
||||||
* [java.util.Formatter] and [java.lang.String.format].
|
|
||||||
*
|
|
||||||
* @param resId Resource id for the format string
|
|
||||||
* @param formatArgs The format arguments that will be used for
|
|
||||||
* substitution.
|
|
||||||
* @return The string data associated with the resource, formatted and
|
|
||||||
* stripped of styled text information.
|
|
||||||
*/
|
|
||||||
override fun getString(@StringRes resId: Int, vararg formatArgs: Any?): String {
|
override fun getString(@StringRes resId: Int, vararg formatArgs: Any?): String {
|
||||||
return resources.getString(resId, *formatArgs)
|
return resources.getString(resId, *formatArgs)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user