From b775c1bf74c8eedc30b3f931d8c0e6694a74b272 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Tue, 11 Jun 2024 11:22:09 -0400 Subject: [PATCH] Avoids showing error message if devs have removed their lnadress on the Zap the Devs card. --- .../amethyst/service/ZapPaymentHandler.kt | 26 ++++++++++++------- .../amethyst/ui/note/PollNote.kt | 2 ++ .../amethyst/ui/note/ReactionsRow.kt | 2 ++ .../ui/note/elements/ZapTheDevsCard.kt | 1 + .../ui/screen/loggedIn/AccountViewModel.kt | 2 ++ 5 files changed, 23 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/ZapPaymentHandler.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/ZapPaymentHandler.kt index 8f31cf3bc..1be72d856 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/ZapPaymentHandler.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/ZapPaymentHandler.kt @@ -55,6 +55,7 @@ class ZapPaymentHandler(val account: Account) { pollOption: Int?, message: String, context: Context, + showErrorIfNoLnAddress: Boolean, onError: (String, String) -> Unit, onProgress: (percent: Float) -> Unit, onPayViaIntent: (ImmutableList) -> Unit, @@ -112,7 +113,7 @@ class ZapPaymentHandler(val account: Account) { onProgress(0.05f) } - assembleAllInvoices(splitZapRequestPairs.toList(), amountMilliSats, message, onError, onProgress = { + assembleAllInvoices(splitZapRequestPairs.toList(), amountMilliSats, message, showErrorIfNoLnAddress, onError, onProgress = { onProgress(it * 0.7f + 0.05f) // keeps within range. }, context) { if (it.isEmpty()) { @@ -195,6 +196,7 @@ class ZapPaymentHandler(val account: Account) { invoices: List>, totalAmountMilliSats: Long, message: String, + showErrorIfNoLnAddress: Boolean, onError: (String, String) -> Unit, onProgress: (percent: Float) -> Unit, context: Context, @@ -211,6 +213,7 @@ class ZapPaymentHandler(val account: Account) { nostrZapRequest = splitZapRequestPair.second.zapRequestJson, zapValue = calculateZapValue(totalAmountMilliSats, splitZapRequestPair.first.weight, totalWeight), message = message, + showErrorIfNoLnAddress = showErrorIfNoLnAddress, onError = onError, onProgressStep = { percentStepForThisPayment -> progressAllPayments += percentStepForThisPayment / invoices.size @@ -278,6 +281,7 @@ class ZapPaymentHandler(val account: Account) { nostrZapRequest: String, zapValue: Long, message: String, + showErrorIfNoLnAddress: Boolean = true, onError: (String, String) -> Unit, onProgressStep: (percent: Float) -> Unit, context: Context, @@ -314,15 +318,17 @@ class ZapPaymentHandler(val account: Account) { }, ) } else { - onError( - context.getString( - R.string.missing_lud16, - ), - context.getString( - R.string.user_x_does_not_have_a_lightning_address_setup_to_receive_sats, - user?.toBestDisplayName() ?: splitSetup.lnAddressOrPubKeyHex, - ), - ) + if (showErrorIfNoLnAddress) { + onError( + context.getString( + R.string.missing_lud16, + ), + context.getString( + R.string.user_x_does_not_have_a_lightning_address_setup_to_receive_sats, + user?.toBestDisplayName() ?: splitSetup.lnAddressOrPubKeyHex, + ), + ) + } } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/PollNote.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/PollNote.kt index 36a5038ec..d973d9185 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/PollNote.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/PollNote.kt @@ -550,6 +550,7 @@ fun FilteredZapAmountChoicePopup( pollOption, zapMessage, context, + true, onError, onProgress, onPayViaIntent, @@ -576,6 +577,7 @@ fun FilteredZapAmountChoicePopup( pollOption, zapMessage, context, + true, onError, onProgress, onPayViaIntent, diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ReactionsRow.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ReactionsRow.kt index e04288a17..709235f21 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ReactionsRow.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/ReactionsRow.kt @@ -1456,6 +1456,7 @@ fun ZapAmountChoicePopup( null, zapMessage, context, + true, onError, onProgress, onPayViaIntent, @@ -1482,6 +1483,7 @@ fun ZapAmountChoicePopup( null, zapMessage, context, + true, onError, onProgress, onPayViaIntent, diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/elements/ZapTheDevsCard.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/elements/ZapTheDevsCard.kt index 795ce2327..41ff8fe33 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/note/elements/ZapTheDevsCard.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/note/elements/ZapTheDevsCard.kt @@ -499,6 +499,7 @@ fun customZapClick( null, "", context, + showErrorIfNoLnAddress = false, onError = onError, onProgress = { onZappingProgress(it) }, zapType = accountViewModel.account.defaultZapType, diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt index 80acb0f91..e07fe9f12 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/AccountViewModel.kt @@ -503,6 +503,7 @@ class AccountViewModel(val account: Account, val settings: SettingsState) : View pollOption: Int?, message: String, context: Context, + showErrorIfNoLnAddress: Boolean = true, onError: (String, String) -> Unit, onProgress: (percent: Float) -> Unit, onPayViaIntent: (ImmutableList) -> Unit, @@ -516,6 +517,7 @@ class AccountViewModel(val account: Account, val settings: SettingsState) : View pollOption, message, context, + showErrorIfNoLnAddress, onError, onProgress = { onProgress(it)