From b8f6cf1b4c08a5aa2c9670f25f9854d9983217ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20S=C3=A1nchez?= Date: Tue, 11 Mar 2025 16:27:41 -0300 Subject: [PATCH] Earner display complete --- .../dcav2gui/ui/earners/EarnFragment.java | 31 +++++-------------- .../ui/earners/EarnerCardAdapter.java | 14 ++++++--- app/src/main/res/layout/earner_card.xml | 4 +-- 3 files changed, 20 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/com/example/dcav2gui/ui/earners/EarnFragment.java b/app/src/main/java/com/example/dcav2gui/ui/earners/EarnFragment.java index f210f9f..02b9e7c 100644 --- a/app/src/main/java/com/example/dcav2gui/ui/earners/EarnFragment.java +++ b/app/src/main/java/com/example/dcav2gui/ui/earners/EarnFragment.java @@ -8,6 +8,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; +import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; import com.example.dcav2gui.EarnerInterface; @@ -26,37 +27,21 @@ public class EarnFragment extends Fragment { ViewGroup container, Bundle savedInstanceState) { com.example.dcav2gui.databinding.FragmentEarnersBinding binding = FragmentEarnersBinding.inflate(inflater, container, false); View root = binding.getRoot(); - EarnerInterface.EarnerGlobalData earnerData; - //Initialize status bar statusBar = root.findViewById(R.id.earners_status_bar); - EarnerViewModel earnerViewModel = new ViewModelProvider(this).get(EarnerViewModel.class); - earnerCardAdapter = new EarnerCardAdapter(binding.earnersCardsContainer); -// try { -// earnerData = EarnerInterface.getEarnerGlobalData(true); -// earnerCardAdapter.populateStatusBar(statusBar, earnerData); -// earnerCardAdapter.updateData(earnerData.getEarnerList()); -// } catch (IOException e) { -// throw new RuntimeException(e); -// } - - - earnerViewModel.getEarnerData().observe(getViewLifecycleOwner(), earnerDataList -> { - if (earnerDataList != null) { - try { - EarnerInterface.EarnerGlobalData earnerNewData = EarnerInterface.getEarnerGlobalData(true); - if (earnerNewData != null) { - earnerCardAdapter.populateStatusBar(statusBar, earnerNewData); - earnerCardAdapter.updateData(earnerNewData.getEarnerList()); - } - } catch (IOException e) { - throw new RuntimeException(e); + earnerViewModel.getEarnerData().observe(getViewLifecycleOwner(), new Observer() { + @Override + public void onChanged(EarnerInterface.EarnerGlobalData earnerGlobalData) { + if (earnerGlobalData != null) { + earnerCardAdapter.populateStatusBar(statusBar, earnerGlobalData); + earnerCardAdapter.updateData(earnerGlobalData.getEarnerList()); } } }); + return root; } } diff --git a/app/src/main/java/com/example/dcav2gui/ui/earners/EarnerCardAdapter.java b/app/src/main/java/com/example/dcav2gui/ui/earners/EarnerCardAdapter.java index ebfc2ce..9f4772b 100644 --- a/app/src/main/java/com/example/dcav2gui/ui/earners/EarnerCardAdapter.java +++ b/app/src/main/java/com/example/dcav2gui/ui/earners/EarnerCardAdapter.java @@ -9,6 +9,7 @@ import android.widget.TextView; import com.example.dcav2gui.EarnerInterface; import com.example.dcav2gui.InstanceInterface; import com.example.dcav2gui.R; +import com.example.dcav2gui.ui.home.HomeFragment; import java.util.List; import java.util.Locale; @@ -57,9 +58,15 @@ public class EarnerCardAdapter { return; } - /* - * Fill the data fields with the earner's values - */ + broker.setText(earner.getBrokerName().toUpperCase(Locale.ROOT)); + tradingBalance.setText(String.format(Locale.ROOT,"%.2f", earner.getTradingBalance())); + earningBalance.setText(String.format(Locale.ROOT, "%.2f", earner.getEarningBalance())); + double occupation = earner.getEarningBalance()/(earner.getEarningBalance() + earner.getTradingBalance()) * 100; + String percentageString = String.format(Locale.ROOT, "%.2f", occupation) + "%"; + percentage.setText(percentageString); + + lastSubscription.setText(HomeFragment.timeStampConverter(earner.getLastSubscription().getAsJsonObject().get(earner.getBrokerName()).getAsDouble(), false)); + lastRedemption.setText(HomeFragment.timeStampConverter(earner.getLastRedemption().getAsJsonObject().get(earner.getBrokerName()).getAsDouble(), false)); cardLayout.setOnLongClickListener(new View.OnLongClickListener() { @Override @@ -83,7 +90,6 @@ public class EarnerCardAdapter { } - //Refactor for earners' status bar public void populateStatusBar(TextView statusBar, EarnerInterface.EarnerGlobalData earnerData) { double uptime = earnerData.getUptime(); List earnerList = earnerData.getEarnerList(); diff --git a/app/src/main/res/layout/earner_card.xml b/app/src/main/res/layout/earner_card.xml index a1ee794..e4bd385 100644 --- a/app/src/main/res/layout/earner_card.xml +++ b/app/src/main/res/layout/earner_card.xml @@ -102,7 +102,7 @@ android:textSize="10sp" />