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);
List<InstanceInterface.WorkerStatsData> workerCache = MainActivity.getInstanceCache("binance").getWorkers();
List<WorkerData> translatedList = InstanceInterface.translateToWorkerData(workerCache);
WorkerCardAdapter.populateStatusBar(statusBar, translatedList);
workerCardAdapter.updateData(translatedList);
WorkerCardAdapter.populateStatusBar(statusBar, MainActivity.getInstanceCache("binance"));
workerCardAdapter.updateData(InstanceInterface.translateToWorkerData(workerCache));
binanceViewModel.getWorkerData().observe(getViewLifecycleOwner(), workerDataList -> {
if (workerDataList != null) {
WorkerCardAdapter.populateStatusBar(statusBar, workerDataList);
WorkerCardAdapter.populateStatusBar(statusBar, MainActivity.getInstanceCache("binance"));
workerCardAdapter.updateData(workerDataList);
}
});

View File

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

View File

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

View File

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

View File

@ -11,6 +11,8 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
import com.example.dcav2gui.InstanceInterface;
import com.example.dcav2gui.R;
import com.example.dcav2gui.ui.exchanges.WorkerData;
import java.util.List;
@ -130,20 +132,23 @@ public class WorkerCardAdapter{
}
public static void populateStatusBar(TextView statusBar, List<WorkerData> workerDataList) {
int amountOfWorkers = workerDataList.size();
public static void populateStatusBar(TextView statusBar, InstanceInterface.ExchangeStatsData exchangeData) {
int amountOfWorkers = exchangeData.getOnlineWorkers();
//double lastSeen = exchangeData.getLastSeen();
int longWorkers = exchangeData.getLongWorkers();
int shortWorkers = exchangeData.getShortWorkers();
int safetyOrdersSent = 0;
int maxSafetyOrders = 0;
//Iterate workerDataList and extract the total amount of safety orders
for (WorkerData worker : workerDataList) {
for (WorkerData worker : InstanceInterface.translateToWorkerData(exchangeData.getWorkers())) {
if (!worker.isShort()) {
safetyOrdersSent+=worker.getAmountOfSafetyOrders()-1;
maxSafetyOrders+=worker.getMaxSafetyOrders();
}
}
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);
}