From 134e2c00b02f63894a64f524d55edac72c0223c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20S=C3=A1nchez?= Date: Wed, 25 Dec 2024 14:10:53 -0300 Subject: [PATCH] importTrader --- .../com/example/dcav2gui/WorkerInterface.java | 35 +++++++++++++++++++ .../ui/exchanges/BinanceFragment.java | 2 +- .../dcav2gui/ui/exchanges/GateioFragment.java | 2 +- .../dcav2gui/ui/exchanges/KucoinFragment.java | 2 +- .../dcav2gui/ui/exchanges/OkxFragment.java | 2 +- 5 files changed, 39 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/example/dcav2gui/WorkerInterface.java b/app/src/main/java/com/example/dcav2gui/WorkerInterface.java index 36cf57b..871d7d6 100644 --- a/app/src/main/java/com/example/dcav2gui/WorkerInterface.java +++ b/app/src/main/java/com/example/dcav2gui/WorkerInterface.java @@ -803,6 +803,41 @@ public class WorkerInterface { } + public static void sendImportTraderCall(String exchange, Context context) { + AlertDialog.Builder builder = new AlertDialog.Builder(context); + builder.setTitle("Enter pair to import to "+ exchange); + + final EditText input = new EditText(context); + input.setInputType(InputType.TYPE_CLASS_TEXT); + input.setTextAlignment(View.TEXT_ALIGNMENT_CENTER); + builder.setView(input); + + builder.setPositiveButton("Import", (dialog, which) -> { + final String pair = input.getText().toString(); + new Thread(() -> { + try { + JsonObject response = WorkerInterface.importTrader(exchange, pair, true); + new Handler(Looper.getMainLooper()).post(() -> { + showToggleDialog(response, context); + }); + } catch (IOException e) { + e.printStackTrace(); + // Show an error dialog on the main thread + new Handler(Looper.getMainLooper()).post(() -> { + AlertDialog.Builder errorBuilder = new AlertDialog.Builder(context); + errorBuilder.setTitle("Error"); + errorBuilder.setMessage("Failed to import trader: " + e.getMessage()); + errorBuilder.setPositiveButton("OK", null); + errorBuilder.show(); + }); + } + }).start(); + }); + + builder.setNegativeButton("Cancel", (dialog, which) -> dialog.cancel()); + builder.show(); + } + public static void fetchWorkerStats(String exchange, String pair, Context context) { new Thread(() -> { try { diff --git a/app/src/main/java/com/example/dcav2gui/ui/exchanges/BinanceFragment.java b/app/src/main/java/com/example/dcav2gui/ui/exchanges/BinanceFragment.java index 907b0cf..a1169ac 100644 --- a/app/src/main/java/com/example/dcav2gui/ui/exchanges/BinanceFragment.java +++ b/app/src/main/java/com/example/dcav2gui/ui/exchanges/BinanceFragment.java @@ -85,7 +85,7 @@ public class BinanceFragment extends Fragment implements WorkerCardAdapter.OnCar System.err.println(pair + " Restart option clicked"); return true; } else if (item.getItemId() == R.id.importTrader) { - System.err.println(pair + " Import option clicked"); + WorkerInterface.sendImportTraderCall("binance",getContext()); return true; } else if (item.getItemId() == R.id.togglePause) { WorkerInterface.sendTogglePause("binance", pair, getContext()); diff --git a/app/src/main/java/com/example/dcav2gui/ui/exchanges/GateioFragment.java b/app/src/main/java/com/example/dcav2gui/ui/exchanges/GateioFragment.java index 4930f1c..602f2cd 100644 --- a/app/src/main/java/com/example/dcav2gui/ui/exchanges/GateioFragment.java +++ b/app/src/main/java/com/example/dcav2gui/ui/exchanges/GateioFragment.java @@ -78,7 +78,7 @@ public class GateioFragment extends Fragment implements WorkerCardAdapter.OnCard System.err.println(pair + " Restart option clicked"); return true; } else if (item.getItemId() == R.id.importTrader) { - System.err.println(pair + " Import option clicked"); + WorkerInterface.sendImportTraderCall("gateio",getContext()); return true; } else if (item.getItemId() == R.id.togglePause) { WorkerInterface.sendTogglePause("gateio", pair, getContext()); diff --git a/app/src/main/java/com/example/dcav2gui/ui/exchanges/KucoinFragment.java b/app/src/main/java/com/example/dcav2gui/ui/exchanges/KucoinFragment.java index 35a3e58..868c1cf 100644 --- a/app/src/main/java/com/example/dcav2gui/ui/exchanges/KucoinFragment.java +++ b/app/src/main/java/com/example/dcav2gui/ui/exchanges/KucoinFragment.java @@ -78,7 +78,7 @@ public class KucoinFragment extends Fragment implements WorkerCardAdapter.OnCard System.err.println(pair + " Restart option clicked"); return true; } else if (item.getItemId() == R.id.importTrader) { - System.err.println(pair + " Import option clicked"); + WorkerInterface.sendImportTraderCall("kucoin",getContext()); return true; } else if (item.getItemId() == R.id.togglePause) { WorkerInterface.sendTogglePause("kucoin", pair, getContext()); diff --git a/app/src/main/java/com/example/dcav2gui/ui/exchanges/OkxFragment.java b/app/src/main/java/com/example/dcav2gui/ui/exchanges/OkxFragment.java index 1e28157..74b8b2c 100644 --- a/app/src/main/java/com/example/dcav2gui/ui/exchanges/OkxFragment.java +++ b/app/src/main/java/com/example/dcav2gui/ui/exchanges/OkxFragment.java @@ -78,7 +78,7 @@ public class OkxFragment extends Fragment implements WorkerCardAdapter.OnCardLon System.err.println(pair + " Restart option clicked"); return true; } else if (item.getItemId() == R.id.importTrader) { - System.err.println(pair + " Import option clicked"); + WorkerInterface.sendImportTraderCall("okex",getContext()); return true; } else if (item.getItemId() == R.id.togglePause) { WorkerInterface.sendTogglePause("okex", pair, getContext());