zcash-android-wallet-zcon1/zcash-android-wallet-app/app/src/mock/java/cash/z/android/wallet/di/module/SynchronizerModule.kt

47 lines
1.3 KiB
Kotlin
Raw Normal View History

2019-02-16 00:47:39 -08:00
package cash.z.android.wallet.di.module
import cash.z.android.qrecycler.QScanner
import cash.z.android.wallet.sample.SampleQrScanner
import cash.z.wallet.sdk.data.MockSynchronizer
import cash.z.wallet.sdk.data.Synchronizer
import dagger.Module
import dagger.Provides
import javax.inject.Singleton
/**
* Module that contributes all the objects necessary for the synchronizer, which is basically everything that has
* application scope.
*/
@Module
internal object SynchronizerModule {
2019-02-21 22:47:44 -08:00
// const val MOCK_LOAD_DURATION = 3_000L
const val MOCK_LOAD_DURATION = 12_000L
2019-02-23 14:53:38 -08:00
const val MOCK_TX_INTERVAL = 20_000L
// const val MOCK_TX_INTERVAL = 5_000L
2019-02-21 22:47:44 -08:00
const val MOCK_ACTIVE_TX_STATE_CHANGE_INTERVAL = 7_000L
const val MOCK_IS_FIRST_RUN: Boolean = true
2019-02-16 00:47:39 -08:00
@JvmStatic
@Provides
@Singleton
fun provideQRScanner(): QScanner {
// TODO: make an MLKit scanner
return SampleQrScanner()
}
2019-02-16 00:47:39 -08:00
@JvmStatic
@Provides
@Singleton
fun provideSynchronizer(): Synchronizer {
return MockSynchronizer(
transactionInterval = MOCK_TX_INTERVAL,
initialLoadDuration = MOCK_LOAD_DURATION,
activeTransactionUpdateFrequency = MOCK_ACTIVE_TX_STATE_CHANGE_INTERVAL,
isFirstRun = MOCK_IS_FIRST_RUN
2019-02-16 00:47:39 -08:00
)
}
}