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