a bit more data in the status bar

This commit is contained in:
Nicolás Sánchez 2024-12-18 16:06:16 -03:00
parent d3e741751f
commit d68ad00358
5 changed files with 21 additions and 20 deletions

View File

@ -46,13 +46,12 @@ public class BinanceFragment extends Fragment {
workerCardAdapter = new WorkerCardAdapter(binding.binanceCardsContainer); workerCardAdapter = new WorkerCardAdapter(binding.binanceCardsContainer);
List<InstanceInterface.WorkerStatsData> workerCache = MainActivity.getInstanceCache("binance").getWorkers(); List<InstanceInterface.WorkerStatsData> workerCache = MainActivity.getInstanceCache("binance").getWorkers();
List<WorkerData> translatedList = InstanceInterface.translateToWorkerData(workerCache); WorkerCardAdapter.populateStatusBar(statusBar, MainActivity.getInstanceCache("binance"));
WorkerCardAdapter.populateStatusBar(statusBar, translatedList); workerCardAdapter.updateData(InstanceInterface.translateToWorkerData(workerCache));
workerCardAdapter.updateData(translatedList);
binanceViewModel.getWorkerData().observe(getViewLifecycleOwner(), workerDataList -> { binanceViewModel.getWorkerData().observe(getViewLifecycleOwner(), workerDataList -> {
if (workerDataList != null) { if (workerDataList != null) {
WorkerCardAdapter.populateStatusBar(statusBar, workerDataList); WorkerCardAdapter.populateStatusBar(statusBar, MainActivity.getInstanceCache("binance"));
workerCardAdapter.updateData(workerDataList); workerCardAdapter.updateData(workerDataList);
} }
}); });

View File

@ -40,13 +40,12 @@ public class GateioFragment extends Fragment {
workerCardAdapter = new WorkerCardAdapter(binding.gateioCardsContainer); workerCardAdapter = new WorkerCardAdapter(binding.gateioCardsContainer);
List<InstanceInterface.WorkerStatsData> workerCache = MainActivity.getInstanceCache("gateio").getWorkers(); List<InstanceInterface.WorkerStatsData> workerCache = MainActivity.getInstanceCache("gateio").getWorkers();
List<WorkerData> translatedList = InstanceInterface.translateToWorkerData(workerCache); WorkerCardAdapter.populateStatusBar(statusBar, MainActivity.getInstanceCache("gateio"));
WorkerCardAdapter.populateStatusBar(statusBar, translatedList); workerCardAdapter.updateData(InstanceInterface.translateToWorkerData(workerCache));
workerCardAdapter.updateData(translatedList);
GateioViewModel.getWorkerData().observe(getViewLifecycleOwner(), workerDataList -> { GateioViewModel.getWorkerData().observe(getViewLifecycleOwner(), workerDataList -> {
if (workerDataList != null) { if (workerDataList != null) {
WorkerCardAdapter.populateStatusBar(statusBar, workerDataList); WorkerCardAdapter.populateStatusBar(statusBar, MainActivity.getInstanceCache("gateio"));
workerCardAdapter.updateData(workerDataList); workerCardAdapter.updateData(workerDataList);
} }
}); });

View File

@ -40,13 +40,12 @@ public class KucoinFragment extends Fragment {
workerCardAdapter = new WorkerCardAdapter(binding.kucoinCardsContainer); workerCardAdapter = new WorkerCardAdapter(binding.kucoinCardsContainer);
List<InstanceInterface.WorkerStatsData> workerCache = MainActivity.getInstanceCache("kucoin").getWorkers(); List<InstanceInterface.WorkerStatsData> workerCache = MainActivity.getInstanceCache("kucoin").getWorkers();
List<WorkerData> translatedList = InstanceInterface.translateToWorkerData(workerCache); WorkerCardAdapter.populateStatusBar(statusBar, MainActivity.getInstanceCache("kucoin"));
WorkerCardAdapter.populateStatusBar(statusBar, translatedList); workerCardAdapter.updateData(InstanceInterface.translateToWorkerData(workerCache));
workerCardAdapter.updateData(translatedList);
KucoinViewModel.getWorkerData().observe(getViewLifecycleOwner(), workerDataList -> { KucoinViewModel.getWorkerData().observe(getViewLifecycleOwner(), workerDataList -> {
if (workerDataList != null) { if (workerDataList != null) {
WorkerCardAdapter.populateStatusBar(statusBar, workerDataList); WorkerCardAdapter.populateStatusBar(statusBar, MainActivity.getInstanceCache("kucoin"));
workerCardAdapter.updateData(workerDataList); workerCardAdapter.updateData(workerDataList);
} }
}); });

View File

@ -40,13 +40,12 @@ public class OkxFragment extends Fragment {
workerCardAdapter = new WorkerCardAdapter(binding.okexCardsContainer); workerCardAdapter = new WorkerCardAdapter(binding.okexCardsContainer);
List<InstanceInterface.WorkerStatsData> workerCache = MainActivity.getInstanceCache("okx").getWorkers(); List<InstanceInterface.WorkerStatsData> workerCache = MainActivity.getInstanceCache("okx").getWorkers();
List<WorkerData> translatedList = InstanceInterface.translateToWorkerData(workerCache); WorkerCardAdapter.populateStatusBar(statusBar, MainActivity.getInstanceCache("okx"));
WorkerCardAdapter.populateStatusBar(statusBar, translatedList); workerCardAdapter.updateData(InstanceInterface.translateToWorkerData(workerCache));
workerCardAdapter.updateData(translatedList);
OkxViewModel.getWorkerData().observe(getViewLifecycleOwner(), workerDataList -> { OkxViewModel.getWorkerData().observe(getViewLifecycleOwner(), workerDataList -> {
if (workerDataList != null) { if (workerDataList != null) {
WorkerCardAdapter.populateStatusBar(statusBar, workerDataList); WorkerCardAdapter.populateStatusBar(statusBar, MainActivity.getInstanceCache("okx"));
workerCardAdapter.updateData(workerDataList); workerCardAdapter.updateData(workerDataList);
} }
}); });

View File

@ -11,6 +11,8 @@ import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.ProgressBar; import android.widget.ProgressBar;
import android.widget.TextView; import android.widget.TextView;
import com.example.dcav2gui.InstanceInterface;
import com.example.dcav2gui.R; import com.example.dcav2gui.R;
import com.example.dcav2gui.ui.exchanges.WorkerData; import com.example.dcav2gui.ui.exchanges.WorkerData;
import java.util.List; import java.util.List;
@ -130,20 +132,23 @@ public class WorkerCardAdapter{
} }
public static void populateStatusBar(TextView statusBar, List<WorkerData> workerDataList) { public static void populateStatusBar(TextView statusBar, InstanceInterface.ExchangeStatsData exchangeData) {
int amountOfWorkers = workerDataList.size(); int amountOfWorkers = exchangeData.getOnlineWorkers();
//double lastSeen = exchangeData.getLastSeen();
int longWorkers = exchangeData.getLongWorkers();
int shortWorkers = exchangeData.getShortWorkers();
int safetyOrdersSent = 0; int safetyOrdersSent = 0;
int maxSafetyOrders = 0; int maxSafetyOrders = 0;
//Iterate workerDataList and extract the total amount of safety orders //Iterate workerDataList and extract the total amount of safety orders
for (WorkerData worker : workerDataList) { for (WorkerData worker : InstanceInterface.translateToWorkerData(exchangeData.getWorkers())) {
if (!worker.isShort()) { if (!worker.isShort()) {
safetyOrdersSent+=worker.getAmountOfSafetyOrders()-1; safetyOrdersSent+=worker.getAmountOfSafetyOrders()-1;
maxSafetyOrders+=worker.getMaxSafetyOrders(); maxSafetyOrders+=worker.getMaxSafetyOrders();
} }
} }
String percentage = String.format(Locale.ROOT, "%.2f", (double) safetyOrdersSent/maxSafetyOrders*100); String percentage = String.format(Locale.ROOT, "%.2f", (double) safetyOrdersSent/maxSafetyOrders*100);
String statusBarText = amountOfWorkers + " traders online - Occupancy " + percentage + "%"; String statusBarText = amountOfWorkers + " traders online (" + longWorkers + "/" + shortWorkers + ") - Occupancy " + percentage + "%";
statusBar.setText(statusBarText); statusBar.setText(statusBarText);
} }