From 85c90ac0ff54f786920c219455c3e3f49be4d4e3 Mon Sep 17 00:00:00 2001
From: Astatin3 <77305074+Astatin3@users.noreply.github.com>
Date: Wed, 11 Sep 2024 16:02:08 -0600
Subject: [PATCH] Hopefully start working on this thing again
- Add field position options in match scout menu
- Work on field editor
---
.../ui/data/FieldsFragment.java | 20 +++++++
.../ui/scouting/MatchScoutingFragment.java | 41 ++++++++++++++-
.../main/res/layout/fragment_data_fields.xml | 52 ++++++++++++++++---
.../res/layout/fragment_scouting_match.xml | 4 +-
4 files changed, 107 insertions(+), 10 deletions(-)
diff --git a/app/src/main/java/com/astatin3/scoutingapp2025/ui/data/FieldsFragment.java b/app/src/main/java/com/astatin3/scoutingapp2025/ui/data/FieldsFragment.java
index 4bd3d44..b6db384 100644
--- a/app/src/main/java/com/astatin3/scoutingapp2025/ui/data/FieldsFragment.java
+++ b/app/src/main/java/com/astatin3/scoutingapp2025/ui/data/FieldsFragment.java
@@ -1,7 +1,9 @@
package com.astatin3.scoutingapp2025.ui.data;
+import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.LayoutInflater;
+import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
@@ -25,16 +27,23 @@ public class FieldsFragment extends Fragment {
filename = tmpfilename;
}
+ @SuppressLint("ClickableViewAccessibility")
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
binding = FragmentDataFieldsBinding.inflate(inflater, container, false);
+ binding.revertVersionButton.setVisibility(View.VISIBLE);
+ binding.valueEditScrollview.setOnTouchListener((v, event) -> true);
+
+
binding.saveButton.setVisibility(View.GONE);
binding.editButton.setVisibility(View.GONE);
binding.upButton.setVisibility(View.GONE);
binding.addButton.setVisibility(View.GONE);
binding.downButton.setVisibility(View.GONE);
+ binding.valueEditContainer.setVisibility(View.GONE);
+
load_field_menu();
return binding.getRoot();
@@ -96,12 +105,16 @@ public class FieldsFragment extends Fragment {
binding.fieldsArea.removeAllViews();
binding.fieldsArea.setReorderingEnabled(false);
+ binding.revertVersionButton.setVisibility(View.GONE);
+
binding.saveButton.setVisibility(View.GONE);
binding.editButton.setVisibility(View.GONE);
binding.upButton.setVisibility(View.VISIBLE);
binding.addButton.setVisibility(View.VISIBLE);
binding.downButton.setVisibility(View.VISIBLE);
+ binding.valueEditContainer.setVisibility(View.GONE);
+
for(int i = 0; i < version_values.length; i++){
TableRow tr = new TableRow(getContext());
TableLayout.LayoutParams rowParams = new TableLayout.LayoutParams(
@@ -174,5 +187,12 @@ public class FieldsFragment extends Fragment {
private void onFieldSelect(inputType field){
System.out.println(field.name);
+ binding.editButton.setOnClickListener(v -> {
+ binding.valueEditContainer.setVisibility(View.VISIBLE);
+ TextView tv = new TextView(getContext());
+ tv.setText("Test!");
+ binding.ValueEditTable.addView(tv);
+ });
+
}
}
diff --git a/app/src/main/java/com/astatin3/scoutingapp2025/ui/scouting/MatchScoutingFragment.java b/app/src/main/java/com/astatin3/scoutingapp2025/ui/scouting/MatchScoutingFragment.java
index f52d2ee..8021b25 100644
--- a/app/src/main/java/com/astatin3/scoutingapp2025/ui/scouting/MatchScoutingFragment.java
+++ b/app/src/main/java/com/astatin3/scoutingapp2025/ui/scouting/MatchScoutingFragment.java
@@ -3,8 +3,10 @@ package com.astatin3.scoutingapp2025.ui.scouting;
import static com.astatin3.scoutingapp2025.utility.DataManager.evcode;
import static com.astatin3.scoutingapp2025.utility.DataManager.event;
+import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.LayoutInflater;
+import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
@@ -20,6 +22,7 @@ import com.astatin3.scoutingapp2025.types.data.dataType;
import com.astatin3.scoutingapp2025.types.frcMatch;
import com.astatin3.scoutingapp2025.types.frcTeam;
import com.astatin3.scoutingapp2025.types.input.inputType;
+import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.astatin3.scoutingapp2025.utility.AutoSaveManager;
import com.astatin3.scoutingapp2025.utility.DataManager;
import com.astatin3.scoutingapp2025.utility.fileEditor;
@@ -31,6 +34,7 @@ public class MatchScoutingFragment extends Fragment {
private FragmentScoutingMatchBinding binding;
+ @SuppressLint("ClickableViewAccessibility")
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
@@ -41,7 +45,7 @@ public class MatchScoutingFragment extends Fragment {
alliance_position = latestSettings.settings.get_alliance_pos();
username = latestSettings.settings.get_username();
- binding.eventcode.setText(evcode);
+ binding.username.setText(username);
binding.alliancePosText.setText(alliance_position);
binding.teamDescription.setVisibility(View.GONE);
@@ -72,6 +76,22 @@ public class MatchScoutingFragment extends Fragment {
update_scouting_data();
});
+
+ boolean fileIndicatorTapped = false;
+ binding.fileIndicator.setOnClickListener(v -> {
+// if(e.getAction() != MotionEvent.ACTION_MOVE) return true;
+// System.out.println(e.getAxisValue(0));
+ if(edited) save();
+
+ alliance_position = incrementMatchPos(alliance_position);
+ latestSettings.settings.set_alliance_pos(alliance_position);
+ binding.alliancePosText.setText(alliance_position);
+
+ update_match_num();
+ update_scouting_data();
+// return true;
+ });
+
binding.backButton.setOnClickListener(v -> {
if(edited) save();
latestSettings.settings.set_match_num(cur_match_num-1);
@@ -90,6 +110,23 @@ public class MatchScoutingFragment extends Fragment {
return binding.getRoot();
}
+ private static String incrementMatchPos(String input){
+ switch(input){ // There's probably a better solution than this.
+ case "red-1":
+ return "red-2";
+ case "red-2":
+ return "red-3";
+ case "red-3":
+ return "blue-1";
+ case "blue-1":
+ return "blue-2";
+ case "blue-2":
+ return "blue-3";
+ case "blue-3":
+ return "red-1";
+ }
+ return "red-1";
+ }
private static final int unsaved_color = 0x60ff0000;
private static final int saved_color = 0x6000ff00;
@@ -113,7 +150,7 @@ public class MatchScoutingFragment extends Fragment {
System.out.println("Saved!");
edited = false;
set_indicator_color(saved_color);
-// fileEditor.createFile(filename);
+ AlertManager.toast("Saved " + filename);
save_fields();
}
diff --git a/app/src/main/res/layout/fragment_data_fields.xml b/app/src/main/res/layout/fragment_data_fields.xml
index 622c25e..ba1b968 100644
--- a/app/src/main/res/layout/fragment_data_fields.xml
+++ b/app/src/main/res/layout/fragment_data_fields.xml
@@ -54,12 +54,19 @@
app:layout_constraintEnd_toEndOf="parent" />
-
-
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_scouting_match.xml b/app/src/main/res/layout/fragment_scouting_match.xml
index fc45d10..a0c8b2d 100644
--- a/app/src/main/res/layout/fragment_scouting_match.xml
+++ b/app/src/main/res/layout/fragment_scouting_match.xml
@@ -70,10 +70,10 @@
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/matchnum"
app:layout_constraintStart_toEndOf="@+id/back_button"
- app:layout_constraintTop_toBottomOf="@id/eventcode" />
+ app:layout_constraintTop_toBottomOf="@id/username" />