EarnerFragment
This commit is contained in:
parent
adcbdad32d
commit
76f2733e54
|
|
@ -1,6 +1,62 @@
|
|||
package com.example.dcav2gui.ui.earners;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
import com.example.dcav2gui.EarnerInterface;
|
||||
import com.example.dcav2gui.R;
|
||||
import com.example.dcav2gui.databinding.FragmentEarnersBinding;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class EarnFragment extends Fragment {
|
||||
private EarnerCardAdapter earnerCardAdapter;
|
||||
private TextView statusBar;
|
||||
|
||||
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater,
|
||||
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);
|
||||
}
|
||||
}
|
||||
});
|
||||
return root;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import android.view.ViewGroup;
|
|||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.example.dcav2gui.EarnerInterface;
|
||||
import com.example.dcav2gui.InstanceInterface;
|
||||
import com.example.dcav2gui.R;
|
||||
|
||||
|
|
@ -83,17 +84,13 @@ public class EarnerCardAdapter {
|
|||
}
|
||||
|
||||
//Refactor for earners' status bar
|
||||
public static void populateStatusBar(TextView statusBar, InstanceInterface.ExchangeStatsData exchangeData) {
|
||||
int amountOfWorkers = exchangeData.getOnlineWorkers();
|
||||
//double lastSeen = exchangeData.getLastSeen();
|
||||
int longWorkers = exchangeData.getLongWorkers();
|
||||
int shortWorkers = exchangeData.getShortWorkers();
|
||||
int safetyOrdersSent = exchangeData.getSafetyOrdersSent();
|
||||
int maxSafetyOrders = exchangeData.getMaxSafetyOrders();
|
||||
public void populateStatusBar(TextView statusBar, EarnerInterface.EarnerGlobalData earnerData) {
|
||||
double uptime = earnerData.getUptime();
|
||||
List<EarnerData> earnerList = earnerData.getEarnerList();
|
||||
|
||||
String percentage = String.format(Locale.ROOT, "%.2f", (double) safetyOrdersSent/maxSafetyOrders*100);
|
||||
String statusBarText = amountOfWorkers + " traders online (" + longWorkers + "/" + shortWorkers + ") - Occupancy " + percentage + "%";
|
||||
statusBar.setText(statusBarText);
|
||||
//String percentage = String.format(Locale.ROOT, "%.2f", (double) safetyOrdersSent/maxSafetyOrders*100);
|
||||
//String statusBarText = amountOfWorkers + " traders online (" + longWorkers + "/" + shortWorkers + ") - Occupancy " + percentage + "%";
|
||||
//statusBar.setText(statusBarText);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public class EarnerViewModel extends AndroidViewModel {
|
|||
fetchEarnerData(); // Initial data fetch
|
||||
}
|
||||
|
||||
public LiveData<EarnerInterface.EarnerGlobalData> getWorkerData() {
|
||||
public LiveData<EarnerInterface.EarnerGlobalData> getEarnerData() {
|
||||
|
||||
if (earnerGlobalData.getValue() == null) {
|
||||
fetchEarnerData();
|
||||
|
|
@ -36,7 +36,7 @@ public class EarnerViewModel extends AndroidViewModel {
|
|||
}
|
||||
|
||||
private void fetchEarnerData() {
|
||||
HandlerThread handlerThread = new HandlerThread("FetchWorkerDataThread");
|
||||
HandlerThread handlerThread = new HandlerThread("FetchEarnerDataThread");
|
||||
handlerThread.start();
|
||||
Handler handler = new Handler(handlerThread.getLooper());
|
||||
handler.post(new Runnable() {
|
||||
|
|
|
|||
Loading…
Reference in New Issue