From 72587f00dbd2bb711b3815b33f21a920767620ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20S=C3=A1nchez?= Date: Tue, 17 Dec 2024 13:21:01 -0300 Subject: [PATCH] . --- .../dcav2gui/ui/exchanges/BinanceFragment.java | 15 ++++++++++++--- .../dcav2gui/ui/exchanges/BinanceViewModel.java | 10 +++++++--- .../ui/exchanges/adapters/WorkerCardAdapter.java | 1 - 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/example/dcav2gui/ui/exchanges/BinanceFragment.java b/app/src/main/java/com/example/dcav2gui/ui/exchanges/BinanceFragment.java index 535dc49..d75ba68 100644 --- a/app/src/main/java/com/example/dcav2gui/ui/exchanges/BinanceFragment.java +++ b/app/src/main/java/com/example/dcav2gui/ui/exchanges/BinanceFragment.java @@ -32,11 +32,20 @@ public class BinanceFragment extends Fragment { RecyclerView recyclerView = binding.recyclerView; recyclerView.setLayoutManager(new LinearLayoutManager(getContext())); - adapter = new WorkerCardAdapter(new ArrayList<>()); - recyclerView.setAdapter(adapter); - binanceViewModel.getWorkerData().observe(getViewLifecycleOwner(), adapter::updateData); + //adapter = new WorkerCardAdapter(new ArrayList<>()); + //adapter = new WorkerCardAdapter(binanceViewModel.getWorkerData().getValue() != null ? binanceViewModel.getWorkerData().getValue() : new ArrayList<>()); + //recyclerView.setAdapter(adapter); + //binanceViewModel.getWorkerData().observe(getViewLifecycleOwner(), adapter::updateData); + binanceViewModel.getWorkerData().observe(getViewLifecycleOwner(), newData -> { + if (adapter == null) { + adapter = new WorkerCardAdapter(newData); + recyclerView.setAdapter(adapter); + } else { + adapter.updateData(newData); + } + }); return root; } diff --git a/app/src/main/java/com/example/dcav2gui/ui/exchanges/BinanceViewModel.java b/app/src/main/java/com/example/dcav2gui/ui/exchanges/BinanceViewModel.java index c0383d5..b597d0b 100644 --- a/app/src/main/java/com/example/dcav2gui/ui/exchanges/BinanceViewModel.java +++ b/app/src/main/java/com/example/dcav2gui/ui/exchanges/BinanceViewModel.java @@ -24,14 +24,19 @@ public class BinanceViewModel extends AndroidViewModel { } public LiveData> getWorkerData() { + //Iterate through workerDataList + if (workerDataList.getValue() == null) { + fetchWorkerData(); + } + //System.err.println(workerDataList.getValue().get(0).toString()); return workerDataList; } private void fetchWorkerData() { // Simulate fetching data from a source - List data = new ArrayList<>(); + //List data = new ArrayList<>(); // Add WorkerData objects to the list - workerDataList.postValue(data); + //workerDataList.setValue(data); // Schedule a periodic update new Thread(() -> { @@ -51,5 +56,4 @@ public class BinanceViewModel extends AndroidViewModel { }).start(); } - } \ No newline at end of file diff --git a/app/src/main/java/com/example/dcav2gui/ui/exchanges/adapters/WorkerCardAdapter.java b/app/src/main/java/com/example/dcav2gui/ui/exchanges/adapters/WorkerCardAdapter.java index a5ad77d..eb75a82 100644 --- a/app/src/main/java/com/example/dcav2gui/ui/exchanges/adapters/WorkerCardAdapter.java +++ b/app/src/main/java/com/example/dcav2gui/ui/exchanges/adapters/WorkerCardAdapter.java @@ -61,7 +61,6 @@ public class WorkerCardAdapter extends RecyclerView.Adapter