faster instance loading
This commit is contained in:
parent
1906ddec8f
commit
231fb297f8
|
|
@ -615,12 +615,8 @@ public class InstanceInterface {
|
|||
}
|
||||
}
|
||||
|
||||
public static List<WorkerData> fetchWorkersDataForCards(String exchange) throws IOException {
|
||||
// Implement this method to fetch actual data
|
||||
// call List<WorkerStatsData> getAllWorkersStats from InstanceInterface and
|
||||
// translate all the WorkerStatsData objects to WorkerData objects!
|
||||
// Example implementation:
|
||||
List<InstanceInterface.WorkerStatsData> workerStatsDataList = InstanceInterface.getAllWorkersStats(exchange, true);
|
||||
public static List<WorkerData> translateToWorkerData(List<InstanceInterface.WorkerStatsData> workerStatsDataList) {
|
||||
//Translates from WorkerStatsData to WorkerData (for cards)
|
||||
List<WorkerData> workerDataList = new ArrayList<>();
|
||||
if (workerStatsDataList != null) {
|
||||
for (InstanceInterface.WorkerStatsData workerStatsData : workerStatsDataList) {
|
||||
|
|
@ -651,8 +647,17 @@ public class InstanceInterface {
|
|||
return Double.compare(w1.getUptime(), w2.getUptime());
|
||||
}
|
||||
});
|
||||
|
||||
return workerDataList;
|
||||
|
||||
}
|
||||
|
||||
public static List<WorkerData> fetchWorkersDataForCards(String exchange) throws IOException {
|
||||
// Implement this method to fetch actual data
|
||||
// call List<WorkerStatsData> getAllWorkersStats from InstanceInterface and
|
||||
// translate all the WorkerStatsData objects to WorkerData objects!
|
||||
// Example implementation:
|
||||
List<InstanceInterface.WorkerStatsData> workerStatsDataList = InstanceInterface.getAllWorkersStats(exchange, true);
|
||||
return translateToWorkerData(workerStatsDataList);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,9 @@ import com.example.dcav2gui.databinding.ActivityMainBinding;
|
|||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import okhttp3.internal.connection.Exchange;
|
||||
|
||||
public class MainActivity extends AppCompatActivity {
|
||||
|
||||
|
|
@ -32,6 +35,11 @@ public class MainActivity extends AppCompatActivity {
|
|||
private ActivityMainBinding binding;
|
||||
public static SettingsData globalSettings;
|
||||
public HomeFragment.HomeCache homeViewCache;
|
||||
public static InstanceInterface.ExchangeStatsData binanceCache;
|
||||
public static InstanceInterface.ExchangeStatsData gateioCache;
|
||||
public static InstanceInterface.ExchangeStatsData kucoinCache;
|
||||
public static InstanceInterface.ExchangeStatsData okxCache;
|
||||
|
||||
|
||||
|
||||
public HomeFragment.HomeCache getHomeViewCache() {
|
||||
|
|
@ -42,6 +50,27 @@ public class MainActivity extends AppCompatActivity {
|
|||
this.homeViewCache = newCache;
|
||||
}
|
||||
|
||||
public void setInstanceCache(InstanceInterface.ExchangeStatsData binance,
|
||||
InstanceInterface.ExchangeStatsData gateio,
|
||||
InstanceInterface.ExchangeStatsData kucoin,
|
||||
InstanceInterface.ExchangeStatsData okx) {
|
||||
binanceCache = binance;
|
||||
gateioCache = gateio;
|
||||
kucoinCache = kucoin;
|
||||
okxCache = okx;
|
||||
}
|
||||
|
||||
public static InstanceInterface.ExchangeStatsData getInstanceCache(String exchange) {
|
||||
if (Objects.equals(exchange, "binance")) {
|
||||
return binanceCache;
|
||||
} else if (Objects.equals(exchange, "gateio")) {
|
||||
return gateioCache;
|
||||
} else if (Objects.equals(exchange, "kucoin")) {
|
||||
return kucoinCache;
|
||||
} else {
|
||||
return okxCache;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import androidx.fragment.app.Fragment;
|
|||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
import com.example.dcav2gui.InstanceInterface;
|
||||
import com.example.dcav2gui.MainActivity;
|
||||
import com.example.dcav2gui.R;
|
||||
import com.example.dcav2gui.databinding.FragmentBinanceBinding;
|
||||
import com.example.dcav2gui.ui.exchanges.adapters.WorkerCardAdapter;
|
||||
|
|
@ -19,6 +20,7 @@ import com.example.dcav2gui.ui.exchanges.WorkerData;
|
|||
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Objects;
|
||||
|
||||
|
||||
public class BinanceFragment extends Fragment {
|
||||
|
|
@ -28,6 +30,7 @@ public class BinanceFragment extends Fragment {
|
|||
private WorkerCardAdapter workerCardAdapter;
|
||||
private TextView statusBar;
|
||||
|
||||
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater,
|
||||
ViewGroup container, Bundle savedInstanceState) {
|
||||
|
|
@ -42,6 +45,11 @@ 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);
|
||||
|
||||
binanceViewModel.getWorkerData().observe(getViewLifecycleOwner(), workerDataList -> {
|
||||
if (workerDataList != null) {
|
||||
WorkerCardAdapter.populateStatusBar(statusBar, workerDataList);
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ public class BinanceViewModel extends AndroidViewModel {
|
|||
}
|
||||
|
||||
public LiveData<List<WorkerData>> getWorkerData() {
|
||||
//Iterate through workerDataList
|
||||
|
||||
if (workerDataList.getValue() == null) {
|
||||
fetchWorkerData();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,10 +10,14 @@ import androidx.annotation.NonNull;
|
|||
import androidx.fragment.app.Fragment;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
import com.example.dcav2gui.InstanceInterface;
|
||||
import com.example.dcav2gui.MainActivity;
|
||||
import com.example.dcav2gui.R;
|
||||
import com.example.dcav2gui.databinding.FragmentGateioBinding;
|
||||
import com.example.dcav2gui.ui.exchanges.adapters.WorkerCardAdapter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public class GateioFragment extends Fragment {
|
||||
|
||||
|
|
@ -35,6 +39,11 @@ 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);
|
||||
|
||||
GateioViewModel.getWorkerData().observe(getViewLifecycleOwner(), workerDataList -> {
|
||||
if (workerDataList != null) {
|
||||
WorkerCardAdapter.populateStatusBar(statusBar, workerDataList);
|
||||
|
|
|
|||
|
|
@ -10,10 +10,14 @@ import androidx.annotation.NonNull;
|
|||
import androidx.fragment.app.Fragment;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
import com.example.dcav2gui.InstanceInterface;
|
||||
import com.example.dcav2gui.MainActivity;
|
||||
import com.example.dcav2gui.R;
|
||||
import com.example.dcav2gui.databinding.FragmentKucoinBinding;
|
||||
import com.example.dcav2gui.ui.exchanges.adapters.WorkerCardAdapter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public class KucoinFragment extends Fragment {
|
||||
|
||||
|
|
@ -35,6 +39,11 @@ 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);
|
||||
|
||||
KucoinViewModel.getWorkerData().observe(getViewLifecycleOwner(), workerDataList -> {
|
||||
if (workerDataList != null) {
|
||||
WorkerCardAdapter.populateStatusBar(statusBar, workerDataList);
|
||||
|
|
|
|||
|
|
@ -10,10 +10,14 @@ import androidx.annotation.NonNull;
|
|||
import androidx.fragment.app.Fragment;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
import com.example.dcav2gui.InstanceInterface;
|
||||
import com.example.dcav2gui.MainActivity;
|
||||
import com.example.dcav2gui.R;
|
||||
import com.example.dcav2gui.databinding.FragmentOkxBinding;
|
||||
import com.example.dcav2gui.ui.exchanges.adapters.WorkerCardAdapter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public class OkxFragment extends Fragment {
|
||||
|
||||
|
|
@ -35,6 +39,11 @@ 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);
|
||||
|
||||
OkxViewModel.getWorkerData().observe(getViewLifecycleOwner(), workerDataList -> {
|
||||
if (workerDataList != null) {
|
||||
WorkerCardAdapter.populateStatusBar(statusBar, workerDataList);
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ import android.text.SpannableString;
|
|||
import android.text.SpannableStringBuilder;
|
||||
import android.text.style.ForegroundColorSpan;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
|
@ -112,14 +111,6 @@ public class HomeFragment extends Fragment {
|
|||
private TextView log3Content;
|
||||
private TextView log4Content;
|
||||
|
||||
// InstanceInterface.ExchangeStatsData binanceStats;
|
||||
// InstanceInterface.ExchangeStatsData gateioStats;
|
||||
// InstanceInterface.ExchangeStatsData kucoinStats;
|
||||
// InstanceInterface.ExchangeStatsData okexStats;
|
||||
|
||||
|
||||
|
||||
|
||||
public View onCreateView(@NonNull LayoutInflater inflater,
|
||||
ViewGroup container, Bundle savedInstanceState) {
|
||||
|
||||
|
|
@ -612,6 +603,7 @@ public class HomeFragment extends Fragment {
|
|||
mainActivity.setHomeViewCache(
|
||||
new HomeCache (priceData, priceData2, priceData3, profitsData, binanceStats, gateioStats, kucoinStats, okexStats, deals, logs1, logs2, logs3, logs4)
|
||||
);
|
||||
mainActivity.setInstanceCache(binanceStats, gateioStats, kucoinStats, okexStats);
|
||||
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue