From 3f4a2309b38a5514b99e3b3eef97681e391ba5fd Mon Sep 17 00:00:00 2001 From: Michael Mikovsky <77305074+Astatin3@users.noreply.github.com> Date: Mon, 31 Mar 2025 16:37:29 -0600 Subject: [PATCH] Add loading indicator for field data --- .../ridgescout/types/input/tallyType.java | 3 +- .../ridgescout/ui/data/FieldDataFragment.java | 29 +++++++++++++++++-- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/ridgebotics/ridgescout/types/input/tallyType.java b/app/src/main/java/com/ridgebotics/ridgescout/types/input/tallyType.java index 18cfa62..71edbcd 100644 --- a/app/src/main/java/com/ridgebotics/ridgescout/types/input/tallyType.java +++ b/app/src/main/java/com/ridgebotics/ridgescout/types/input/tallyType.java @@ -310,12 +310,13 @@ public class tallyType extends inputType { dataType dataPoint = data[teamNum].get(i); if(dataPoint == null || dataPoint.getValueType() != getValueType()) continue; int num = (int) dataPoint.get(); + System.out.println(num); if(num > max) max = num; if(num < min) min = num; } } - AlertManager.error("Min: " + min + " Max: " + max); + AlertManager.alert("Results","Min: " + min + " Max: " + max); } public String toString(dataType data){ diff --git a/app/src/main/java/com/ridgebotics/ridgescout/ui/data/FieldDataFragment.java b/app/src/main/java/com/ridgebotics/ridgescout/ui/data/FieldDataFragment.java index ef90479..080d7d7 100644 --- a/app/src/main/java/com/ridgebotics/ridgescout/ui/data/FieldDataFragment.java +++ b/app/src/main/java/com/ridgebotics/ridgescout/ui/data/FieldDataFragment.java @@ -11,6 +11,7 @@ import static com.ridgebotics.ridgescout.utility.DataManager.match_transferValue import static com.ridgebotics.ridgescout.utility.DataManager.match_values; import static com.ridgebotics.ridgescout.utility.DataManager.rescout_list; +import android.app.ProgressDialog; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; @@ -56,6 +57,8 @@ public class FieldDataFragment extends Fragment { if (fieldIndex == -1) return root; + startLoading("Loading data..."); + Thread t = new Thread(() -> { List[] data = new ArrayList[event.teams.size()]; @@ -81,9 +84,10 @@ public class FieldDataFragment extends Fragment { -// getActivity().runOnUiThread(() -> { - match_latest_values[fieldIndex].addDataToTable(binding.table, data); -// }); + getActivity().runOnUiThread(() -> { + match_latest_values[fieldIndex].addDataToTable(binding.table, data); + stopLoading(); + }); }); t.start(); @@ -91,4 +95,23 @@ public class FieldDataFragment extends Fragment { return root; } + + private ProgressDialog loadingDialog; + + private void startLoading(String title){ + getActivity().runOnUiThread(() -> { + if(loadingDialog != null && loadingDialog.isShowing()) + loadingDialog.dismiss(); + loadingDialog = ProgressDialog.show(getActivity(), title, "Please wait..."); + }); + } + + private void stopLoading(){ + getActivity().runOnUiThread(() -> { + if (loadingDialog != null) + loadingDialog.cancel(); + loadingDialog = null; + }); + } + } \ No newline at end of file