forked from hush/SilentDragonAndroid
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.4 KiB
44 lines
1.4 KiB
package cash.z.ecc.android.di
|
|
|
|
import android.content.ClipboardManager
|
|
import android.content.Context
|
|
import cash.z.ecc.android.ZcashWalletApp
|
|
import cash.z.ecc.android.ext.Const
|
|
import cash.z.ecc.android.feedback.*
|
|
import cash.z.ecc.android.lockbox.LockBox
|
|
import cash.z.ecc.android.sdk.Synchronizer
|
|
import cash.z.ecc.android.ui.util.DebugFileTwig
|
|
import cash.z.ecc.android.util.SilentTwig
|
|
import cash.z.ecc.android.util.Twig
|
|
import cash.z.ecc.kotlin.mnemonic.Mnemonics
|
|
|
|
object DependenciesHolder {
|
|
|
|
fun provideAppContext(): Context = ZcashWalletApp.instance
|
|
|
|
val initializerComponent by lazy { InitializerComponent() }
|
|
|
|
val synchronizer by lazy { Synchronizer.newBlocking(initializerComponent.initializer) }
|
|
|
|
val clipboardManager by lazy { provideAppContext().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager }
|
|
|
|
val lockBox by lazy { LockBox(provideAppContext()) }
|
|
|
|
val prefs by lazy { LockBox(provideAppContext()) }
|
|
|
|
val feedback by lazy { Feedback() }
|
|
|
|
val feedbackCoordinator by lazy {
|
|
lockBox.getBoolean(Const.Pref.FEEDBACK_ENABLED).let { isEnabled ->
|
|
// observe nothing unless feedback is enabled
|
|
Twig.plant(if (isEnabled) DebugFileTwig() else SilentTwig())
|
|
FeedbackCoordinator(feedback)
|
|
}
|
|
}
|
|
|
|
val feedbackFile by lazy { FeedbackFile() }
|
|
|
|
val feedbackConsole by lazy { FeedbackConsole() }
|
|
|
|
val mnemonics by lazy { Mnemonics() }
|
|
}
|
|
|