Hopefully start working on this thing again

- Add field position options in match scout menu
- Work on field editor
This commit is contained in:
Astatin3
2024-09-11 16:02:08 -06:00
parent 665c11c9d8
commit 85c90ac0ff
4 changed files with 107 additions and 10 deletions
@@ -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);
});
}
}
@@ -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();
}
@@ -54,12 +54,19 @@
app:layout_constraintEnd_toEndOf="parent" />
<Button
android:id="@+id/revert_version_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Revert\nVersions"
android:textSize="20sp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
tools:visibility="gone" />
<LinearLayout
android:id="@+id/linearLayout"
android:id="@+id/linearLayout_values"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
@@ -77,9 +84,42 @@
android:layout_height="match_parent">
</com.astatin3.scoutingapp2025.utility.ReorderableTableLayout>
</ScrollView>
</LinearLayout>
<LinearLayout
android:id="@+id/value_edit_container"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="?android:attr/windowBackground"
android:alpha="0.85"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ScrollView
android:id="@+id/value_edit_scrollview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TableLayout
android:id="@+id/Value_edit_table"
android:layout_width="fill_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
</TableLayout>
</ScrollView>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -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" />
<TextView
android:id="@+id/eventcode"
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Temp"