Added configuration to support QR scanning.
This commit is contained in:
parent
8ef4edd88b
commit
4922d690e9
|
@ -4,6 +4,7 @@ apply plugin: 'com.android.application'
|
|||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'kotlin-android-extensions'
|
||||
apply plugin: 'kotlin-kapt'
|
||||
apply plugin: 'com.google.gms.google-services'
|
||||
//apply plugin: 'com.github.ben-manes.versions'
|
||||
|
||||
archivesBaseName = 'zcash-android-wallet'
|
||||
|
@ -135,6 +136,14 @@ dependencies {
|
|||
|
||||
implementation 'com.mixpanel.android:mixpanel-android:5.6.3'
|
||||
|
||||
// QR Scanning
|
||||
implementation 'com.google.firebase:firebase-ml-vision:24.0.1'
|
||||
implementation 'androidx.camera:camera-core:1.0.0-alpha08'
|
||||
implementation 'androidx.camera:camera-camera2:1.0.0-alpha08'
|
||||
implementation "androidx.camera:camera-view:1.0.0-alpha05"
|
||||
implementation "androidx.camera:camera-extensions:1.0.0-alpha05"
|
||||
implementation "androidx.camera:camera-lifecycle:1.0.0-alpha02"
|
||||
|
||||
// Tests
|
||||
|
||||
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
package="cash.z.ecc.android">
|
||||
|
||||
<uses-permission android:name="android.permission.VIBRATE"/>
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
|
||||
<application
|
||||
android:name="cash.z.ecc.android.ZcashWalletApp"
|
||||
|
@ -19,6 +20,9 @@
|
|||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
<!-- Firebase options -->
|
||||
<meta-data android:name="com.google.firebase.ml.vision.DEPENDENCIES" android:value="barcode" />
|
||||
|
||||
<!-- Mixpanel options -->
|
||||
<meta-data android:name="com.mixpanel.android.MPConfig.AutoShowMixpanelUpdates" android:value="false" />
|
||||
<meta-data android:name="com.mixpanel.android.MPConfig.EnableDebugLogging" android:value="false" />
|
||||
|
|
|
@ -3,6 +3,8 @@ package cash.z.ecc.android
|
|||
import android.app.Application
|
||||
import android.content.Context
|
||||
import android.os.Build
|
||||
import androidx.camera.camera2.Camera2Config
|
||||
import androidx.camera.core.CameraXConfig
|
||||
import cash.z.ecc.android.di.component.AppComponent
|
||||
import cash.z.ecc.android.di.component.DaggerAppComponent
|
||||
import cash.z.wallet.sdk.ext.TroubleshootingTwig
|
||||
|
@ -10,7 +12,7 @@ import cash.z.wallet.sdk.ext.Twig
|
|||
import cash.z.wallet.sdk.ext.twig
|
||||
|
||||
|
||||
class ZcashWalletApp : Application() {
|
||||
class ZcashWalletApp : Application(), CameraXConfig.Provider {
|
||||
|
||||
var creationTime: Long = 0
|
||||
private set
|
||||
|
@ -33,6 +35,10 @@ class ZcashWalletApp : Application() {
|
|||
// MultiDex.install(this)
|
||||
}
|
||||
|
||||
override fun getCameraXConfig(): CameraXConfig {
|
||||
return Camera2Config.defaultConfig()
|
||||
}
|
||||
|
||||
companion object {
|
||||
lateinit var instance: ZcashWalletApp
|
||||
lateinit var component: AppComponent
|
||||
|
|
|
@ -9,6 +9,7 @@ import cash.z.ecc.android.di.viewmodel.ViewModelFactory
|
|||
import cash.z.ecc.android.ui.detail.WalletDetailViewModel
|
||||
import cash.z.ecc.android.ui.home.HomeViewModel
|
||||
import cash.z.ecc.android.ui.receive.ReceiveViewModel
|
||||
import cash.z.ecc.android.ui.scan.ScanViewModel
|
||||
import cash.z.ecc.android.ui.send.SendViewModel
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
|
@ -44,6 +45,11 @@ abstract class ViewModelsSynchronizerModule {
|
|||
@ViewModelKey(ReceiveViewModel::class)
|
||||
abstract fun bindReceiveViewModel(implementation: ReceiveViewModel): ViewModel
|
||||
|
||||
@SynchronizerScope
|
||||
@Binds
|
||||
@IntoMap
|
||||
@ViewModelKey(ScanViewModel::class)
|
||||
abstract fun bindScanViewModel(implementation: ScanViewModel): ViewModel
|
||||
|
||||
/**
|
||||
* Factory for view models that are not created until the Synchronizer exists. Only VMs that
|
||||
|
|
|
@ -6,6 +6,7 @@ import android.view.View
|
|||
import androidx.lifecycle.lifecycleScope
|
||||
import cash.z.ecc.android.R
|
||||
import cash.z.ecc.android.databinding.FragmentSendConfirmBinding
|
||||
import cash.z.ecc.android.di.viewmodel.activityViewModel
|
||||
import cash.z.ecc.android.di.viewmodel.viewModel
|
||||
import cash.z.ecc.android.ext.goneIf
|
||||
import cash.z.ecc.android.ext.onClickNavBack
|
||||
|
@ -16,7 +17,7 @@ import kotlinx.coroutines.launch
|
|||
|
||||
class SendConfirmFragment : BaseFragment<FragmentSendConfirmBinding>() {
|
||||
|
||||
val sendViewModel: SendViewModel by viewModel()
|
||||
val sendViewModel: SendViewModel by activityViewModel()
|
||||
|
||||
override fun inflate(inflater: LayoutInflater): FragmentSendConfirmBinding =
|
||||
FragmentSendConfirmBinding.inflate(inflater)
|
||||
|
|
|
@ -7,6 +7,7 @@ import android.view.View
|
|||
import androidx.lifecycle.lifecycleScope
|
||||
import cash.z.ecc.android.R
|
||||
import cash.z.ecc.android.databinding.FragmentSendFinalBinding
|
||||
import cash.z.ecc.android.di.viewmodel.activityViewModel
|
||||
import cash.z.ecc.android.di.viewmodel.viewModel
|
||||
import cash.z.ecc.android.ext.goneIf
|
||||
import cash.z.ecc.android.ui.base.BaseFragment
|
||||
|
@ -22,7 +23,7 @@ import kotlin.random.Random
|
|||
|
||||
class SendFinalFragment : BaseFragment<FragmentSendFinalBinding>() {
|
||||
|
||||
val sendViewModel: SendViewModel by viewModel()
|
||||
val sendViewModel: SendViewModel by activityViewModel()
|
||||
|
||||
override fun inflate(inflater: LayoutInflater): FragmentSendFinalBinding =
|
||||
FragmentSendFinalBinding.inflate(inflater)
|
||||
|
|
|
@ -6,13 +6,14 @@ import android.view.View
|
|||
import android.view.inputmethod.EditorInfo
|
||||
import cash.z.ecc.android.R
|
||||
import cash.z.ecc.android.databinding.FragmentSendMemoBinding
|
||||
import cash.z.ecc.android.di.viewmodel.activityViewModel
|
||||
import cash.z.ecc.android.di.viewmodel.viewModel
|
||||
import cash.z.ecc.android.ext.onClickNavBack
|
||||
import cash.z.ecc.android.ui.base.BaseFragment
|
||||
|
||||
class SendMemoFragment : BaseFragment<FragmentSendMemoBinding>() {
|
||||
|
||||
val sendViewModel: SendViewModel by viewModel()
|
||||
val sendViewModel: SendViewModel by activityViewModel()
|
||||
|
||||
override fun inflate(inflater: LayoutInflater): FragmentSendMemoBinding =
|
||||
FragmentSendMemoBinding.inflate(inflater)
|
||||
|
|
|
@ -6,7 +6,8 @@ buildscript {
|
|||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.6.0-beta04'
|
||||
classpath 'com.android.tools.build:gradle:3.6.0-rc01'
|
||||
classpath 'com.google.gms:google-services:4.3.3'
|
||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${Deps.kotlinVersion}"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#Sun Nov 24 16:57:24 EST 2019
|
||||
#Tue Jan 07 12:00:21 EST 2020
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.1-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
|
||||
|
|
Loading…
Reference in New Issue