mirror of
https://github.com/bisq-network/bisq.git
synced 2024-11-19 09:52:23 +01:00
Merge pull request #3348 from blabno/changes-needed-for-minimal-api
Changes needed for minimal api
This commit is contained in:
commit
560d66b05b
@ -72,7 +72,7 @@ import static com.google.common.base.Preconditions.checkNotNull;
|
||||
import static java.lang.String.format;
|
||||
|
||||
@Slf4j
|
||||
public abstract class BisqExecutable implements GracefulShutDownHandler, BisqSetup.BisqSetupCompleteListener {
|
||||
public abstract class BisqExecutable implements GracefulShutDownHandler, BisqSetup.BisqSetupListener {
|
||||
|
||||
private final String fullName;
|
||||
private final String scriptName;
|
||||
@ -261,7 +261,7 @@ public abstract class BisqExecutable implements GracefulShutDownHandler, BisqSet
|
||||
|
||||
protected void startAppSetup() {
|
||||
BisqSetup bisqSetup = injector.getInstance(BisqSetup.class);
|
||||
bisqSetup.addBisqSetupCompleteListener(this);
|
||||
bisqSetup.addBisqSetupListener(this);
|
||||
bisqSetup.start();
|
||||
}
|
||||
|
||||
|
@ -43,7 +43,7 @@ public class BisqHeadlessApp implements HeadlessApp {
|
||||
@Setter
|
||||
private GracefulShutDownHandler gracefulShutDownHandler;
|
||||
private boolean shutDownRequested;
|
||||
private BisqSetup bisqSetup;
|
||||
protected BisqSetup bisqSetup;
|
||||
private CorruptedDatabaseFilesHandler corruptedDatabaseFilesHandler;
|
||||
private TradeManager tradeManager;
|
||||
|
||||
@ -54,7 +54,7 @@ public class BisqHeadlessApp implements HeadlessApp {
|
||||
public void startApplication() {
|
||||
try {
|
||||
bisqSetup = injector.getInstance(BisqSetup.class);
|
||||
bisqSetup.addBisqSetupCompleteListener(this);
|
||||
bisqSetup.addBisqSetupListener(this);
|
||||
|
||||
corruptedDatabaseFilesHandler = injector.getInstance(CorruptedDatabaseFilesHandler.class);
|
||||
tradeManager = injector.getInstance(TradeManager.class);
|
||||
|
@ -116,7 +116,19 @@ import javax.annotation.Nullable;
|
||||
@Slf4j
|
||||
@Singleton
|
||||
public class BisqSetup {
|
||||
public interface BisqSetupCompleteListener {
|
||||
public interface BisqSetupListener {
|
||||
default void onInitP2pNetwork() {
|
||||
log.info("onInitP2pNetwork");
|
||||
}
|
||||
|
||||
default void onInitWallet() {
|
||||
log.info("onInitWallet");
|
||||
}
|
||||
|
||||
default void onRequestWalletPassword() {
|
||||
log.info("onRequestWalletPassword");
|
||||
}
|
||||
|
||||
void onSetupComplete();
|
||||
}
|
||||
|
||||
@ -201,7 +213,7 @@ public class BisqSetup {
|
||||
private boolean allBasicServicesInitialized;
|
||||
@SuppressWarnings("FieldCanBeLocal")
|
||||
private MonadicBinding<Boolean> p2pNetworkAndWalletInitialized;
|
||||
private List<BisqSetupCompleteListener> bisqSetupCompleteListeners = new ArrayList<>();
|
||||
private List<BisqSetupListener> bisqSetupListeners = new ArrayList<>();
|
||||
|
||||
@Inject
|
||||
public BisqSetup(P2PNetworkSetup p2PNetworkSetup,
|
||||
@ -296,8 +308,8 @@ public class BisqSetup {
|
||||
// Setup
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
public void addBisqSetupCompleteListener(BisqSetupCompleteListener listener) {
|
||||
bisqSetupCompleteListeners.add(listener);
|
||||
public void addBisqSetupListener(BisqSetupListener listener) {
|
||||
bisqSetupListeners.add(listener);
|
||||
}
|
||||
|
||||
public void start() {
|
||||
@ -328,7 +340,7 @@ public class BisqSetup {
|
||||
private void step5() {
|
||||
initDomainServices();
|
||||
|
||||
bisqSetupCompleteListeners.forEach(BisqSetupCompleteListener::onSetupComplete);
|
||||
bisqSetupListeners.forEach(BisqSetupListener::onSetupComplete);
|
||||
|
||||
// We set that after calling the setupCompleteHandler to not trigger a popup from the dev dummy accounts
|
||||
// in MainViewModel
|
||||
@ -524,6 +536,7 @@ public class BisqSetup {
|
||||
|
||||
}, STARTUP_TIMEOUT_MINUTES, TimeUnit.MINUTES);
|
||||
|
||||
bisqSetupListeners.forEach(BisqSetupListener::onInitP2pNetwork);
|
||||
p2pNetworkReady = p2PNetworkSetup.init(this::initWallet, displayTorNetworkSettingsHandler);
|
||||
|
||||
// We only init wallet service here if not using Tor for bitcoinj.
|
||||
@ -550,7 +563,10 @@ public class BisqSetup {
|
||||
}
|
||||
|
||||
private void initWallet() {
|
||||
bisqSetupListeners.forEach(BisqSetupListener::onInitWallet);
|
||||
Runnable walletPasswordHandler = () -> {
|
||||
log.info("Wallet password required");
|
||||
bisqSetupListeners.forEach(BisqSetupListener::onRequestWalletPassword);
|
||||
if (p2pNetworkReady.get())
|
||||
p2PNetworkSetup.setSplashP2PNetworkAnimationVisible(true);
|
||||
|
||||
@ -561,6 +577,9 @@ public class BisqSetup {
|
||||
if (showFirstPopupIfResyncSPVRequestedHandler != null)
|
||||
showFirstPopupIfResyncSPVRequestedHandler.run();
|
||||
} else {
|
||||
// TODO no guarantee here that the wallet is really fully initialized
|
||||
// We would need a new walletInitializedButNotEncrypted state to track
|
||||
// Usually init is fast and we have our wallet initialized at that state though.
|
||||
walletInitialized.set(true);
|
||||
}
|
||||
});
|
||||
|
@ -22,7 +22,7 @@ import bisq.common.setup.UncaughtExceptionHandler;
|
||||
|
||||
import com.google.inject.Injector;
|
||||
|
||||
public interface HeadlessApp extends UncaughtExceptionHandler, BisqSetup.BisqSetupCompleteListener {
|
||||
public interface HeadlessApp extends UncaughtExceptionHandler, BisqSetup.BisqSetupListener {
|
||||
void setGracefulShutDownHandler(GracefulShutDownHandler gracefulShutDownHandler);
|
||||
|
||||
void setInjector(Injector injector);
|
||||
|
@ -95,7 +95,7 @@ import lombok.Getter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Slf4j
|
||||
public class MainViewModel implements ViewModel, BisqSetup.BisqSetupCompleteListener {
|
||||
public class MainViewModel implements ViewModel, BisqSetup.BisqSetupListener {
|
||||
private final BisqSetup bisqSetup;
|
||||
private final WalletsSetup walletsSetup;
|
||||
private final User user;
|
||||
@ -191,12 +191,12 @@ public class MainViewModel implements ViewModel, BisqSetup.BisqSetupCompleteList
|
||||
GUIUtil.setPreferences(preferences);
|
||||
|
||||
setupHandlers();
|
||||
bisqSetup.addBisqSetupCompleteListener(this);
|
||||
bisqSetup.addBisqSetupListener(this);
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
// BisqSetupCompleteListener
|
||||
// BisqSetupListener
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@Override
|
||||
|
Loading…
Reference in New Issue
Block a user