Add retry system if connection fails.

This commit is contained in:
pokkst 2022-09-08 11:27:05 -05:00
parent a2b7e27e8b
commit 7109442ad0
No known key found for this signature in database
GPG Key ID: 90C2ED85E67A50FF
3 changed files with 25 additions and 4 deletions

View File

@ -87,6 +87,11 @@ public class MainActivity extends AppCompatActivity implements MoneroHandlerThre
this.blockchainService.refreshBlockchain();
}
@Override
public void onConnectionFail() {
System.out.println("CONNECT FAILED");
}
@Override
public void onPasswordSuccess(String password) {
File walletFile = new File(getApplicationInfo().dataDir, Constants.WALLET_NAME);

View File

@ -55,9 +55,10 @@ public class MoneroHandlerThread extends Thread implements WalletListener {
@Override
public void run() {
WalletManager.getInstance().setDaemon(Node.fromString(DefaultNodes.XMRTW.getUri()));
wallet.init(0);
WalletManager.getInstance().setProxy("127.0.0.1:9050");
WalletManager.getInstance().setDaemon(Node.fromString(DefaultNodes.MONERUJO_ONION.getUri()));
wallet.setProxy("127.0.0.1:9050");
wallet.init(0);
wallet.setListener(this);
wallet.startRefresh();
}
@ -85,10 +86,23 @@ public class MoneroHandlerThread extends Thread implements WalletListener {
refresh();
}
int triesLeft = 5;
@Override
public void refreshed() {
wallet.setSynchronized();
refresh();
Wallet.ConnectionStatus status = wallet.getFullStatus().getConnectionStatus();
if(status == Wallet.ConnectionStatus.ConnectionStatus_Disconnected || status == null) {
if(triesLeft > 0) {
wallet.startRefresh();
triesLeft--;
} else {
listener.onConnectionFail();
}
} else {
BlockchainService.getInstance().setDaemonHeight(wallet.getDaemonBlockChainHeight());
wallet.setSynchronized();
refresh();
}
}
private void refresh() {
@ -105,5 +119,6 @@ public class MoneroHandlerThread extends Thread implements WalletListener {
public interface Listener {
void onRefresh();
void onConnectionFail();
}
}

View File

@ -21,6 +21,7 @@
android:layout_marginEnd="24dp"
android:layout_marginBottom="32dp"
android:hint="Password"
android:inputType="textPassword"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/unlock_wallet_button"/>
<ImageButton