Updated on 2026-08-14
This commit is contained in:
parent
8776b23e97
commit
98a5774baa
2 changed files with 58 additions and 14 deletions
|
|
@ -26,7 +26,14 @@ public class ServerApiAdalite {
|
|||
|
||||
private int requestsCount = 0;
|
||||
|
||||
public static String lastNode;
|
||||
private final String adaliteURL1 = "https://explorer2.adalite.io"; //TODO: make random selection, add more?, move
|
||||
private final String adaliteURL2 = "https://nodes.southeastasia.cloudapp.azure.com";
|
||||
|
||||
private String currentURL = adaliteURL1;
|
||||
|
||||
public String getCurrentURL() {
|
||||
return currentURL;
|
||||
}
|
||||
|
||||
public boolean isRequestsSequenceCompleted() {
|
||||
Log.i(TAG, String.format("isRequestsSequenceCompleted: %s (%d requests left)", String.valueOf(requestsCount <= 0), requestsCount));
|
||||
|
|
@ -50,12 +57,14 @@ public class ServerApiAdalite {
|
|||
}
|
||||
|
||||
public void requestData(String method, String wallet, String tx) {
|
||||
requestData(method, wallet, tx, false);
|
||||
}
|
||||
|
||||
public void requestData(String method, String wallet, String tx, boolean isRetry) {
|
||||
requestsCount++;
|
||||
String adaliteURL = "https://explorer2.adalite.io"; //TODO: make random selection
|
||||
this.lastNode = adaliteURL; //TODO: show node instead of URL
|
||||
|
||||
Retrofit retrofitAdalite = new Retrofit.Builder()
|
||||
.baseUrl(adaliteURL)
|
||||
.baseUrl(currentURL)
|
||||
.addConverterFactory(ScalarsConverterFactory.create())
|
||||
.addConverterFactory(GsonConverterFactory.create())
|
||||
.build();
|
||||
|
|
@ -75,16 +84,26 @@ public class ServerApiAdalite {
|
|||
responseListener.onSuccess(method, response.body());
|
||||
Log.i(TAG, "requestData " + method + " onResponse " + response.code());
|
||||
} else {
|
||||
responseListener.onFail(method, String.valueOf(response.code()));
|
||||
Log.e(TAG, "requestData " + method + " onResponse " + response.code());
|
||||
|
||||
if (!isRetry) {
|
||||
retryRequest(method, wallet, tx);
|
||||
} else {
|
||||
responseListener.onFail(method, String.valueOf(response.code()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(@NonNull Call<AdaliteResponse> call, @NonNull Throwable t) {
|
||||
requestsCount--;
|
||||
responseListener.onFail(method, String.valueOf(t.getMessage()));
|
||||
Log.e(TAG, "requestData " + method + " onFailure " + t.getMessage());
|
||||
requestsCount--;
|
||||
|
||||
if (!isRetry) {
|
||||
retryRequest(method, wallet, tx);
|
||||
} else {
|
||||
responseListener.onFail(method, String.valueOf(t.getMessage()));
|
||||
}
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
|
@ -100,16 +119,26 @@ public class ServerApiAdalite {
|
|||
responseListener.onSuccess(method, response.body());
|
||||
Log.i(TAG, "requestData " + method + " onResponse " + response.code());
|
||||
} else {
|
||||
responseListener.onFail(method, String.valueOf(response.code()));
|
||||
Log.e(TAG, "requestData " + method + " onResponse " + response.code());
|
||||
|
||||
if (!isRetry) {
|
||||
retryRequest(method, wallet, tx);
|
||||
} else {
|
||||
responseListener.onFail(method, String.valueOf(response.code()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(@NonNull Call<AdaliteResponseUtxo> call, @NonNull Throwable t) {
|
||||
requestsCount--;
|
||||
responseListener.onFail(method, String.valueOf(t.getMessage()));
|
||||
Log.e(TAG, "requestData " + method + " onFailure " + t.getMessage());
|
||||
requestsCount--;
|
||||
|
||||
if (!isRetry) {
|
||||
retryRequest(method, wallet, tx);
|
||||
} else {
|
||||
responseListener.onFail(method, String.valueOf(t.getMessage()));
|
||||
}
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
|
@ -125,16 +154,26 @@ public class ServerApiAdalite {
|
|||
responseListener.onSuccess(method, response.body());
|
||||
Log.i(TAG, "requestData " + method + " onResponse " + response.code());
|
||||
} else {
|
||||
responseListener.onFail(method, String.valueOf(response.code()));
|
||||
Log.e(TAG, "requestData " + method + " onResponse " + response.code());
|
||||
|
||||
if (!isRetry) {
|
||||
retryRequest(method, wallet, tx);
|
||||
} else {
|
||||
responseListener.onFail(method, String.valueOf(response.code()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(@NonNull Call<List> call, @NonNull Throwable t) {
|
||||
requestsCount--;
|
||||
responseListener.onFail(method, String.valueOf(t.getMessage()));
|
||||
Log.e(TAG, "requestData " + method + " onFailure " + t.getMessage());
|
||||
requestsCount--;
|
||||
|
||||
if (!isRetry) {
|
||||
retryRequest(method, wallet, tx);
|
||||
} else {
|
||||
responseListener.onFail(method, String.valueOf(t.getMessage()));
|
||||
}
|
||||
}
|
||||
});
|
||||
break;
|
||||
|
|
@ -147,5 +186,10 @@ public class ServerApiAdalite {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
private void retryRequest(String method, String wallet, String tx) {
|
||||
currentURL = adaliteURL2;
|
||||
requestData(method, wallet, tx, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -618,7 +618,7 @@ public class CardanoEngine extends CoinEngine {
|
|||
}
|
||||
coinData.setBalanceReceived(true);
|
||||
coinData.setBalance(adaliteResponse.getRight().getCaBalance().getGetCoin());
|
||||
coinData.setValidationNodeDescription(ServerApiAdalite.lastNode);
|
||||
coinData.setValidationNodeDescription(serverApiAdalite.getCurrentURL());
|
||||
|
||||
//check pending
|
||||
if (App.pendingTransactionsStorage.hasTransactions(ctx.getCard())) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue