mirror of
https://github.com/Team4388/RidgeScout.git
synced 2026-06-09 00:37:59 -06:00
Start work on the compare menu
This commit is contained in:
@@ -3,21 +3,21 @@ Ridgebotics 2025 scouting app in Android
|
|||||||
|
|
||||||
## TODO:
|
## TODO:
|
||||||
#### Scouting:
|
#### Scouting:
|
||||||
- Make the "Compare" menu, cross comparing team's stats.
|
|
||||||
- Make the "Report" menu, A tool that lets users select data to display from the the teams and compare menus.
|
- Make the "Report" menu, A tool that lets users select data to display from the the teams and compare menus.
|
||||||
- Make practice mode
|
- Make practice mode
|
||||||
#### Data Analysis:
|
#### Data Analysis:
|
||||||
- Add CSV exporting of match scouting data.
|
|
||||||
- Statbotics intigration
|
- Statbotics intigration
|
||||||
- AI overview of scouting data for a team???
|
- AI overview of scouting data for a team???
|
||||||
#### Functionality:
|
#### Functionality:
|
||||||
- Improve the code scanning progress indicator. It has a rounding error, I think.
|
- Make the system for blank and unselected fields better.
|
||||||
- Add more types of data fields.
|
- Add more types of data fields.
|
||||||
- Make server software to allow for easy sync over wifi
|
- Make server software to allow for easy sync over wifi
|
||||||
|
|
||||||
## In Progress:
|
## In Progress:
|
||||||
#### Scouting:
|
#### Scouting:
|
||||||
#### Data Analysis:
|
#### Data Analysis:
|
||||||
|
- Add CSV exporting of match scouting data.
|
||||||
|
- Make the "Compare" menu, cross comparing team's stats.
|
||||||
#### Functionality:
|
#### Functionality:
|
||||||
- Make pit and match data field builder UIs. I don't want to have to keep editing a variable
|
- Make pit and match data field builder UIs. I don't want to have to keep editing a variable
|
||||||
- Test the scouting app
|
- Test the scouting app
|
||||||
@@ -30,6 +30,7 @@ Ridgebotics 2025 scouting app in Android
|
|||||||
- Add "history" view type to the teams view menu.
|
- Add "history" view type to the teams view menu.
|
||||||
- Sentiment analysis of text input type
|
- Sentiment analysis of text input type
|
||||||
#### Functionality:
|
#### Functionality:
|
||||||
|
- Improve the code scanning progress indicator. It has a rounding error, I think.
|
||||||
- Fix navigation crashes.
|
- Fix navigation crashes.
|
||||||
- Make everything use Fragments instead of views that toggle visibility
|
- Make everything use Fragments instead of views that toggle visibility
|
||||||
- Make the file browser UI
|
- Make the file browser UI
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package com.astatin3.scoutingapp2025.ui.data;
|
||||||
|
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.fragment.app.Fragment;
|
||||||
|
|
||||||
|
import com.astatin3.scoutingapp2025.databinding.FragmentDataCompareBinding;
|
||||||
|
import com.astatin3.scoutingapp2025.databinding.FragmentDataReportBinding;
|
||||||
|
|
||||||
|
public class CompareFragment extends Fragment {
|
||||||
|
FragmentDataCompareBinding binding;
|
||||||
|
|
||||||
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
|
||||||
|
@Nullable Bundle savedInstanceState) {
|
||||||
|
|
||||||
|
binding = FragmentDataCompareBinding.inflate(inflater, container, false);
|
||||||
|
return binding.getRoot();
|
||||||
|
}
|
||||||
|
}
|
||||||
+6
-2
@@ -21,7 +21,7 @@ import com.astatin3.scoutingapp2025.ui.TeamSelectorFragment;
|
|||||||
import com.astatin3.scoutingapp2025.utility.fileEditor;
|
import com.astatin3.scoutingapp2025.utility.fileEditor;
|
||||||
import com.astatin3.scoutingapp2025.types.frcEvent;
|
import com.astatin3.scoutingapp2025.types.frcEvent;
|
||||||
|
|
||||||
public class dataFragment extends Fragment {
|
public class DataFragment extends Fragment {
|
||||||
|
|
||||||
private FragmentDataBinding binding;
|
private FragmentDataBinding binding;
|
||||||
|
|
||||||
@@ -64,8 +64,12 @@ public class dataFragment extends Fragment {
|
|||||||
findNavController(this).navigate(R.id.action_navigation_data_to_navigation_team_selector);
|
findNavController(this).navigate(R.id.action_navigation_data_to_navigation_team_selector);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
binding.compareButton.setOnClickListener(v -> {
|
||||||
|
findNavController(this).navigate(R.id.action_navigation_data_to_navigation_data_compare);
|
||||||
|
});
|
||||||
|
|
||||||
binding.reportButton.setOnClickListener(v -> {
|
binding.reportButton.setOnClickListener(v -> {
|
||||||
findNavController(this).navigate(R.id.action_navigation_data_to_navigation_data_compile);
|
findNavController(this).navigate(R.id.action_navigation_data_to_navigation_data_report);
|
||||||
});
|
});
|
||||||
|
|
||||||
binding.fieldsButton.setOnClickListener(v -> {
|
binding.fieldsButton.setOnClickListener(v -> {
|
||||||
@@ -65,7 +65,7 @@ public class ScoutingFragment extends Fragment {
|
|||||||
});
|
});
|
||||||
|
|
||||||
binding.statusButton.setOnClickListener(v -> {
|
binding.statusButton.setOnClickListener(v -> {
|
||||||
findNavController(this).navigate(R.id.action_navigation_data_to_navigation_data_status);
|
findNavController(this).navigate(R.id.action_navigation_scouting_to_navigation_scouting_status);
|
||||||
});
|
});
|
||||||
|
|
||||||
return binding.getRoot();
|
return binding.getRoot();
|
||||||
|
|||||||
+3
-3
@@ -60,7 +60,7 @@ public class CodeOverlayView extends View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(barColors != null){
|
if(barColors != null){
|
||||||
final int width = getWidth()/barColors.length;
|
final double width = getWidth()/barColors.length;
|
||||||
|
|
||||||
final int top = 0;
|
final int top = 0;
|
||||||
final int bottom = barHeight;
|
final int bottom = barHeight;
|
||||||
@@ -81,8 +81,8 @@ public class CodeOverlayView extends View {
|
|||||||
p.setColor(c);
|
p.setColor(c);
|
||||||
|
|
||||||
canvas.drawRect(new Rect(
|
canvas.drawRect(new Rect(
|
||||||
(i*width), top,
|
(int)(i*width), top,
|
||||||
((i+1)*width), bottom
|
(int)((i+1)*width), bottom
|
||||||
), p);
|
), p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,9 @@
|
|||||||
app:exitAnim="@anim/exit_anim"
|
app:exitAnim="@anim/exit_anim"
|
||||||
app:popEnterAnim="@anim/enter_anim"
|
app:popEnterAnim="@anim/enter_anim"
|
||||||
app:popExitAnim="@anim/pop_exit_anim" />
|
app:popExitAnim="@anim/pop_exit_anim" />
|
||||||
|
<action
|
||||||
|
android:id="@+id/action_navigation_scouting_to_navigation_scouting_status"
|
||||||
|
app:destination="@id/navigation_scouting_status" />
|
||||||
</fragment>
|
</fragment>
|
||||||
|
|
||||||
<fragment
|
<fragment
|
||||||
@@ -64,7 +67,7 @@
|
|||||||
|
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/navigation_data"
|
android:id="@+id/navigation_data"
|
||||||
android:name="com.astatin3.scoutingapp2025.ui.data.dataFragment"
|
android:name="com.astatin3.scoutingapp2025.ui.data.DataFragment"
|
||||||
android:label="@string/title_data"
|
android:label="@string/title_data"
|
||||||
tools:layout="@layout/fragment_data">
|
tools:layout="@layout/fragment_data">
|
||||||
<action
|
<action
|
||||||
@@ -75,8 +78,8 @@
|
|||||||
app:popEnterAnim="@anim/enter_anim"
|
app:popEnterAnim="@anim/enter_anim"
|
||||||
app:popExitAnim="@anim/pop_exit_anim" />
|
app:popExitAnim="@anim/pop_exit_anim" />
|
||||||
<action
|
<action
|
||||||
android:id="@+id/action_navigation_data_to_navigation_data_compile"
|
android:id="@+id/action_navigation_data_to_navigation_data_report"
|
||||||
app:destination="@id/navigation_data_compile"
|
app:destination="@id/navigation_data_report"
|
||||||
app:enterAnim="@anim/enter_anim"
|
app:enterAnim="@anim/enter_anim"
|
||||||
app:exitAnim="@anim/exit_anim"
|
app:exitAnim="@anim/exit_anim"
|
||||||
app:popEnterAnim="@anim/enter_anim"
|
app:popEnterAnim="@anim/enter_anim"
|
||||||
@@ -88,10 +91,17 @@
|
|||||||
app:exitAnim="@anim/exit_anim"
|
app:exitAnim="@anim/exit_anim"
|
||||||
app:popEnterAnim="@anim/enter_anim"
|
app:popEnterAnim="@anim/enter_anim"
|
||||||
app:popExitAnim="@anim/pop_exit_anim" />
|
app:popExitAnim="@anim/pop_exit_anim" />
|
||||||
|
<action
|
||||||
|
android:id="@+id/action_navigation_data_to_navigation_data_compare"
|
||||||
|
app:destination="@id/navigation_data_compare"
|
||||||
|
app:enterAnim="@anim/enter_anim"
|
||||||
|
app:exitAnim="@anim/exit_anim"
|
||||||
|
app:popEnterAnim="@anim/enter_anim"
|
||||||
|
app:popExitAnim="@anim/pop_exit_anim" />
|
||||||
</fragment>
|
</fragment>
|
||||||
|
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/navigation_data_status"
|
android:id="@+id/navigation_scouting_status"
|
||||||
android:name="com.astatin3.scoutingapp2025.ui.scouting.StatusFragment"
|
android:name="com.astatin3.scoutingapp2025.ui.scouting.StatusFragment"
|
||||||
tools:layout="@layout/fragment_scouting_status">
|
tools:layout="@layout/fragment_scouting_status">
|
||||||
</fragment>
|
</fragment>
|
||||||
@@ -103,7 +113,13 @@
|
|||||||
</fragment>
|
</fragment>
|
||||||
|
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/navigation_data_compile"
|
android:id="@+id/navigation_data_compare"
|
||||||
|
android:name="com.astatin3.scoutingapp2025.ui.data.CompareFragment"
|
||||||
|
tools:layout="@layout/fragment_data_report">
|
||||||
|
</fragment>
|
||||||
|
|
||||||
|
<fragment
|
||||||
|
android:id="@+id/navigation_data_report"
|
||||||
android:name="com.astatin3.scoutingapp2025.ui.data.ReportFragment"
|
android:name="com.astatin3.scoutingapp2025.ui.data.ReportFragment"
|
||||||
tools:layout="@layout/fragment_data_report">
|
tools:layout="@layout/fragment_data_report">
|
||||||
</fragment>
|
</fragment>
|
||||||
|
|||||||
Reference in New Issue
Block a user