From 931d1b776686ba67626df48a767a795ef6b1992b Mon Sep 17 00:00:00 2001 From: KewbitXMR Date: Sat, 28 Sep 2024 15:11:47 +0100 Subject: [PATCH] ability to get Auto thingy in gprc --- core/src/main/java/haveno/core/api/CoreApi.java | 4 ++++ .../java/haveno/core/api/XmrConnectionService.java | 7 ++++++- .../haveno/daemon/grpc/GrpcXmrConnectionService.java | 11 +++++++++++ proto/src/main/proto/grpc.proto | 8 ++++++++ 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/haveno/core/api/CoreApi.java b/core/src/main/java/haveno/core/api/CoreApi.java index 25f98c3470..838a42e8d0 100644 --- a/core/src/main/java/haveno/core/api/CoreApi.java +++ b/core/src/main/java/haveno/core/api/CoreApi.java @@ -247,6 +247,10 @@ public class CoreApi { xmrConnectionService.setAutoSwitch(autoSwitch); } + public boolean getXmrConnectionAutoSwitch() { + return xmrConnectionService.getAutoSwitch(); + } + /////////////////////////////////////////////////////////////////////////////////////////// // Monero node /////////////////////////////////////////////////////////////////////////////////////////// diff --git a/core/src/main/java/haveno/core/api/XmrConnectionService.java b/core/src/main/java/haveno/core/api/XmrConnectionService.java index 2541fb9fc5..b2e8988a0d 100644 --- a/core/src/main/java/haveno/core/api/XmrConnectionService.java +++ b/core/src/main/java/haveno/core/api/XmrConnectionService.java @@ -349,6 +349,11 @@ public final class XmrConnectionService { connectionList.setAutoSwitch(autoSwitch); } + public boolean getAutoSwitch() { + accountService.checkAccountOpen(); + return connectionManager.getAutoSwitch(); + } + public boolean isConnectionLocalHost() { return isConnectionLocalHost(getConnection()); } @@ -596,7 +601,7 @@ public final class XmrConnectionService { } else if (!isInitialized) { // set connection from startup argument if given - connectionManager.setAutoSwitch(false); + connectionManager.setAutoSwitch(true); MoneroRpcConnection connection = new MoneroRpcConnection(config.xmrNode, config.xmrNodeUsername, config.xmrNodePassword).setPriority(1); if (isProxyApplied(connection)) connection.setProxyUri(getProxyUri()); connectionManager.setConnection(connection); diff --git a/daemon/src/main/java/haveno/daemon/grpc/GrpcXmrConnectionService.java b/daemon/src/main/java/haveno/daemon/grpc/GrpcXmrConnectionService.java index eb1b8f6fd0..d12937b1c3 100644 --- a/daemon/src/main/java/haveno/daemon/grpc/GrpcXmrConnectionService.java +++ b/daemon/src/main/java/haveno/daemon/grpc/GrpcXmrConnectionService.java @@ -55,6 +55,8 @@ import haveno.proto.grpc.RemoveConnectionReply; import haveno.proto.grpc.RemoveConnectionRequest; import haveno.proto.grpc.SetAutoSwitchReply; import haveno.proto.grpc.SetAutoSwitchRequest; +import haveno.proto.grpc.GetAutoSwitchRequest; +import haveno.proto.grpc.GetAutoSwitchReply; import haveno.proto.grpc.SetConnectionReply; import haveno.proto.grpc.SetConnectionRequest; import haveno.proto.grpc.StartCheckingConnectionReply; @@ -221,6 +223,15 @@ class GrpcXmrConnectionService extends XmrConnectionsImplBase { }); } + @Override + public void getAutoSwitch(GetAutoSwitchRequest request, + StreamObserver responseObserver) { + handleRequest(responseObserver, () -> { + coreApi.getXmrConnectionAutoSwitch(); + return GetAutoSwitchReply.newBuilder().build(); + }); + } + private <_Reply> void handleRequest(StreamObserver<_Reply> responseObserver, RpcRequestHandler<_Reply> handler) { try { diff --git a/proto/src/main/proto/grpc.proto b/proto/src/main/proto/grpc.proto index 1bb4c9f5ec..7bd44d2e20 100644 --- a/proto/src/main/proto/grpc.proto +++ b/proto/src/main/proto/grpc.proto @@ -323,6 +323,8 @@ service XmrConnections { } rpc SetAutoSwitch(SetAutoSwitchRequest) returns (SetAutoSwitchReply) { } + rpc GetAutoSwitch(GetAutoSwitchRequest) returns (GetAutoSwitchRequest) { + } } message UrlConnection { @@ -410,6 +412,12 @@ message SetAutoSwitchRequest { message SetAutoSwitchReply {} +message GetAutoSwitchRequest {} + +message GetAutoSwitchReply { + bool auto_switch = 1; +} + /////////////////////////////////////////////////////////////////////////////////////////// // XmrNode ///////////////////////////////////////////////////////////////////////////////////////////