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 {
|
public static List<WorkerData> translateToWorkerData(List<InstanceInterface.WorkerStatsData> workerStatsDataList) {
|
||||||
// Implement this method to fetch actual data
|
//Translates from WorkerStatsData to WorkerData (for cards)
|
||||||
// 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);
|
|
||||||
List<WorkerData> workerDataList = new ArrayList<>();
|
List<WorkerData> workerDataList = new ArrayList<>();
|
||||||
if (workerStatsDataList != null) {
|
if (workerStatsDataList != null) {
|
||||||
for (InstanceInterface.WorkerStatsData workerStatsData : workerStatsDataList) {
|
for (InstanceInterface.WorkerStatsData workerStatsData : workerStatsDataList) {
|
||||||
|
|
@ -651,8 +647,17 @@ public class InstanceInterface {
|
||||||
return Double.compare(w1.getUptime(), w2.getUptime());
|
return Double.compare(w1.getUptime(), w2.getUptime());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return workerDataList;
|
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.io.File;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import okhttp3.internal.connection.Exchange;
|
||||||
|
|
||||||
public class MainActivity extends AppCompatActivity {
|
public class MainActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
|
@ -32,6 +35,11 @@ public class MainActivity extends AppCompatActivity {
|
||||||
private ActivityMainBinding binding;
|
private ActivityMainBinding binding;
|
||||||
public static SettingsData globalSettings;
|
public static SettingsData globalSettings;
|
||||||
public HomeFragment.HomeCache homeViewCache;
|
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() {
|
public HomeFragment.HomeCache getHomeViewCache() {
|
||||||
|
|
@ -42,6 +50,27 @@ public class MainActivity extends AppCompatActivity {
|
||||||
this.homeViewCache = newCache;
|
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
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import androidx.fragment.app.Fragment;
|
||||||
import androidx.lifecycle.ViewModelProvider;
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
|
|
||||||
import com.example.dcav2gui.InstanceInterface;
|
import com.example.dcav2gui.InstanceInterface;
|
||||||
|
import com.example.dcav2gui.MainActivity;
|
||||||
import com.example.dcav2gui.R;
|
import com.example.dcav2gui.R;
|
||||||
import com.example.dcav2gui.databinding.FragmentBinanceBinding;
|
import com.example.dcav2gui.databinding.FragmentBinanceBinding;
|
||||||
import com.example.dcav2gui.ui.exchanges.adapters.WorkerCardAdapter;
|
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.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
|
||||||
public class BinanceFragment extends Fragment {
|
public class BinanceFragment extends Fragment {
|
||||||
|
|
@ -28,6 +30,7 @@ public class BinanceFragment extends Fragment {
|
||||||
private WorkerCardAdapter workerCardAdapter;
|
private WorkerCardAdapter workerCardAdapter;
|
||||||
private TextView statusBar;
|
private TextView statusBar;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(@NonNull LayoutInflater inflater,
|
public View onCreateView(@NonNull LayoutInflater inflater,
|
||||||
ViewGroup container, Bundle savedInstanceState) {
|
ViewGroup container, Bundle savedInstanceState) {
|
||||||
|
|
@ -42,6 +45,11 @@ public class BinanceFragment extends Fragment {
|
||||||
|
|
||||||
workerCardAdapter = new WorkerCardAdapter(binding.binanceCardsContainer);
|
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 -> {
|
binanceViewModel.getWorkerData().observe(getViewLifecycleOwner(), workerDataList -> {
|
||||||
if (workerDataList != null) {
|
if (workerDataList != null) {
|
||||||
WorkerCardAdapter.populateStatusBar(statusBar, workerDataList);
|
WorkerCardAdapter.populateStatusBar(statusBar, workerDataList);
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ public class BinanceViewModel extends AndroidViewModel {
|
||||||
}
|
}
|
||||||
|
|
||||||
public LiveData<List<WorkerData>> getWorkerData() {
|
public LiveData<List<WorkerData>> getWorkerData() {
|
||||||
//Iterate through workerDataList
|
|
||||||
if (workerDataList.getValue() == null) {
|
if (workerDataList.getValue() == null) {
|
||||||
fetchWorkerData();
|
fetchWorkerData();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,14 @@ import androidx.annotation.NonNull;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.lifecycle.ViewModelProvider;
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
|
|
||||||
|
import com.example.dcav2gui.InstanceInterface;
|
||||||
|
import com.example.dcav2gui.MainActivity;
|
||||||
import com.example.dcav2gui.R;
|
import com.example.dcav2gui.R;
|
||||||
import com.example.dcav2gui.databinding.FragmentGateioBinding;
|
import com.example.dcav2gui.databinding.FragmentGateioBinding;
|
||||||
import com.example.dcav2gui.ui.exchanges.adapters.WorkerCardAdapter;
|
import com.example.dcav2gui.ui.exchanges.adapters.WorkerCardAdapter;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
public class GateioFragment extends Fragment {
|
public class GateioFragment extends Fragment {
|
||||||
|
|
||||||
|
|
@ -35,6 +39,11 @@ public class GateioFragment extends Fragment {
|
||||||
|
|
||||||
workerCardAdapter = new WorkerCardAdapter(binding.gateioCardsContainer);
|
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 -> {
|
GateioViewModel.getWorkerData().observe(getViewLifecycleOwner(), workerDataList -> {
|
||||||
if (workerDataList != null) {
|
if (workerDataList != null) {
|
||||||
WorkerCardAdapter.populateStatusBar(statusBar, workerDataList);
|
WorkerCardAdapter.populateStatusBar(statusBar, workerDataList);
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,14 @@ import androidx.annotation.NonNull;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.lifecycle.ViewModelProvider;
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
|
|
||||||
|
import com.example.dcav2gui.InstanceInterface;
|
||||||
|
import com.example.dcav2gui.MainActivity;
|
||||||
import com.example.dcav2gui.R;
|
import com.example.dcav2gui.R;
|
||||||
import com.example.dcav2gui.databinding.FragmentKucoinBinding;
|
import com.example.dcav2gui.databinding.FragmentKucoinBinding;
|
||||||
import com.example.dcav2gui.ui.exchanges.adapters.WorkerCardAdapter;
|
import com.example.dcav2gui.ui.exchanges.adapters.WorkerCardAdapter;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
public class KucoinFragment extends Fragment {
|
public class KucoinFragment extends Fragment {
|
||||||
|
|
||||||
|
|
@ -35,6 +39,11 @@ public class KucoinFragment extends Fragment {
|
||||||
|
|
||||||
workerCardAdapter = new WorkerCardAdapter(binding.kucoinCardsContainer);
|
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 -> {
|
KucoinViewModel.getWorkerData().observe(getViewLifecycleOwner(), workerDataList -> {
|
||||||
if (workerDataList != null) {
|
if (workerDataList != null) {
|
||||||
WorkerCardAdapter.populateStatusBar(statusBar, workerDataList);
|
WorkerCardAdapter.populateStatusBar(statusBar, workerDataList);
|
||||||
|
|
|
||||||
|
|
@ -10,10 +10,14 @@ import androidx.annotation.NonNull;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.lifecycle.ViewModelProvider;
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
|
|
||||||
|
import com.example.dcav2gui.InstanceInterface;
|
||||||
|
import com.example.dcav2gui.MainActivity;
|
||||||
import com.example.dcav2gui.R;
|
import com.example.dcav2gui.R;
|
||||||
import com.example.dcav2gui.databinding.FragmentOkxBinding;
|
import com.example.dcav2gui.databinding.FragmentOkxBinding;
|
||||||
import com.example.dcav2gui.ui.exchanges.adapters.WorkerCardAdapter;
|
import com.example.dcav2gui.ui.exchanges.adapters.WorkerCardAdapter;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
public class OkxFragment extends Fragment {
|
public class OkxFragment extends Fragment {
|
||||||
|
|
||||||
|
|
@ -35,6 +39,11 @@ public class OkxFragment extends Fragment {
|
||||||
|
|
||||||
workerCardAdapter = new WorkerCardAdapter(binding.okexCardsContainer);
|
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 -> {
|
OkxViewModel.getWorkerData().observe(getViewLifecycleOwner(), workerDataList -> {
|
||||||
if (workerDataList != null) {
|
if (workerDataList != null) {
|
||||||
WorkerCardAdapter.populateStatusBar(statusBar, workerDataList);
|
WorkerCardAdapter.populateStatusBar(statusBar, workerDataList);
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@ import android.text.SpannableString;
|
||||||
import android.text.SpannableStringBuilder;
|
import android.text.SpannableStringBuilder;
|
||||||
import android.text.style.ForegroundColorSpan;
|
import android.text.style.ForegroundColorSpan;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
@ -112,14 +111,6 @@ public class HomeFragment extends Fragment {
|
||||||
private TextView log3Content;
|
private TextView log3Content;
|
||||||
private TextView log4Content;
|
private TextView log4Content;
|
||||||
|
|
||||||
// InstanceInterface.ExchangeStatsData binanceStats;
|
|
||||||
// InstanceInterface.ExchangeStatsData gateioStats;
|
|
||||||
// InstanceInterface.ExchangeStatsData kucoinStats;
|
|
||||||
// InstanceInterface.ExchangeStatsData okexStats;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public View onCreateView(@NonNull LayoutInflater inflater,
|
public View onCreateView(@NonNull LayoutInflater inflater,
|
||||||
ViewGroup container, Bundle savedInstanceState) {
|
ViewGroup container, Bundle savedInstanceState) {
|
||||||
|
|
||||||
|
|
@ -612,6 +603,7 @@ public class HomeFragment extends Fragment {
|
||||||
mainActivity.setHomeViewCache(
|
mainActivity.setHomeViewCache(
|
||||||
new HomeCache (priceData, priceData2, priceData3, profitsData, binanceStats, gateioStats, kucoinStats, okexStats, deals, logs1, logs2, logs3, logs4)
|
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