From e17b2ef670cb774e6587176e6f7ca8f624e7d6dd Mon Sep 17 00:00:00 2001 From: ZhangJun Date: Thu, 14 May 2020 10:57:02 +0800 Subject: [PATCH] fix utxo coins UI display, fix scan qrcode crash --- .../cobo/cold/ui/fragment/main/QRCodeScanFragment.java | 2 +- .../cobo/cold/ui/fragment/main/TransactionItem.java | 10 +++++----- .../cobo/cold/ui/fragment/main/TxConfirmFragment.java | 6 ++++-- .../com/cobo/cold/ui/fragment/main/TxFragment.java | 6 ++++-- .../main/electrum/ElectrumTxConfirmFragment.java | 7 +++++-- .../ui/fragment/main/electrum/ElectrumTxFragment.java | 7 +++++-- 6 files changed, 24 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/cobo/cold/ui/fragment/main/QRCodeScanFragment.java b/app/src/main/java/com/cobo/cold/ui/fragment/main/QRCodeScanFragment.java index 6a354e5..e5f4188 100644 --- a/app/src/main/java/com/cobo/cold/ui/fragment/main/QRCodeScanFragment.java +++ b/app/src/main/java/com/cobo/cold/ui/fragment/main/QRCodeScanFragment.java @@ -210,7 +210,7 @@ public class QRCodeScanFragment extends BaseFragment throw new XpubNotMatchException("xpub not match"); } return tx; - } catch (ElectrumTx.SerializationException e) { + } catch (ElectrumTx.SerializationException | IllegalArgumentException e) { e.printStackTrace(); } return null; diff --git a/app/src/main/java/com/cobo/cold/ui/fragment/main/TransactionItem.java b/app/src/main/java/com/cobo/cold/ui/fragment/main/TransactionItem.java index c162b58..b887117 100644 --- a/app/src/main/java/com/cobo/cold/ui/fragment/main/TransactionItem.java +++ b/app/src/main/java/com/cobo/cold/ui/fragment/main/TransactionItem.java @@ -17,26 +17,26 @@ package com.cobo.cold.ui.fragment.main; -import com.cobo.coinlib.utils.Coins; - import java.text.NumberFormat; public class TransactionItem { final int id; final String amount; final String address; + private final String coinCode; - public TransactionItem(int id, long amount, String address) { + public TransactionItem(int id, long amount, String address, String coinCode) { this.id = id; + this.coinCode = coinCode; this.amount = formatSatoshi(amount); this.address = address; } - static String formatSatoshi(long satoshi) { + private String formatSatoshi(long satoshi) { double value = satoshi / Math.pow(10, 8); NumberFormat nf = NumberFormat.getInstance(); nf.setMaximumFractionDigits(20); - return nf.format(value) + " " + Coins.BTC.coinCode(); + return nf.format(value) + " " + coinCode; } public int getId() { diff --git a/app/src/main/java/com/cobo/cold/ui/fragment/main/TxConfirmFragment.java b/app/src/main/java/com/cobo/cold/ui/fragment/main/TxConfirmFragment.java index 9b13d88..ae1bde2 100644 --- a/app/src/main/java/com/cobo/cold/ui/fragment/main/TxConfirmFragment.java +++ b/app/src/main/java/com/cobo/cold/ui/fragment/main/TxConfirmFragment.java @@ -209,7 +209,8 @@ public class TxConfirmFragment extends BaseFragment { } items.add(new TransactionItem(i, output.getLong("value"), - output.getString("address") + output.getString("address"), + txEntity.getCoinCode() )); } } catch (JSONException e) { @@ -232,7 +233,8 @@ public class TxConfirmFragment extends BaseFragment { for (int i = 0; i < inputs.length(); i++) { items.add(new TransactionItem(i, inputs.getJSONObject(i).getLong("value"), - inputs.getJSONObject(i).getString("address") + inputs.getJSONObject(i).getString("address"), + txEntity.getCoinCode() )); } String fromAddress = inputs.getJSONObject(0).getString("address"); diff --git a/app/src/main/java/com/cobo/cold/ui/fragment/main/TxFragment.java b/app/src/main/java/com/cobo/cold/ui/fragment/main/TxFragment.java index 8d6b421..2903d7b 100644 --- a/app/src/main/java/com/cobo/cold/ui/fragment/main/TxFragment.java +++ b/app/src/main/java/com/cobo/cold/ui/fragment/main/TxFragment.java @@ -121,7 +121,8 @@ public class TxFragment extends BaseFragment { } items.add(new TransactionItem(i, value, - output.getString("address") + output.getString("address"), + txEntity.getCoinCode() )); } } catch (JSONException e) { @@ -145,7 +146,8 @@ public class TxFragment extends BaseFragment { for (int i = 0; i < inputs.length(); i++) { items.add(new TransactionItem(i, inputs.getJSONObject(i).getLong("value"), - inputs.getJSONObject(i).getString("address") + inputs.getJSONObject(i).getString("address"), + txEntity.getCoinCode() )); } String fromAddress = inputs.getJSONObject(0).getString("address"); diff --git a/app/src/main/java/com/cobo/cold/ui/fragment/main/electrum/ElectrumTxConfirmFragment.java b/app/src/main/java/com/cobo/cold/ui/fragment/main/electrum/ElectrumTxConfirmFragment.java index 8c77669..b71dbbc 100644 --- a/app/src/main/java/com/cobo/cold/ui/fragment/main/electrum/ElectrumTxConfirmFragment.java +++ b/app/src/main/java/com/cobo/cold/ui/fragment/main/electrum/ElectrumTxConfirmFragment.java @@ -32,6 +32,7 @@ import androidx.navigation.Navigation; import com.cobo.coinlib.coins.BTC.Electrum.ElectrumTx; import com.cobo.coinlib.utils.Base43; +import com.cobo.coinlib.utils.Coins; import com.cobo.cold.R; import com.cobo.cold.Utilities; import com.cobo.cold.config.FeatureFlags; @@ -251,7 +252,8 @@ public class ElectrumTxConfirmFragment extends BaseFragment { for (int i = 0; i < outputs.length(); i++) { JSONObject out = outputs.getJSONObject(i); items.add(new TransactionItem(i, - out.getLong("value"), out.getString("address"))); + out.getLong("value"), out.getString("address"), + Coins.BTC.coinCode())); } } catch (JSONException e) { return; @@ -128,7 +130,8 @@ public class ElectrumTxFragment extends BaseFragment { for (int i = 0; i < outputs.length(); i++) { items.add(new TransactionItem(i, outputs.getJSONObject(i).getLong("value"), - outputs.getJSONObject(i).getString("address") + outputs.getJSONObject(i).getString("address"), + Coins.BTC.coinCode() )); } } catch (JSONException e) {