From 00b98e70a17de0beeacb8d698b6fef896ec3349a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20W=C3=BCnsch?= Date: Wed, 20 Sep 2023 10:39:49 +0200 Subject: [PATCH] Fix crashes --- .../withdraw/LnUrlWithdrawBSDFragment.java | 23 +++++++++++-------- .../michaelwuensch/bitbanana/util/Wallet.java | 17 ++++++++------ 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/app/michaelwuensch/bitbanana/lnurl/withdraw/LnUrlWithdrawBSDFragment.java b/app/src/main/java/app/michaelwuensch/bitbanana/lnurl/withdraw/LnUrlWithdrawBSDFragment.java index b22f540c..c418914f 100644 --- a/app/src/main/java/app/michaelwuensch/bitbanana/lnurl/withdraw/LnUrlWithdrawBSDFragment.java +++ b/app/src/main/java/app/michaelwuensch/bitbanana/lnurl/withdraw/LnUrlWithdrawBSDFragment.java @@ -31,10 +31,6 @@ import java.net.MalformedURLException; import java.net.URL; -import okhttp3.Call; -import okhttp3.Callback; -import okhttp3.Request; -import okhttp3.Response; import app.michaelwuensch.bitbanana.R; import app.michaelwuensch.bitbanana.connection.HttpClient; import app.michaelwuensch.bitbanana.connection.lndConnection.LndConnection; @@ -43,10 +39,14 @@ import app.michaelwuensch.bitbanana.customView.BSDScrollableMainView; import app.michaelwuensch.bitbanana.customView.NumpadView; import app.michaelwuensch.bitbanana.fragments.BaseBSDFragment; +import app.michaelwuensch.bitbanana.util.BBLog; import app.michaelwuensch.bitbanana.util.MonetaryUtil; import app.michaelwuensch.bitbanana.util.PrefsUtil; import app.michaelwuensch.bitbanana.util.Wallet; -import app.michaelwuensch.bitbanana.util.BBLog; +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.Request; +import okhttp3.Response; public class LnUrlWithdrawBSDFragment extends BaseBSDFragment { @@ -379,11 +379,16 @@ public void onClick(View v) { private void validateSecondResponse(@NonNull String withdrawResponse) { LnUrlWithdrawResponse lnUrlWithdrawResponse = new Gson().fromJson(withdrawResponse, LnUrlWithdrawResponse.class); - if (lnUrlWithdrawResponse.getStatus().equals("OK")) { - switchToSuccessScreen(); + if (lnUrlWithdrawResponse.getStatus() != null) { + if (lnUrlWithdrawResponse.getStatus().equals("OK")) { + switchToSuccessScreen(); + } else { + BBLog.d(LOG_TAG, "LNURL: Failed to withdraw. " + lnUrlWithdrawResponse.getReason()); + switchToFailedScreen(lnUrlWithdrawResponse.getReason()); + } } else { - BBLog.d(LOG_TAG, "LNURL: Failed to withdraw. " + lnUrlWithdrawResponse.getReason()); - switchToFailedScreen(lnUrlWithdrawResponse.getReason()); + BBLog.d(LOG_TAG, "LNURL: Failed to withdraw. " + withdrawResponse); + switchToFailedScreen(withdrawResponse); } } diff --git a/app/src/main/java/app/michaelwuensch/bitbanana/util/Wallet.java b/app/src/main/java/app/michaelwuensch/bitbanana/util/Wallet.java index 65c6b4c5..ef86dc0f 100644 --- a/app/src/main/java/app/michaelwuensch/bitbanana/util/Wallet.java +++ b/app/src/main/java/app/michaelwuensch/bitbanana/util/Wallet.java @@ -19,7 +19,6 @@ import com.github.lightningnetwork.lnd.lnrpc.GetInfoRequest; import com.github.lightningnetwork.lnd.lnrpc.GetStateRequest; import com.github.lightningnetwork.lnd.lnrpc.GetTransactionsRequest; -import com.github.lightningnetwork.lnd.lnrpc.Initiator; import com.github.lightningnetwork.lnd.lnrpc.Invoice; import com.github.lightningnetwork.lnd.lnrpc.InvoiceSubscription; import com.github.lightningnetwork.lnd.lnrpc.LightningAddress; @@ -923,15 +922,19 @@ public void fetchLockedUTXOs() { * @return remote pub key */ public String getRemotePubKeyFromChannelId(long chanId) { - for (Channel channel : mOpenChannelsList) { - if (channel.getChanId() == chanId) { - return channel.getRemotePubkey(); + if (mOpenChannelsList != null) { + for (Channel channel : mOpenChannelsList) { + if (channel.getChanId() == chanId) { + return channel.getRemotePubkey(); + } } } // ToDo: Add pending channels - for (ChannelCloseSummary channelCloseSummary : mClosedChannelsList) { - if (channelCloseSummary.getChanId() == chanId) - return channelCloseSummary.getRemotePubkey(); + if (mClosedChannelsList != null) { + for (ChannelCloseSummary channelCloseSummary : mClosedChannelsList) { + if (channelCloseSummary.getChanId() == chanId) + return channelCloseSummary.getRemotePubkey(); + } } return null;