feat: add nfc step 1
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.bitcointxoko.gudariwallet.ui
|
||||
|
||||
import android.util.Log
|
||||
import androidx.annotation.VisibleForTesting
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.bitcointxoko.gudariwallet.api.LnurlScanResponse
|
||||
@@ -16,6 +17,7 @@ import com.bitcointxoko.gudariwallet.data.LightningAddressStore
|
||||
import com.bitcointxoko.gudariwallet.ui.balance.BalanceViewModel
|
||||
import com.bitcointxoko.gudariwallet.ui.clipboard.ClipboardViewModel
|
||||
import com.bitcointxoko.gudariwallet.ui.fiat.FiatViewModel
|
||||
import com.bitcointxoko.gudariwallet.ui.nfc.NfcViewModel
|
||||
import com.bitcointxoko.gudariwallet.ui.receive.ReceiveViewModel
|
||||
import com.bitcointxoko.gudariwallet.ui.send.SendViewModel
|
||||
import kotlinx.coroutines.flow.SharingStarted
|
||||
@@ -33,7 +35,8 @@ class WalletViewModel(
|
||||
val fiatVm : FiatViewModel,
|
||||
val receiveVm : ReceiveViewModel,
|
||||
val sendVm : SendViewModel,
|
||||
val clipboardVm : ClipboardViewModel,
|
||||
val clipboardVm : ClipboardViewModel,
|
||||
val nfcVm : NfcViewModel
|
||||
) : ViewModel() {
|
||||
val balanceState: StateFlow<BalanceState> get() = balanceVm.balanceState
|
||||
val balanceHidden: StateFlow<Boolean> get() = fiatVm.balanceHidden
|
||||
@@ -62,9 +65,7 @@ class WalletViewModel(
|
||||
fun requestPayment(activity: FragmentActivity, subtitle: String, pay: () -> Unit) =
|
||||
sendVm.requestPayment(activity, subtitle, pay)
|
||||
fun resetSendState() = sendVm.resetSendState()
|
||||
val clipboardOfferState: StateFlow<ClipboardOfferState> get() = clipboardVm.clipboardOfferState
|
||||
fun checkClipboard(text: String?) = clipboardVm.checkClipboard(text)
|
||||
fun dismissClipboardOffer() = clipboardVm.dismissClipboardOffer()
|
||||
|
||||
val lightningAddress: StateFlow<String?> = lnAddressStore.lightningAddressFlow
|
||||
.stateIn(
|
||||
scope = viewModelScope,
|
||||
@@ -72,6 +73,21 @@ class WalletViewModel(
|
||||
initialValue = null
|
||||
)
|
||||
|
||||
val clipboardOfferState: StateFlow<ClipboardOfferState> get() = clipboardVm.clipboardOfferState
|
||||
fun checkClipboard(text: String?) = clipboardVm.checkClipboard(text)
|
||||
fun dismissClipboardOffer() = clipboardVm.dismissClipboardOffer()
|
||||
|
||||
val nfcOfferState: StateFlow<NfcOfferState> = nfcVm.nfcOfferState
|
||||
|
||||
fun onNfcTagDiscovered(tag: android.nfc.Tag) = nfcVm.onTagDiscovered(tag)
|
||||
@VisibleForTesting
|
||||
fun onNfcTagRead(text: String?) = nfcVm.onNfcTagRead(text)
|
||||
fun dismissNfcOffer() = nfcVm.dismissNfcOffer()
|
||||
val nfcBroadcastState: StateFlow<NfcViewModel.NfcBroadcastState> get() = nfcVm.broadcastState
|
||||
fun startNfcBroadcast(payload: String) = nfcVm.startBroadcast(payload)
|
||||
fun cancelNfcBroadcast() = nfcVm.cancelBroadcast()
|
||||
fun dismissNfcBroadcastResult() = nfcVm.dismissBroadcastResult()
|
||||
|
||||
init {
|
||||
observePaymentEvents()
|
||||
fetchLightningAddress()
|
||||
|
||||
Reference in New Issue
Block a user