Updated on 2026-08-14
This commit is contained in:
parent
184b74e7d2
commit
0433526469
4 changed files with 240 additions and 230 deletions
BIN
.idea/caches/build_file_checksums.ser
generated
BIN
.idea/caches/build_file_checksums.ser
generated
Binary file not shown.
|
|
@ -1,6 +1,7 @@
|
|||
package com.tangem.data.network.task.loaded_wallet;
|
||||
|
||||
import android.os.AsyncTask;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.tangem.data.network.request.ElectrumRequest;
|
||||
import com.tangem.data.network.task.ElectrumTask;
|
||||
|
|
@ -58,255 +59,269 @@ public class UpdateWalletInfoTask extends ElectrumTask {
|
|||
// Log.i("RequestWalletInfoTask", "onPostExecute[" + String.valueOf(loadedWallet.updateTasks.size()) + "]");
|
||||
// loadedWallet.updateTasks.remove(this);
|
||||
|
||||
CoinEngine engine = CoinEngineFactory.Create(loadedWallet.mCard.getBlockchain());
|
||||
try {
|
||||
CoinEngine engine = CoinEngineFactory.Create(
|
||||
loadedWallet.
|
||||
mCard.getBlockchain());
|
||||
|
||||
for (ElectrumRequest request : requests) {
|
||||
try {
|
||||
if (request.error == null) {
|
||||
if (request.isMethod(ElectrumRequest.METHOD_GetBalance)) {
|
||||
try {
|
||||
String mWalletAddress = request.getParams().getString(0);
|
||||
Long confBalance = request.getResult().getLong("confirmed");
|
||||
Long unconf = request.getResult().getLong("unconfirmed");
|
||||
loadedWallet.mCard.setBalanceRecieved(true);
|
||||
for (ElectrumRequest request : requests) {
|
||||
try {
|
||||
if (request.error == null) {
|
||||
if (request.isMethod(ElectrumRequest.METHOD_GetBalance)) {
|
||||
try {
|
||||
String mWalletAddress = request.getParams().getString(0);
|
||||
Long confBalance = request.getResult().getLong("confirmed");
|
||||
Long unconf = request.getResult().getLong("unconfirmed");
|
||||
loadedWallet.mCard.setBalanceRecieved(true);
|
||||
|
||||
if (sharedCounter != null) {
|
||||
boolean notEqualBalance = sharedCounter.UpdatePayload(new BigDecimal(String.valueOf(confBalance)));
|
||||
if (notEqualBalance)
|
||||
loadedWallet.mCard.setIsBalanceEqual(false);
|
||||
int counter = sharedCounter.requestCounter.incrementAndGet();
|
||||
if (counter != 1) {
|
||||
continue;
|
||||
if (sharedCounter != null) {
|
||||
boolean notEqualBalance = sharedCounter.UpdatePayload(new BigDecimal(String.valueOf(confBalance)));
|
||||
if (notEqualBalance)
|
||||
loadedWallet.mCard.setIsBalanceEqual(false);
|
||||
int counter = sharedCounter.requestCounter.incrementAndGet();
|
||||
if (counter != 1) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
loadedWallet.mCard.setBalanceConfirmed(confBalance);
|
||||
loadedWallet.mCard.setBalanceUnconfirmed(unconf);
|
||||
loadedWallet.mCard.setDecimalBalance(String.valueOf(confBalance));
|
||||
loadedWallet.mCard.setBalanceConfirmed(confBalance);
|
||||
loadedWallet.mCard.setBalanceUnconfirmed(unconf);
|
||||
loadedWallet.mCard.setDecimalBalance(String.valueOf(confBalance));
|
||||
|
||||
loadedWallet.mCard.setValidationNodeDescription(getValidationNodeDescription());
|
||||
} catch (JSONException e) {
|
||||
if (sharedCounter != null) {
|
||||
int errCounter = sharedCounter.errorRequest.incrementAndGet();
|
||||
loadedWallet.mCard.incFailedBalanceRequestCounter();
|
||||
if (errCounter >= sharedCounter.allRequest) {
|
||||
loadedWallet.mCard.setValidationNodeDescription(getValidationNodeDescription());
|
||||
} catch (JSONException e) {
|
||||
if (sharedCounter != null) {
|
||||
int errCounter = sharedCounter.errorRequest.incrementAndGet();
|
||||
loadedWallet.mCard.incFailedBalanceRequestCounter();
|
||||
if (errCounter >= sharedCounter.allRequest) {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate(e.toString());
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
}
|
||||
} else {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate(e.toString());
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
}
|
||||
} else {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate(e.toString());
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
}
|
||||
}
|
||||
} else if (request.isMethod(ElectrumRequest.METHOD_SendTransaction)) {
|
||||
try {
|
||||
String hashTX = request.getResultString();
|
||||
|
||||
} else if (request.isMethod(ElectrumRequest.METHOD_SendTransaction)) {
|
||||
try {
|
||||
LastSignStorage.setLastMessage(loadedWallet.mCard.getWallet(), hashTX);
|
||||
if (hashTX.startsWith("0x") || hashTX.startsWith("0X")) {
|
||||
hashTX = hashTX.substring(2);
|
||||
}
|
||||
BigInteger bigInt = new BigInteger(hashTX, 16); //TODO: очень плохой способ
|
||||
LastSignStorage.setTxWasSend(loadedWallet.mCard.getWallet());
|
||||
LastSignStorage.setLastMessage(loadedWallet.mCard.getWallet(), "");
|
||||
String hashTX = request.getResultString();
|
||||
|
||||
try {
|
||||
LastSignStorage.setLastMessage(loadedWallet.mCard.getWallet(), hashTX);
|
||||
if (hashTX.startsWith("0x") || hashTX.startsWith("0X")) {
|
||||
hashTX = hashTX.substring(2);
|
||||
}
|
||||
BigInteger bigInt = new BigInteger(hashTX, 16); //TODO: очень плохой способ
|
||||
LastSignStorage.setTxWasSend(loadedWallet.mCard.getWallet());
|
||||
LastSignStorage.setLastMessage(loadedWallet.mCard.getWallet(), "");
|
||||
// Log.e("TX_RESULT", hashTX);
|
||||
|
||||
} catch (Exception e) {
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
} catch (Exception e) {
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
loadedWallet.errorOnUpdate("Failed to send transaction. Try again.");
|
||||
}
|
||||
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate("Failed to send transaction. Try again.");
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
}
|
||||
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate("Failed to send transaction. Try again.");
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
}
|
||||
} else if (request.isMethod(ElectrumRequest.METHOD_ListUnspent)) {
|
||||
try {
|
||||
String mWalletAddress = request.getParams().getString(0);
|
||||
|
||||
JSONArray jsUnspentArray = request.getResultArray();
|
||||
} else if (request.isMethod(ElectrumRequest.METHOD_ListUnspent)) {
|
||||
try {
|
||||
loadedWallet.mCard.getUnspentTransactions().clear();
|
||||
String mWalletAddress = request.getParams().getString(0);
|
||||
|
||||
JSONArray jsUnspentArray = request.getResultArray();
|
||||
try {
|
||||
loadedWallet.mCard.getUnspentTransactions().clear();
|
||||
for (int i = 0; i < jsUnspentArray.length(); i++) {
|
||||
JSONObject jsUnspent = jsUnspentArray.getJSONObject(i);
|
||||
TangemCard.UnspentTransaction trUnspent = new TangemCard.UnspentTransaction();
|
||||
trUnspent.txID = jsUnspent.getString("tx_hash");
|
||||
trUnspent.Amount = jsUnspent.getInt("value");
|
||||
trUnspent.Height = jsUnspent.getInt("height");
|
||||
loadedWallet.mCard.getUnspentTransactions().add(trUnspent);
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate(e.toString());
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
}
|
||||
|
||||
for (int i = 0; i < jsUnspentArray.length(); i++) {
|
||||
JSONObject jsUnspent = jsUnspentArray.getJSONObject(i);
|
||||
TangemCard.UnspentTransaction trUnspent = new TangemCard.UnspentTransaction();
|
||||
trUnspent.txID = jsUnspent.getString("tx_hash");
|
||||
trUnspent.Amount = jsUnspent.getInt("value");
|
||||
trUnspent.Height = jsUnspent.getInt("height");
|
||||
loadedWallet.mCard.getUnspentTransactions().add(trUnspent);
|
||||
Integer height = jsUnspent.getInt("height");
|
||||
String hash = jsUnspent.getString("tx_hash");
|
||||
if (height != -1) {
|
||||
String nodeAddress = engine.GetNextNode(loadedWallet.mCard);
|
||||
int nodePort = engine.GetNextNodePort(loadedWallet.mCard);
|
||||
UpdateWalletInfoTask updateWalletInfoTask = new UpdateWalletInfoTask(loadedWallet, nodeAddress, nodePort);
|
||||
|
||||
// loadedWallet.updateTasks.add(updateWalletInfoTask);
|
||||
|
||||
updateWalletInfoTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.GetHeader(mWalletAddress, String.valueOf(height)),
|
||||
ElectrumRequest.GetTransaction(mWalletAddress, hash));
|
||||
}
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate(e.toString());
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
}
|
||||
|
||||
for (int i = 0; i < jsUnspentArray.length(); i++) {
|
||||
JSONObject jsUnspent = jsUnspentArray.getJSONObject(i);
|
||||
Integer height = jsUnspent.getInt("height");
|
||||
String hash = jsUnspent.getString("tx_hash");
|
||||
if (height != -1) {
|
||||
String nodeAddress = engine.GetNextNode(loadedWallet.mCard);
|
||||
int nodePort = engine.GetNextNodePort(loadedWallet.mCard);
|
||||
UpdateWalletInfoTask updateWalletInfoTask = new UpdateWalletInfoTask(loadedWallet, nodeAddress, nodePort);
|
||||
|
||||
// loadedWallet.updateTasks.add(updateWalletInfoTask);
|
||||
|
||||
updateWalletInfoTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.GetHeader(mWalletAddress, String.valueOf(height)),
|
||||
ElectrumRequest.GetTransaction(mWalletAddress, hash));
|
||||
}
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate(e.toString());
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
}
|
||||
} else if (request.isMethod(ElectrumRequest.METHOD_GetHistory)) {
|
||||
try {
|
||||
String mWalletAddress = request.getParams().getString(0);
|
||||
|
||||
JSONArray jsHistoryArray = request.getResultArray();
|
||||
} else if (request.isMethod(ElectrumRequest.METHOD_GetHistory)) {
|
||||
try {
|
||||
loadedWallet.mCard.getHistoryTransactions().clear();
|
||||
String mWalletAddress = request.getParams().getString(0);
|
||||
|
||||
JSONArray jsHistoryArray = request.getResultArray();
|
||||
try {
|
||||
loadedWallet.mCard.getHistoryTransactions().clear();
|
||||
for (int i = 0; i < jsHistoryArray.length(); i++) {
|
||||
JSONObject jsUnspent = jsHistoryArray.getJSONObject(i);
|
||||
TangemCard.HistoryTransaction trHistory = new TangemCard.HistoryTransaction();
|
||||
trHistory.txID = jsUnspent.getString("tx_hash");
|
||||
trHistory.Height = jsUnspent.getInt("height");
|
||||
loadedWallet.mCard.getHistoryTransactions().add(trHistory);
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate(e.toString());
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
}
|
||||
|
||||
for (int i = 0; i < jsHistoryArray.length(); i++) {
|
||||
JSONObject jsUnspent = jsHistoryArray.getJSONObject(i);
|
||||
TangemCard.HistoryTransaction trHistory = new TangemCard.HistoryTransaction();
|
||||
trHistory.txID = jsUnspent.getString("tx_hash");
|
||||
trHistory.Height = jsUnspent.getInt("height");
|
||||
loadedWallet.mCard.getHistoryTransactions().add(trHistory);
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate(e.toString());
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
}
|
||||
Integer height = jsUnspent.getInt("height");
|
||||
String hash = jsUnspent.getString("tx_hash");
|
||||
if (height != -1) {
|
||||
|
||||
for (int i = 0; i < jsHistoryArray.length(); i++) {
|
||||
JSONObject jsUnspent = jsHistoryArray.getJSONObject(i);
|
||||
Integer height = jsUnspent.getInt("height");
|
||||
String hash = jsUnspent.getString("tx_hash");
|
||||
if (height != -1) {
|
||||
|
||||
String nodeAddress = engine.GetNode(loadedWallet.mCard);
|
||||
int nodePort = engine.GetNodePort(loadedWallet.mCard);
|
||||
UpdateWalletInfoTask updateWalletInfoTask = new UpdateWalletInfoTask(loadedWallet, nodeAddress, nodePort);
|
||||
String nodeAddress = engine.GetNode(loadedWallet.mCard);
|
||||
int nodePort = engine.GetNodePort(loadedWallet.mCard);
|
||||
UpdateWalletInfoTask updateWalletInfoTask = new UpdateWalletInfoTask(loadedWallet, nodeAddress, nodePort);
|
||||
// loadedWallet.updateTasks.add(updateWalletInfoTask);
|
||||
|
||||
updateWalletInfoTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.GetHeader(mWalletAddress, String.valueOf(height)),
|
||||
ElectrumRequest.GetTransaction(mWalletAddress, hash));
|
||||
updateWalletInfoTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.GetHeader(mWalletAddress, String.valueOf(height)),
|
||||
ElectrumRequest.GetTransaction(mWalletAddress, hash));
|
||||
}
|
||||
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate(e.toString());
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
}
|
||||
} else if (request.isMethod(ElectrumRequest.METHOD_GetHeader)) {
|
||||
try {
|
||||
JSONObject jsHeader = request.getResult();
|
||||
try {
|
||||
loadedWallet.mCard.getHaedersInfo();
|
||||
loadedWallet.mCard.UpdateHeaderInfo(new TangemCard.HeaderInfo(
|
||||
jsHeader.getInt("block_height"),
|
||||
jsHeader.getInt("timestamp")));
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate(e.toString());
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate(e.toString());
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
}
|
||||
} else if (request.isMethod(ElectrumRequest.METHOD_GetHeader)) {
|
||||
try {
|
||||
JSONObject jsHeader = request.getResult();
|
||||
try {
|
||||
loadedWallet.mCard.getHaedersInfo();
|
||||
loadedWallet.mCard.UpdateHeaderInfo(new TangemCard.HeaderInfo(
|
||||
jsHeader.getInt("block_height"),
|
||||
jsHeader.getInt("timestamp")));
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate(e.toString());
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
|
||||
}
|
||||
} else if (request.isMethod(ElectrumRequest.METHOD_GetTransaction)) {
|
||||
try {
|
||||
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate(e.toString());
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
String txHash = request.TxHash;
|
||||
String raw = request.getResultString();
|
||||
|
||||
}
|
||||
} else if (request.isMethod(ElectrumRequest.METHOD_GetTransaction)) {
|
||||
try {
|
||||
|
||||
String txHash = request.TxHash;
|
||||
String raw = request.getResultString();
|
||||
|
||||
List<TangemCard.UnspentTransaction> listTx = loadedWallet.mCard.getUnspentTransactions();
|
||||
for (TangemCard.UnspentTransaction tx : listTx) {
|
||||
if (tx.txID.equals(txHash)) {
|
||||
tx.Raw = raw;
|
||||
List<TangemCard.UnspentTransaction> listTx = loadedWallet.mCard.getUnspentTransactions();
|
||||
for (TangemCard.UnspentTransaction tx : listTx) {
|
||||
if (tx.txID.equals(txHash)) {
|
||||
tx.Raw = raw;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
List<TangemCard.HistoryTransaction> listHTx = loadedWallet.mCard.getHistoryTransactions();
|
||||
for (TangemCard.HistoryTransaction tx : listHTx) {
|
||||
if (tx.txID.equals(txHash)) {
|
||||
tx.Raw = raw;
|
||||
try {
|
||||
ArrayList<byte[]> prevHashes = BTCUtils.getPrevTX(raw);
|
||||
List<TangemCard.HistoryTransaction> listHTx = loadedWallet.mCard.getHistoryTransactions();
|
||||
for (TangemCard.HistoryTransaction tx : listHTx) {
|
||||
if (tx.txID.equals(txHash)) {
|
||||
tx.Raw = raw;
|
||||
try {
|
||||
ArrayList<byte[]> prevHashes = BTCUtils.getPrevTX(raw);
|
||||
|
||||
boolean isOur = false;
|
||||
for (byte[] hash : prevHashes) {
|
||||
String checkID = BTCUtils.toHex(hash);
|
||||
for (TangemCard.HistoryTransaction txForCheck : listHTx) {
|
||||
if (txForCheck.txID == checkID) {
|
||||
isOur = true;
|
||||
boolean isOur = false;
|
||||
for (byte[] hash : prevHashes) {
|
||||
String checkID = BTCUtils.toHex(hash);
|
||||
for (TangemCard.HistoryTransaction txForCheck : listHTx) {
|
||||
if (txForCheck.txID == checkID) {
|
||||
isOur = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tx.isInput = !isOur;
|
||||
} catch (BitcoinException e) {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate(e.toString());
|
||||
}
|
||||
|
||||
tx.isInput = !isOur;
|
||||
} catch (BitcoinException e) {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate(e.toString());
|
||||
}
|
||||
// Log.e("TX", raw);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate(e.toString());
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate(e.toString());
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
}
|
||||
}
|
||||
}
|
||||
loadedWallet.updateViews();
|
||||
} else {
|
||||
if (sharedCounter != null) {
|
||||
int errCounter = sharedCounter.errorRequest.incrementAndGet();
|
||||
loadedWallet.mCard.incFailedBalanceRequestCounter();
|
||||
if (errCounter >= sharedCounter.allRequest) {
|
||||
loadedWallet.updateViews();
|
||||
} else {
|
||||
if (sharedCounter != null) {
|
||||
int errCounter = sharedCounter.errorRequest.incrementAndGet();
|
||||
loadedWallet.mCard.incFailedBalanceRequestCounter();
|
||||
if (errCounter >= sharedCounter.allRequest) {
|
||||
loadedWallet.errorOnUpdate(request.error);
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
|
||||
}
|
||||
} else {
|
||||
loadedWallet.errorOnUpdate(request.error);
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
|
||||
}
|
||||
} else {
|
||||
loadedWallet.errorOnUpdate(request.error);
|
||||
engine.SwitchNode(loadedWallet.mCard);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
if (sharedCounter != null) {
|
||||
int errCounter = sharedCounter.errorRequest.incrementAndGet();
|
||||
loadedWallet.mCard.incFailedBalanceRequestCounter();
|
||||
if (errCounter >= sharedCounter.allRequest) {
|
||||
} catch (JSONException e) {
|
||||
if (sharedCounter != null) {
|
||||
int errCounter = sharedCounter.errorRequest.incrementAndGet();
|
||||
loadedWallet.mCard.incFailedBalanceRequestCounter();
|
||||
if (errCounter >= sharedCounter.allRequest) {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate(e.toString());
|
||||
}
|
||||
} else {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate(e.toString());
|
||||
}
|
||||
} else {
|
||||
e.printStackTrace();
|
||||
loadedWallet.errorOnUpdate(e.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// if (loadedWallet.updateTasks.size() == 0)
|
||||
loadedWallet.mSwipeRefreshLayout.setRefreshing(false);
|
||||
|
||||
} catch (NullPointerException e) {
|
||||
e.printStackTrace();
|
||||
|
||||
Toast.makeText(reference.get().getContext(), "NullPointerException", Toast.LENGTH_LONG).show();
|
||||
|
||||
if (reference.get() != null) {
|
||||
reference.get().mSwipeRefreshLayout.setRefreshing(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@ import android.content.ClipData;
|
|||
import android.content.ClipboardManager;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.graphics.Color;
|
||||
import android.nfc.NfcAdapter;
|
||||
import android.nfc.Tag;
|
||||
import android.nfc.tech.IsoDep;
|
||||
|
|
@ -27,7 +25,6 @@ import android.view.LayoutInflater;
|
|||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
|
@ -92,8 +89,8 @@ public class LoadedWallet extends Fragment implements SwipeRefreshLayout.OnRefre
|
|||
public SwipeRefreshLayout mSwipeRefreshLayout;
|
||||
private RelativeLayout rlProgressBar;
|
||||
private TextView tvCardID, tvBalance, tvBalanceLine1, tvBalanceLine2,tvOffline, tvBalanceEquivalent, tvWallet, tvInputs, tvError, tvMessage, tvIssuer, tvBlockchain, tvValidationNode, tvHeader, tvCaution;
|
||||
private ProgressBar progressBar;
|
||||
private ImageView ivBlockchain, ivPIN, ivPIN2orSecurityDelay, ivDeveloperVersion;
|
||||
// private ProgressBar progressBar;
|
||||
private ImageView ivPIN, ivPIN2orSecurityDelay, ivDeveloperVersion;
|
||||
private AppCompatButton btnExtract;
|
||||
|
||||
// public List<AsyncTask> updateTasks = new ArrayList<>();
|
||||
|
|
@ -163,7 +160,7 @@ public class LoadedWallet extends Fragment implements SwipeRefreshLayout.OnRefre
|
|||
View v = inflater.inflate(R.layout.fr_loaded_wallet, container, false);
|
||||
|
||||
mSwipeRefreshLayout = v.findViewById(R.id.swipe_container);
|
||||
progressBar = v.findViewById(R.id.progressBar);
|
||||
// progressBar = v.findViewById(R.id.progressBar);
|
||||
rlProgressBar = v.findViewById(R.id.rlProgressBar);
|
||||
ImageView ivTangemCard = v.findViewById(R.id.ivTangemCard);
|
||||
tvBalance = v.findViewById(R.id.tvBalance);
|
||||
|
|
@ -182,7 +179,6 @@ public class LoadedWallet extends Fragment implements SwipeRefreshLayout.OnRefre
|
|||
ImageView ivCopy = v.findViewById(R.id.ivCopy);
|
||||
tvValidationNode = v.findViewById(R.id.tvValidationNode);
|
||||
tvBlockchain = v.findViewById(R.id.tvBlockchain);
|
||||
ivBlockchain = v.findViewById(R.id.imgBlockchain);
|
||||
ivPIN = v.findViewById(R.id.imgPIN);
|
||||
ivPIN2orSecurityDelay = v.findViewById(R.id.imgPIN2orSecurityDelay);
|
||||
ivDeveloperVersion = v.findViewById(R.id.imgDeveloperVersion);
|
||||
|
|
@ -617,10 +613,10 @@ public class LoadedWallet extends Fragment implements SwipeRefreshLayout.OnRefre
|
|||
|
||||
@Override
|
||||
public void OnReadStart(CardProtocol cardProtocol) {
|
||||
progressBar.post(() -> {
|
||||
rlProgressBar.post(() -> {
|
||||
rlProgressBar.setVisibility(View.VISIBLE);
|
||||
//progressBar.setVisibility(View.VISIBLE);
|
||||
progressBar.setProgress(5);
|
||||
// progressBar.setProgress(5);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -630,10 +626,10 @@ public class LoadedWallet extends Fragment implements SwipeRefreshLayout.OnRefre
|
|||
|
||||
if (cardProtocol != null) {
|
||||
if (cardProtocol.getError() == null) {
|
||||
progressBar.post(() -> {
|
||||
rlProgressBar.post(() -> {
|
||||
rlProgressBar.setVisibility(View.GONE);
|
||||
progressBar.setProgress(100);
|
||||
progressBar.setProgressTintList(ColorStateList.valueOf(Color.GREEN));
|
||||
// progressBar.setProgress(100);
|
||||
// progressBar.setProgressTintList(ColorStateList.valueOf(Color.GREEN));
|
||||
|
||||
mCardProtocol = cardProtocol;
|
||||
|
||||
|
|
@ -648,7 +644,7 @@ public class LoadedWallet extends Fragment implements SwipeRefreshLayout.OnRefre
|
|||
});
|
||||
} else {
|
||||
// remove last UIDs because of error and no card read
|
||||
progressBar.post(() -> {
|
||||
rlProgressBar.post(() -> {
|
||||
lastReadSuccess = false;
|
||||
if (cardProtocol.getError() instanceof CardProtocol.TangemException_ExtendedLengthNotSupported) {
|
||||
if (!NoExtendedLengthSupportDialog.allreadyShowed) {
|
||||
|
|
@ -657,18 +653,18 @@ public class LoadedWallet extends Fragment implements SwipeRefreshLayout.OnRefre
|
|||
} else {
|
||||
Toast.makeText(getContext(), R.string.try_to_scan_again, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
progressBar.setProgress(100);
|
||||
progressBar.setProgressTintList(ColorStateList.valueOf(Color.RED));
|
||||
// progressBar.setProgress(100);
|
||||
// progressBar.setProgressTintList(ColorStateList.valueOf(Color.RED));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
progressBar.postDelayed(() -> {
|
||||
rlProgressBar.postDelayed(() -> {
|
||||
try {
|
||||
rlProgressBar.setVisibility(View.GONE);
|
||||
progressBar.setProgress(0);
|
||||
progressBar.setProgressTintList(ColorStateList.valueOf(Color.DKGRAY));
|
||||
progressBar.setVisibility(View.INVISIBLE);
|
||||
// progressBar.setProgress(0);
|
||||
// progressBar.setProgressTintList(ColorStateList.valueOf(Color.DKGRAY));
|
||||
// progressBar.setVisibility(View.INVISIBLE);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
|
@ -677,18 +673,18 @@ public class LoadedWallet extends Fragment implements SwipeRefreshLayout.OnRefre
|
|||
|
||||
@Override
|
||||
public void OnReadProgress(CardProtocol protocol, final int progress) {
|
||||
progressBar.post(() -> progressBar.setProgress(progress));
|
||||
// progressBar.post(() -> progressBar.setProgress(progress));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void OnReadCancel() {
|
||||
verifyCardTask = null;
|
||||
progressBar.postDelayed(() -> {
|
||||
rlProgressBar.postDelayed(() -> {
|
||||
try {
|
||||
rlProgressBar.setVisibility(View.GONE);
|
||||
progressBar.setProgress(0);
|
||||
progressBar.setProgressTintList(ColorStateList.valueOf(Color.DKGRAY));
|
||||
progressBar.setVisibility(View.INVISIBLE);
|
||||
// progressBar.setProgress(0);
|
||||
// progressBar.setProgressTintList(ColorStateList.valueOf(Color.DKGRAY));
|
||||
// progressBar.setVisibility(View.INVISIBLE);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
|
@ -789,7 +785,6 @@ public class LoadedWallet extends Fragment implements SwipeRefreshLayout.OnRefre
|
|||
tvInputs.setTextColor(ContextCompat.getColor(Objects.requireNonNull(getContext()), R.color.confirmed));
|
||||
|
||||
tvBlockchain.setText(mCard.getBlockchainName());
|
||||
ivBlockchain.setImageResource(mCard.getBlockchain().getImageResource(getContext(), mCard.getTokenSymbol()));
|
||||
|
||||
if (tvValidationNode != null) {
|
||||
tvValidationNode.setText(mCard.getValidationNodeDescription());
|
||||
|
|
@ -845,23 +840,23 @@ public class LoadedWallet extends Fragment implements SwipeRefreshLayout.OnRefre
|
|||
}
|
||||
}, 5000);
|
||||
|
||||
if (mCard.isReusable()) {
|
||||
tvHeader.setText(R.string.reusable_wallet);
|
||||
tvCaution.setVisibility(View.GONE);
|
||||
} else {
|
||||
if (mCard.getMaxSignatures() == mCard.getRemainingSignatures()) {
|
||||
tvHeader.setText(R.string.banknote);
|
||||
tvCaution.setVisibility(View.GONE);
|
||||
} else {
|
||||
tvHeader.setText(R.string.not_transferable_banknote);
|
||||
tvCaution.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
if (mCard.useDevelopersFirmware()) {
|
||||
tvHeader.setText(R.string.developer_kit);
|
||||
tvCaution.setVisibility(View.VISIBLE);
|
||||
}
|
||||
// if (mCard.isReusable()) {
|
||||
// tvHeader.setText(R.string.reusable_wallet);
|
||||
// tvCaution.setVisibility(View.GONE);
|
||||
// } else {
|
||||
// if (mCard.getMaxSignatures() == mCard.getRemainingSignatures()) {
|
||||
// tvHeader.setText(R.string.banknote);
|
||||
// tvCaution.setVisibility(View.GONE);
|
||||
// } else {
|
||||
// tvHeader.setText(R.string.not_transferable_banknote);
|
||||
// tvCaution.setVisibility(View.VISIBLE);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (mCard.useDevelopersFirmware()) {
|
||||
// tvHeader.setText(R.string.developer_kit);
|
||||
// tvCaution.setVisibility(View.VISIBLE);
|
||||
// }
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
|
|
|
|||
|
|
@ -569,9 +569,9 @@
|
|||
|
||||
</RelativeLayout>
|
||||
|
||||
<include
|
||||
layout="@layout/layout_progress_horizontal"
|
||||
android:visibility="gone"
|
||||
tools:layout_editor_absoluteY="495dp" />
|
||||
<!--<include-->
|
||||
<!--layout="@layout/layout_progress_horizontal"-->
|
||||
<!--android:visibility="gone"-->
|
||||
<!--tools:layout_editor_absoluteY="495dp" />-->
|
||||
|
||||
</android.support.constraint.ConstraintLayout>
|
||||
Loading…
Add table
Add a link
Reference in a new issue