diff options
author | Harsh Shandilya <me@msfjarvis.dev> | 2021-12-09 10:07:54 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-09 04:37:54 +0000 |
commit | 8db0b67ce9ba4a5e56c04c1bea3a738eacb176cf (patch) | |
tree | 46700b7a3da32065e073bffbf22765c7e2f30d32 /format-common/src/main | |
parent | 933558caf8266677dc26497d7c7b930254f4fb07 (diff) |
Refactor coroutine testing setup (#1583)
* coroutine-utils: init
* coroutine-utils-testing: init
* format-common: switch over to using DispatcherProvider
* Convert Binds method to an extension function
* Add Dispatcher module
Diffstat (limited to 'format-common/src/main')
-rw-r--r-- | format-common/src/main/kotlin/dev/msfjarvis/aps/data/passfile/PasswordEntry.kt | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/format-common/src/main/kotlin/dev/msfjarvis/aps/data/passfile/PasswordEntry.kt b/format-common/src/main/kotlin/dev/msfjarvis/aps/data/passfile/PasswordEntry.kt index 408069a2..81398b45 100644 --- a/format-common/src/main/kotlin/dev/msfjarvis/aps/data/passfile/PasswordEntry.kt +++ b/format-common/src/main/kotlin/dev/msfjarvis/aps/data/passfile/PasswordEntry.kt @@ -9,6 +9,7 @@ import com.github.michaelbull.result.mapBoth import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject +import dev.msfjarvis.aps.util.coroutines.DispatcherProvider import dev.msfjarvis.aps.util.time.UserClock import dev.msfjarvis.aps.util.totp.Otp import dev.msfjarvis.aps.util.totp.TotpFinder @@ -32,6 +33,8 @@ constructor( clock: UserClock, /** [TotpFinder] implementation to extract data from a TOTP URI */ totpFinder: TotpFinder, + /** Instance of [DispatcherProvider] to select an IO dispatcher for emitting TOTP values. */ + dispatcherProvider: DispatcherProvider, /** * A cancellable [CoroutineScope] inside which we constantly emit new TOTP values as time elapses */ @@ -81,7 +84,7 @@ constructor( username = findUsername() totpSecret = totpFinder.findSecret(content) if (totpSecret != null) { - scope.launch { + scope.launch(dispatcherProvider.io()) { val digits = totpFinder.findDigits(content) val totpPeriod = totpFinder.findPeriod(content) val totpAlgorithm = totpFinder.findAlgorithm(content) |