Updated on 2026-08-14
This commit is contained in:
parent
8020425374
commit
ad42818b84
2 changed files with 66 additions and 45 deletions
|
|
@ -103,7 +103,6 @@ public class ServerApiHelper {
|
|||
|
||||
public interface InfuraBodyListener {
|
||||
void onInfuraSuccess(String method, InfuraResponse infuraResponse);
|
||||
|
||||
void onInfuraFail(String method, String message);
|
||||
}
|
||||
|
||||
|
|
@ -168,7 +167,8 @@ public class ServerApiHelper {
|
|||
private CardVerifyAndGetInfoListener cardVerifyAndGetInfoListener;
|
||||
|
||||
public interface CardVerifyAndGetInfoListener {
|
||||
void onCardVerifyAndGetInfo(CardVerifyAndGetInfo.Response cardVerifyAndGetArtworkResponse);
|
||||
void onSuccess(CardVerifyAndGetInfo.Response cardVerifyAndGetArtworkResponse);
|
||||
void onFail(String message);
|
||||
}
|
||||
|
||||
public void setCardVerifyAndGetInfoListener(CardVerifyAndGetInfoListener listener) {
|
||||
|
|
@ -189,14 +189,17 @@ public class ServerApiHelper {
|
|||
public void onResponse(@NonNull Call<CardVerifyAndGetInfo.Response> call, @NonNull Response<CardVerifyAndGetInfo.Response> response) {
|
||||
if (response.code() == 200) {
|
||||
CardVerifyAndGetInfo.Response cardVerifyAndGetArtworkResponse = response.body();
|
||||
cardVerifyAndGetInfoListener.onCardVerifyAndGetInfo(cardVerifyAndGetArtworkResponse);
|
||||
cardVerifyAndGetInfoListener.onSuccess(cardVerifyAndGetArtworkResponse);
|
||||
Log.i(TAG, "cardVerifyAndGeInfo onResponse " + response.code());
|
||||
} else
|
||||
} else {
|
||||
cardVerifyAndGetInfoListener.onFail(String.valueOf(response.code()));
|
||||
Log.e(TAG, "cardVerifyAndGetInfo onResponse " + response.code());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(@NonNull Call<CardVerifyAndGetInfo.Response> call, @NonNull Throwable t) {
|
||||
cardVerifyAndGetInfoListener.onFail(t.getMessage());
|
||||
Log.e(TAG, "cardVerifyAndGetInfo onFailure " + t.getMessage());
|
||||
}
|
||||
});
|
||||
|
|
@ -209,7 +212,8 @@ public class ServerApiHelper {
|
|||
private ArtworkListener artworkListener;
|
||||
|
||||
public interface ArtworkListener {
|
||||
void onArtwork(String artworkId, InputStream inputStream, Date updateDate);
|
||||
void onSuccess(String artworkId, InputStream inputStream, Date updateDate);
|
||||
void onFail(String message);
|
||||
}
|
||||
|
||||
public void setArtworkListener(ArtworkListener listener) {
|
||||
|
|
@ -228,7 +232,7 @@ public class ServerApiHelper {
|
|||
try {
|
||||
ResponseBody body = response.body();
|
||||
if (body != null) {
|
||||
artworkListener.onArtwork(artworkId, body.byteStream(), updateDate);
|
||||
artworkListener.onSuccess(artworkId, body.byteStream(), updateDate);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
|
|
@ -238,6 +242,7 @@ public class ServerApiHelper {
|
|||
|
||||
@Override
|
||||
public void onFailure(@NonNull Call<ResponseBody> call, @NonNull Throwable t) {
|
||||
artworkListener.onFail(t.getMessage());
|
||||
Log.e(TAG, "getArtwork onFailure " + t.getMessage());
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ import com.tangem.data.network.ServerApiHelper
|
|||
import com.tangem.data.network.ServerApiHelperElectrum
|
||||
import com.tangem.data.network.model.InfuraResponse
|
||||
import com.tangem.data.network.ElectrumRequest
|
||||
import com.tangem.data.network.model.CardVerifyAndGetInfo
|
||||
import com.tangem.data.nfc.VerifyCardTask
|
||||
import com.tangem.domain.cardReader.CardProtocol
|
||||
import com.tangem.domain.cardReader.NfcManager
|
||||
|
|
@ -38,6 +39,7 @@ import com.tangem.wallet.BuildConfig
|
|||
import com.tangem.wallet.R
|
||||
import kotlinx.android.synthetic.main.fr_loaded_wallet.*
|
||||
import org.json.JSONException
|
||||
import java.io.InputStream
|
||||
import java.math.BigInteger
|
||||
import java.util.*
|
||||
|
||||
|
|
@ -286,59 +288,75 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
|
|||
|
||||
}
|
||||
|
||||
if (requestCounter == 0) updateViews()
|
||||
if (requestCounter == 0)
|
||||
updateViews()
|
||||
}
|
||||
|
||||
override fun onElectrumFail(method: String?) {
|
||||
srl!!.isRefreshing = false
|
||||
// Log.e(TAG, "FAIL $method")
|
||||
}
|
||||
}
|
||||
|
||||
serverApiHelperElectrum.setElectrumRequestData(electrumBodyListener)
|
||||
|
||||
// request card verify listener
|
||||
serverApiHelper.setCardVerifyAndGetInfoListener {
|
||||
requestCounter--
|
||||
if (requestCounter == 0) srl!!.isRefreshing = false
|
||||
// request card verify and get info listener
|
||||
val cardVerifyAndGetInfoListener: ServerApiHelper.CardVerifyAndGetInfoListener = object : ServerApiHelper.CardVerifyAndGetInfoListener {
|
||||
override fun onSuccess(cardVerifyAndGetArtworkResponse: CardVerifyAndGetInfo.Response?) {
|
||||
requestCounter--
|
||||
if (requestCounter == 0) srl!!.isRefreshing = false
|
||||
|
||||
val result = it.results!![0]
|
||||
if (result.error != null) {
|
||||
card!!.isOnlineVerified = false
|
||||
return@setCardVerifyAndGetInfoListener
|
||||
}
|
||||
card!!.isOnlineVerified = result.passed
|
||||
|
||||
if (requestCounter == 0) updateViews()
|
||||
|
||||
if (!result.passed) return@setCardVerifyAndGetInfoListener
|
||||
|
||||
if (localStorage.checkBatchInfoChanged(card!!, result)) {
|
||||
Log.w(TAG, "Batch ${result.batch} info changed to '$result'")
|
||||
ivTangemCard.setImageBitmap(localStorage.getCardArtworkBitmap(card!!))
|
||||
localStorage.applySubstitution(card!!)
|
||||
if (card!!.blockchain == Blockchain.Token || card!!.blockchain == Blockchain.Ethereum) {
|
||||
card!!.setBlockchainIDFromCard(Blockchain.Ethereum.id)
|
||||
val result = cardVerifyAndGetArtworkResponse?.results!![0]
|
||||
if (result.error != null) {
|
||||
card!!.isOnlineVerified = false
|
||||
return
|
||||
}
|
||||
refresh()
|
||||
}
|
||||
if (result.artwork != null && localStorage.checkNeedUpdateArtwork(result.artwork)) {
|
||||
Log.w(TAG, "Artwork '${result.artwork!!.id}' updated, need download")
|
||||
serverApiHelper.requestArtwork(result.artwork!!.id, result.artwork!!.getUpdateDate(), card!!)
|
||||
updateViews()
|
||||
}
|
||||
// Log.i(TAG, "setCardVerify " + it.results!![0].passed)
|
||||
}
|
||||
card!!.isOnlineVerified = result.passed
|
||||
|
||||
serverApiHelper.setArtworkListener { artworkId, inputStream, updateDate ->
|
||||
Log.w(TAG, "Artwork '$artworkId' downloaded")
|
||||
localStorage.updateArtwork(artworkId, inputStream, updateDate)
|
||||
ivTangemCard.setImageBitmap(localStorage.getCardArtworkBitmap(card!!))
|
||||
if (requestCounter == 0) updateViews()
|
||||
|
||||
if (!result.passed) return
|
||||
|
||||
if (localStorage.checkBatchInfoChanged(card!!, result)) {
|
||||
Log.w(TAG, "Batch ${result.batch} info changed to '$result'")
|
||||
ivTangemCard.setImageBitmap(localStorage.getCardArtworkBitmap(card!!))
|
||||
localStorage.applySubstitution(card!!)
|
||||
if (card!!.blockchain == Blockchain.Token || card!!.blockchain == Blockchain.Ethereum) {
|
||||
card!!.setBlockchainIDFromCard(Blockchain.Ethereum.id)
|
||||
}
|
||||
refresh()
|
||||
}
|
||||
if (result.artwork != null && localStorage.checkNeedUpdateArtwork(result.artwork)) {
|
||||
Log.w(TAG, "Artwork '${result.artwork!!.id}' updated, need download")
|
||||
serverApiHelper.requestArtwork(result.artwork!!.id, result.artwork!!.getUpdateDate(), card!!)
|
||||
updateViews()
|
||||
}
|
||||
// Log.i(TAG, "setCardVerify " + it.results!![0].passed)
|
||||
}
|
||||
|
||||
override fun onFail(message: String?) {
|
||||
requestCounter--
|
||||
if (requestCounter == 0)
|
||||
srl!!.isRefreshing = false
|
||||
}
|
||||
}
|
||||
serverApiHelper.setCardVerifyAndGetInfoListener(cardVerifyAndGetInfoListener)
|
||||
|
||||
// request artwork listener
|
||||
val artworkListener: ServerApiHelper.ArtworkListener = object : ServerApiHelper.ArtworkListener {
|
||||
override fun onSuccess(artworkId: String?, inputStream: InputStream?, updateDate: Date?) {
|
||||
localStorage.updateArtwork(artworkId!!, inputStream!!, updateDate!!)
|
||||
ivTangemCard.setImageBitmap(localStorage.getCardArtworkBitmap(card!!))
|
||||
Log.w(TAG, "Artwork '$artworkId' downloaded")
|
||||
}
|
||||
|
||||
override fun onFail(message: String?) {
|
||||
|
||||
}
|
||||
}
|
||||
serverApiHelper.setArtworkListener(artworkListener)
|
||||
|
||||
// request rate info listener
|
||||
serverApiHelper.setRateInfoData {
|
||||
|
||||
requestCounter--
|
||||
val rate = it.priceUsd.toFloat()
|
||||
card!!.rate = rate
|
||||
|
|
@ -348,7 +366,6 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
|
|||
srl!!.isRefreshing = false
|
||||
updateViews()
|
||||
}
|
||||
// Log.i(TAG, "setRateInfoData $rate")
|
||||
}
|
||||
|
||||
// request eth get balance, eth get transaction count, eth call, eth sendRawTransaction listener
|
||||
|
|
@ -469,7 +486,6 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
serverApiHelper.setInfuraResponse(infuraBodyListener)
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue