Minor data loading optimizations
This commit is contained in:
parent
b795578e5b
commit
8a9e86efeb
|
|
@ -286,6 +286,8 @@ public class InstanceInterface {
|
||||||
int onlineWorkers = 0;
|
int onlineWorkers = 0;
|
||||||
int longWorkers = 0;
|
int longWorkers = 0;
|
||||||
int shortWorkers = 0;
|
int shortWorkers = 0;
|
||||||
|
int safetyOrdersSent = 0;
|
||||||
|
int maxSafetyOrders = 0;
|
||||||
List<WorkerStatsData> workers;
|
List<WorkerStatsData> workers;
|
||||||
InstanceGlobalStatsData instanceGlobalStats;
|
InstanceGlobalStatsData instanceGlobalStats;
|
||||||
|
|
||||||
|
|
@ -324,36 +326,25 @@ public class InstanceInterface {
|
||||||
workers = workerStatsFuture.join();
|
workers = workerStatsFuture.join();
|
||||||
instanceGlobalStats = instanceGlobalStatsFuture.join();
|
instanceGlobalStats = instanceGlobalStatsFuture.join();
|
||||||
|
|
||||||
|
|
||||||
//Funds needed
|
|
||||||
if (workers != null) {
|
|
||||||
for (WorkerStatsData worker : workers) {
|
|
||||||
if (!worker.isShort) {
|
|
||||||
for (int i = worker.getSoAmount(); i <= worker.getNumberOfSafetyOrders(); i++) {
|
|
||||||
fundsNeeded += gibSoSize(worker.getOrderSize(),i,0.0105); // I know I know
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Online workers
|
|
||||||
if (workers != null) {
|
|
||||||
onlineWorkers = workers.size();
|
|
||||||
}
|
|
||||||
|
|
||||||
//Long workers
|
|
||||||
if (workers != null) {
|
if (workers != null) {
|
||||||
for (WorkerStatsData worker : workers) {
|
for (WorkerStatsData worker : workers) {
|
||||||
if (!worker.isShort) {
|
if (!worker.isShort) {
|
||||||
longWorkers++;
|
longWorkers++;
|
||||||
|
//Funds needed
|
||||||
|
for (int i = worker.getSoAmount(); i <= worker.getNumberOfSafetyOrders(); i++) {
|
||||||
|
fundsNeeded += gibSoSize(worker.getOrderSize(),i,0.0105); // I know I know
|
||||||
}
|
}
|
||||||
else {
|
//Safety orders
|
||||||
|
safetyOrdersSent+=worker.getSoAmount()-1;
|
||||||
|
maxSafetyOrders+=worker.getNumberOfSafetyOrders();
|
||||||
|
} else {
|
||||||
shortWorkers++;
|
shortWorkers++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
onlineWorkers = workers.size();
|
||||||
}
|
}
|
||||||
|
return new ExchangeStatsData(lastSeen,fundsAvailable,fundsNeeded,onlineWorkers,longWorkers,shortWorkers,safetyOrdersSent,maxSafetyOrders,instanceGlobalStats,workers);
|
||||||
|
|
||||||
return new ExchangeStatsData(lastSeen,fundsAvailable,fundsNeeded,onlineWorkers,longWorkers,shortWorkers,instanceGlobalStats,workers);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -769,16 +760,20 @@ public class InstanceInterface {
|
||||||
private final int onlineWorkers;
|
private final int onlineWorkers;
|
||||||
private final int longWorkers;
|
private final int longWorkers;
|
||||||
private final int shortWorkers;
|
private final int shortWorkers;
|
||||||
|
private final int safetyOrdersSent;
|
||||||
|
private final int maxSafetyOrders;
|
||||||
private final InstanceGlobalStatsData globalStats;
|
private final InstanceGlobalStatsData globalStats;
|
||||||
private final List<WorkerStatsData> workers;
|
private final List<WorkerStatsData> workers;
|
||||||
|
|
||||||
public ExchangeStatsData(double lastSeen, double fundsAvailable, double fundsNeeded, int onlineWorkers, int longWorkers, int shortWorkers, InstanceGlobalStatsData globalStats, List<WorkerStatsData> workers) {
|
public ExchangeStatsData(double lastSeen, double fundsAvailable, double fundsNeeded, int onlineWorkers, int longWorkers, int shortWorkers, int safetyOrdersSent, int maxSafetyOrders, InstanceGlobalStatsData globalStats, List<WorkerStatsData> workers) {
|
||||||
this.lastSeen = lastSeen;
|
this.lastSeen = lastSeen;
|
||||||
this.fundsAvailable = fundsAvailable;
|
this.fundsAvailable = fundsAvailable;
|
||||||
this.fundsNeeded = fundsNeeded;
|
this.fundsNeeded = fundsNeeded;
|
||||||
this.onlineWorkers = onlineWorkers;
|
this.onlineWorkers = onlineWorkers;
|
||||||
this.longWorkers = longWorkers;
|
this.longWorkers = longWorkers;
|
||||||
this.shortWorkers = shortWorkers;
|
this.shortWorkers = shortWorkers;
|
||||||
|
this.safetyOrdersSent = safetyOrdersSent;
|
||||||
|
this.maxSafetyOrders = maxSafetyOrders;
|
||||||
this.globalStats = globalStats;
|
this.globalStats = globalStats;
|
||||||
this.workers = workers;
|
this.workers = workers;
|
||||||
}
|
}
|
||||||
|
|
@ -789,6 +784,8 @@ public class InstanceInterface {
|
||||||
public int getOnlineWorkers() { return onlineWorkers; }
|
public int getOnlineWorkers() { return onlineWorkers; }
|
||||||
public int getLongWorkers() { return longWorkers; }
|
public int getLongWorkers() { return longWorkers; }
|
||||||
public int getShortWorkers() { return shortWorkers; }
|
public int getShortWorkers() { return shortWorkers; }
|
||||||
|
public int getSafetyOrdersSent() {return safetyOrdersSent; }
|
||||||
|
public int getMaxSafetyOrders() {return maxSafetyOrders; }
|
||||||
public InstanceGlobalStatsData getGlobalStats() { return globalStats; }
|
public InstanceGlobalStatsData getGlobalStats() { return globalStats; }
|
||||||
public List<WorkerStatsData> getWorkers() { return workers; }
|
public List<WorkerStatsData> getWorkers() { return workers; }
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@ package com.example.dcav2gui;
|
||||||
|
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
|
||||||
|
import androidx.fragment.app.Fragment;
|
||||||
|
import androidx.fragment.app.FragmentManager;
|
||||||
import androidx.lifecycle.ViewModelProvider;
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
import androidx.navigation.NavController;
|
import androidx.navigation.NavController;
|
||||||
import androidx.navigation.Navigation;//
|
import androidx.navigation.Navigation;//
|
||||||
|
|
@ -11,10 +13,11 @@ import android.view.Menu;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.example.dcav2gui.ui.exchanges.BinanceFragment;
|
||||||
|
import com.example.dcav2gui.ui.exchanges.OkxFragment;
|
||||||
import com.example.dcav2gui.ui.home.HomeFragment;
|
import com.example.dcav2gui.ui.home.HomeFragment;
|
||||||
import com.example.dcav2gui.ui.settings.SettingsData;
|
import com.example.dcav2gui.ui.settings.SettingsData;
|
||||||
import com.example.dcav2gui.ui.settings.SettingsViewModel;
|
import com.example.dcav2gui.ui.settings.SettingsViewModel;
|
||||||
import com.google.android.material.snackbar.Snackbar;
|
|
||||||
import com.google.android.material.navigation.NavigationView;
|
import com.google.android.material.navigation.NavigationView;
|
||||||
|
|
||||||
import androidx.navigation.ui.AppBarConfiguration;
|
import androidx.navigation.ui.AppBarConfiguration;
|
||||||
|
|
@ -27,8 +30,7 @@ import com.example.dcav2gui.databinding.ActivityMainBinding;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
import okhttp3.internal.connection.Exchange;
|
|
||||||
|
|
||||||
public class MainActivity extends AppCompatActivity {
|
public class MainActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
|
@ -122,7 +124,6 @@ public class MainActivity extends AppCompatActivity {
|
||||||
addButton.setVisibility(View.VISIBLE);
|
addButton.setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SettingsData getGlobalSettings() {
|
public static SettingsData getGlobalSettings() {
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import android.widget.Toast;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
|
import androidx.fragment.app.FragmentManager;
|
||||||
import androidx.lifecycle.ViewModelProvider;
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
|
|
||||||
import com.example.dcav2gui.InstanceInterface;
|
import com.example.dcav2gui.InstanceInterface;
|
||||||
|
|
@ -58,8 +59,6 @@ public class BinanceFragment extends Fragment {
|
||||||
workerCardAdapter.updateData(workerDataList);
|
workerCardAdapter.updateData(workerDataList);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
return root;
|
return root;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -166,16 +166,18 @@ public class WorkerCardAdapter{
|
||||||
//double lastSeen = exchangeData.getLastSeen();
|
//double lastSeen = exchangeData.getLastSeen();
|
||||||
int longWorkers = exchangeData.getLongWorkers();
|
int longWorkers = exchangeData.getLongWorkers();
|
||||||
int shortWorkers = exchangeData.getShortWorkers();
|
int shortWorkers = exchangeData.getShortWorkers();
|
||||||
int safetyOrdersSent = 0;
|
int safetyOrdersSent = exchangeData.getSafetyOrdersSent();
|
||||||
int maxSafetyOrders = 0;
|
int maxSafetyOrders = exchangeData.getMaxSafetyOrders();
|
||||||
|
// int safetyOrdersSent = 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 : InstanceInterface.translateToWorkerData(exchangeData.getWorkers())) {
|
// 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 (" + longWorkers + "/" + shortWorkers + ") - Occupancy " + percentage + "%";
|
String statusBarText = amountOfWorkers + " traders online (" + longWorkers + "/" + shortWorkers + ") - Occupancy " + percentage + "%";
|
||||||
statusBar.setText(statusBarText);
|
statusBar.setText(statusBarText);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue