Updated on 2026-08-14

This commit is contained in:
Tangem 2018-07-02 11:33:37 +03:00
parent 22697fd237
commit 7b3e4dcc7b
9 changed files with 98 additions and 65 deletions

View file

@ -298,12 +298,12 @@ public class ConfirmPaymentActivity extends AppCompatActivity implements NfcAdap
finalFee = Math.round(finalFee) / (float) 10000;
if (request.getBlockCount() == FeeRequest.MINIMAL) {
if ((request.getBlockCount() == FeeRequest.MINIMAL) && (minFee == null)) {
minFee = String.valueOf(finalFee);
minFeeInInternalUnits = mCard.InternalUnitsFromString(String.valueOf(finalFee));
} else if (request.getBlockCount() == FeeRequest.NORMAL) {
} else if ((request.getBlockCount() == FeeRequest.NORMAL) && (normalFee == null)) {
normalFee = String.valueOf(finalFee);
} else if (request.getBlockCount() == FeeRequest.PRIORITY) {
} else if ((request.getBlockCount() == FeeRequest.PRIORITY) && (maxFee == null)) {
maxFee = String.valueOf(finalFee);
}
@ -514,20 +514,16 @@ public class ConfirmPaymentActivity extends AppCompatActivity implements NfcAdap
String nodeAddress = engineCoin.GetNextNode(mCard);
int nodePort = engineCoin.GetNextNodePort(mCard);
//ConnectTask connectTaskEx = new ConnectTask(Blockchain.getNextServiceHost(mCard), Blockchain.getNextServicePort(mCard), data);
ConnectTask connectTaskEx = new ConnectTask(nodeAddress, nodePort, data);
//connectTaskEx.execute(ElectrumRequest.CheckBalance(mCard.getWallet()));
connectTaskEx.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.CheckBalance(mCard.getWallet()));
}
String nodeAddress = engineCoin.GetNode(mCard);
int nodePort = engineCoin.GetNodePort(mCard);
ConnectTask connectTask = new ConnectTask(nodeAddress, nodePort, data);
//ConnectTask connectTask = new ConnectTask(Blockchain.getServiceHost(mCard), Blockchain.getServicePort(mCard));
connectTask.execute(/*ElectrumRequest.CheckBalance(mCard.getWallet()), */ElectrumRequest.GetFee(mCard.getWallet()));
// String nodeAddress = engineCoin.GetNode(mCard);
// int nodePort = engineCoin.GetNodePort(mCard);
// ConnectTask connectTask = new ConnectTask(nodeAddress, nodePort, data);
//
//
// connectTask.execute(ElectrumRequest.GetFee(mCard.getWallet()));
int calcSize = 256;
try {
@ -543,7 +539,8 @@ public class ConfirmPaymentActivity extends AppCompatActivity implements NfcAdap
ConnectFeeTask feeTask = new ConnectFeeTask(sharedFee);
feeTask.execute(FeeRequest.GetFee(mCard.getWallet(), calcSize, FeeRequest.NORMAL),
feeTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,
FeeRequest.GetFee(mCard.getWallet(), calcSize, FeeRequest.NORMAL),
FeeRequest.GetFee(mCard.getWallet(), calcSize, FeeRequest.MINIMAL),
FeeRequest.GetFee(mCard.getWallet(), calcSize, FeeRequest.PRIORITY));
}
@ -608,7 +605,7 @@ public class ConfirmPaymentActivity extends AppCompatActivity implements NfcAdap
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
Intent intent = new Intent();
intent.putExtra("message", "Operation canceled");
// intent.putExtra("message", "Operation canceled");
setResult(Activity.RESULT_CANCELED, intent);
finish();
return true;

View file

@ -136,7 +136,7 @@ public class PreparePaymentActivity extends AppCompatActivity implements NfcAdap
btnVerify.setOnClickListener(v -> {
String strAmount;
strAmount = etAmount.getText().toString();
strAmount = etAmount.getText().toString().replace(",",".");
CoinEngine engine1 = CoinEngineFactory.Create(mCard.getBlockchain());
Log.i(TAG, mCard.getBlockchain().getOfficialName());

File diff suppressed because one or more lines are too long

View file

@ -416,7 +416,7 @@ public class LoadedWallet extends Fragment implements SwipeRefreshLayout.OnRefre
updateTasks.add(updateWalletInfoTask);
updateWalletInfoTask.execute(ElectrumRequest.GetHeader(mWalletAddress, String.valueOf(height)),
updateWalletInfoTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.GetHeader(mWalletAddress, String.valueOf(height)),
ElectrumRequest.GetTransaction(mWalletAddress, hash));
}
}
@ -456,7 +456,7 @@ public class LoadedWallet extends Fragment implements SwipeRefreshLayout.OnRefre
UpdateWalletInfoTask updateWalletInfoTask = new UpdateWalletInfoTask(nodeAddress, nodePort);
updateTasks.add(updateWalletInfoTask);
updateWalletInfoTask.execute(ElectrumRequest.GetHeader(mWalletAddress, String.valueOf(height)),
updateWalletInfoTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.GetHeader(mWalletAddress, String.valueOf(height)),
ElectrumRequest.GetTransaction(mWalletAddress, hash));
}
@ -903,15 +903,11 @@ public class LoadedWallet extends Fragment implements SwipeRefreshLayout.OnRefre
int nodePort = engine.GetNextNodePort(mCard);
UpdateWalletInfoTask connectTaskEx = new UpdateWalletInfoTask(nodeAddress, nodePort, data);
connectTaskEx.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.CheckBalance(mCard.getWallet()));
}
String nodeAddress = Objects.requireNonNull(engine).GetNode(mCard);
int nodePort = engine.GetNodePort(mCard);
UpdateWalletInfoTask updateWalletInfoTask = new UpdateWalletInfoTask(nodeAddress, nodePort, data);
updateTasks.add(updateWalletInfoTask);
updateWalletInfoTask.execute(ElectrumRequest.ListUnspent(mCard.getWallet())
,ElectrumRequest.ListHistory(mCard.getWallet())
);
UpdateWalletInfoTask updateWalletInfoTask = new UpdateWalletInfoTask(nodeAddress, nodePort, data);
updateTasks.add(updateWalletInfoTask);
updateWalletInfoTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.ListUnspent(mCard.getWallet()));
}
RateInfoTask taskRate = new RateInfoTask();
ExchangeRequest rate = ExchangeRequest.GetRate(mCard.getWallet(), "bitcoin", "bitcoin");
@ -932,8 +928,8 @@ public class LoadedWallet extends Fragment implements SwipeRefreshLayout.OnRefre
UpdateWalletInfoTask updateWalletInfoTask = new UpdateWalletInfoTask(nodeAddress, nodePort, data);
updateTasks.add(updateWalletInfoTask);
updateWalletInfoTask.execute(ElectrumRequest.ListUnspent(mCard.getWallet())
,ElectrumRequest.ListHistory(mCard.getWallet())
updateWalletInfoTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.ListUnspent(mCard.getWallet())
// ElectrumRequest.ListHistory(mCard.getWallet())
);
RateInfoTask taskRate = new RateInfoTask();
@ -1023,8 +1019,9 @@ public class LoadedWallet extends Fragment implements SwipeRefreshLayout.OnRefre
}
public void ErrorOnUpdate(String message) {
mCard.setError(getString(R.string.cannot_obtain_data_from_blockchain));
updateViews();
// mCard.setError(getString(R.string.cannot_obtain_data_from_blockchain));
// mCard.setError(message);
// updateViews();
}
@ -1450,13 +1447,13 @@ public class LoadedWallet extends Fragment implements SwipeRefreshLayout.OnRefre
int nodePort = engine.GetNodePort(mCard);
UpdateWalletInfoTask connectTask = new UpdateWalletInfoTask(nodeAddress, nodePort);
connectTask.execute(ElectrumRequest.Broadcast(mCard.getWallet(), tx));
connectTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.Broadcast(mCard.getWallet(), tx));
} else if (mCard.getBlockchain() == Blockchain.BitcoinCash || mCard.getBlockchain() == Blockchain.BitcoinCashTestNet) {
String nodeAddress = engine.GetNode(mCard);
int nodePort = engine.GetNodePort(mCard);
UpdateWalletInfoTask connectTask = new UpdateWalletInfoTask(nodeAddress, nodePort);
connectTask.execute(ElectrumRequest.Broadcast(mCard.getWallet(), tx));
connectTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.Broadcast(mCard.getWallet(), tx));
}
}

View file

@ -201,7 +201,7 @@ public class Main extends Fragment implements NfcAdapter.ReaderCallback, CardLis
if (height != -1) {
RequestWalletInfoTask task = new RequestWalletInfoTask(request.Host, request.Port);
requestTasks.add(task);
task.execute(ElectrumRequest.GetHeader(mWalletAddress, String.valueOf(height)),
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.GetHeader(mWalletAddress, String.valueOf(height)),
ElectrumRequest.GetTransaction(mWalletAddress, hash));
}
}
@ -225,7 +225,7 @@ public class Main extends Fragment implements NfcAdapter.ReaderCallback, CardLis
RequestWalletInfoTask task = new RequestWalletInfoTask(request.Host, request.Port);
requestTasks.add(task);
task.execute(ElectrumRequest.GetHeader(mWalletAddress, String.valueOf(height)),
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.GetHeader(mWalletAddress, String.valueOf(height)),
ElectrumRequest.GetTransaction(mWalletAddress, hash));
}
}
@ -754,9 +754,9 @@ public class Main extends Fragment implements NfcAdapter.ReaderCallback, CardLis
RequestWalletInfoTask task = new RequestWalletInfoTask(nodeAddress, nodePort);
requestTasks.add(task);
task.execute(ElectrumRequest.ListUnspent(card.getWallet()), ElectrumRequest.ListHistory(card.getWallet()));
// task.execute(ElectrumRequest.ListUnspent(card.getWallet()));//, ElectrumRequest.ListHistory(card.getWallet()));
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.ListUnspent(card.getWallet()));//, ElectrumRequest.ListHistory(card.getWallet()));
RateInfoTask taskRate = new RateInfoTask();
ExchangeRequest rate = ExchangeRequest.GetRate(card.getWallet(), "bitcoin", "bitcoin");
taskRate.execute(rate);
@ -778,7 +778,7 @@ public class Main extends Fragment implements NfcAdapter.ReaderCallback, CardLis
RequestWalletInfoTask task = new RequestWalletInfoTask(nodeAddress, nodePort);
requestTasks.add(task);
task.execute(ElectrumRequest.ListUnspent(card.getWallet()), ElectrumRequest.ListHistory(card.getWallet()));
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.ListUnspent(card.getWallet()));//, ElectrumRequest.ListHistory(card.getWallet()));
RateInfoTask taskRate = new RateInfoTask();
ExchangeRequest rate = ExchangeRequest.GetRate(card.getWallet(), "bitcoin-cash", "bitcoin-cash");
taskRate.execute(rate);
@ -838,18 +838,12 @@ public class Main extends Fragment implements NfcAdapter.ReaderCallback, CardLis
int nodePort = engine.GetNextNodePort(card);
RequestWalletInfoTask connectTaskEx = new RequestWalletInfoTask(nodeAddress, nodePort, data);
connectTaskEx.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.CheckBalance(card.getWallet()));
RequestWalletInfoTask task = new RequestWalletInfoTask(nodeAddress, nodePort);
requestTasks.add(task);
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.ListUnspent(card.getWallet()));//, ElectrumRequest.ListHistory(card.getWallet()));
}
String nodeAddress = engine.GetNode(card);
int nodePort = engine.GetNodePort(card);
RequestWalletInfoTask task = new RequestWalletInfoTask(nodeAddress, nodePort);
requestTasks.add(task);
task.execute(ElectrumRequest.ListUnspent(card.getWallet()), ElectrumRequest.ListHistory(card.getWallet()));
RateInfoTask taskRate = new RateInfoTask();
ExchangeRequest rate = ExchangeRequest.GetRate(card.getWallet(), "bitcoin", "bitcoin");
taskRate.execute(rate);
} else if (card.getBlockchain() == Blockchain.BitcoinCashTestNet || card.getBlockchain() == Blockchain.BitcoinCash) {
SharedData data = new SharedData(SharedData.COUNT_REQUEST);
for (int i = 0; i < data.allRequest; ++i) {
@ -865,7 +859,7 @@ public class Main extends Fragment implements NfcAdapter.ReaderCallback, CardLis
RequestWalletInfoTask task = new RequestWalletInfoTask(nodeAddress, nodePort);
requestTasks.add(task);
task.execute(ElectrumRequest.ListUnspent(card.getWallet()), ElectrumRequest.ListHistory(card.getWallet()));
task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, ElectrumRequest.ListUnspent(card.getWallet()));//, ElectrumRequest.ListHistory(card.getWallet()));
RateInfoTask taskRate = new RateInfoTask();
ExchangeRequest rate = ExchangeRequest.GetRate(card.getWallet(), "bitcoin-cash", "bitcoin-cash");
taskRate.execute(rate);