diff --git a/.gitignore b/.gitignore index a68e5b5..f512cf7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ # Gradle files .gradle/ build/ +release/ # Local configuration file (sdk path, etc) local.properties diff --git a/README.md b/README.md index eaf890b..ba46b96 100644 --- a/README.md +++ b/README.md @@ -20,8 +20,8 @@ #### Things that are yet to be implemented: - A page that lets users cross-compare scouting data between teams. (Compare) - A page that lets scouters more easily make reports to the drive team before a match starts (Report) -- More types of fields - Data cloud sync using an FTP server + #### Things that may or may not be implemented: - Practice mode - Statbotics intgration @@ -31,5 +31,5 @@ ### Screenshots |Match scouting interface|Field editor|Teams data viewer| |-|-|-| -|![Screenshot1](https://github.com/Team4388/ScoutingApp2025/blob/main/Images/Screenshot_20240925-142944_RidgeScout_1.png?raw=true)|![Screenshot2](https://github.com/Team4388/ScoutingApp2025/blob/main/Images/Screenshot_20240925-143135_RidgeScout_1.png?raw=true)|![Screenshot3](https://github.com/Team4388/ScoutingApp2025/blob/main/Images/Screenshot_20240925-143522_RidgeScout_1.png?raw=true)| +|![Screenshot1](https://github.com/Team4388/ScoutingApp2025/blob/main/metadata/en-US/images/phoneScreenshots/1.png?raw=true)|![Screenshot2](https://github.com/Team4388/ScoutingApp2025/blob/main/metadata/en-US/images/phoneScreenshots/2.png?raw=true)|![Screenshot3](https://github.com/Team4388/ScoutingApp2025/blob/main/metadata/en-US/images/phoneScreenshots/3.png?raw=true)| diff --git a/TODO.md b/TODO.md index 0917f76..f8deb12 100644 --- a/TODO.md +++ b/TODO.md @@ -3,9 +3,7 @@ - Make practice mode?? ##### Data Analysis: - Statbotics intigration??? -- Make the "Compare" menu, cross comparing team's stats. ##### Functionality: -- Add more types of data fields. - Test the scouting app ### In Progress: @@ -13,6 +11,7 @@ ##### Data Analysis: - AI overview of scouting data for a team??? - Make the "Report" menu, A tool that lets users select data to display from the the teams and compare menus. +- Make the "Compare" menu, cross comparing team's stats. ##### Functionality: - Make server software to allow for easy sync over wifi - FTP @@ -36,3 +35,4 @@ - Make the system for blank and unselected fields better. - Write docs - Deploy to F-Droid +- Add more types of data fields. diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 38cd282..15ef39c 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -79,8 +79,6 @@ dependencies { implementation("com.github.PhilJay:MPAndroidChart:v3.1.0") - - // implementation("com.google.firebase:firebase-ml-modeldownloader:24.1.2") // implementation(platform("com.google.firebase:firebase-bom:33.1.2")) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0515d8a..9ca36bd 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -7,7 +7,7 @@ android:required="true" /> - + diff --git a/app/src/main/java/com/ridgebotics/ridgescout/ui/scouting/PitScoutingFragment.java b/app/src/main/java/com/ridgebotics/ridgescout/ui/scouting/PitScoutingFragment.java index a24b02b..4e20b22 100644 --- a/app/src/main/java/com/ridgebotics/ridgescout/ui/scouting/PitScoutingFragment.java +++ b/app/src/main/java/com/ridgebotics/ridgescout/ui/scouting/PitScoutingFragment.java @@ -15,6 +15,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; +import com.ridgebotics.ridgescout.utility.AlertManager; import com.ridgebotics.ridgescout.utility.settingsManager; import com.ridgebotics.ridgescout.databinding.FragmentScoutingPitBinding; import com.ridgebotics.ridgescout.scoutingData.ScoutingDataWriter; @@ -74,9 +75,10 @@ public class PitScoutingFragment extends Fragment { types[i] = pit_latest_values[i].getViewValue(); } - if(ScoutingDataWriter.save(pit_values.length-1, username, filename, types)) + if(ScoutingDataWriter.save(pit_values.length-1, username, filename, types)) { System.out.println("Saved!"); - else + AlertManager.toast("Saved " + filename); + }else System.out.println("Error saving"); } diff --git a/app/src/main/java/com/ridgebotics/ridgescout/ui/settings/settingsFragment.java b/app/src/main/java/com/ridgebotics/ridgescout/ui/settings/settingsFragment.java index 3c61074..ff1edd5 100644 --- a/app/src/main/java/com/ridgebotics/ridgescout/ui/settings/settingsFragment.java +++ b/app/src/main/java/com/ridgebotics/ridgescout/ui/settings/settingsFragment.java @@ -212,7 +212,7 @@ public class settingsFragment extends Fragment { alert.setCancelable(true); alert.setPositiveButton("Ok", (dialog, which) -> { -// settingsManager.settings.defaultSettings(); + settingsManager.resetSettings(); username.setText(settingsManager.getUsername()); spinnerView.clearSelectedItem(); // practice_mode.setChecked(latestSettings.settings.get_practice_mode()); diff --git a/app/src/main/java/com/ridgebotics/ridgescout/utility/settingsManager.java b/app/src/main/java/com/ridgebotics/ridgescout/utility/settingsManager.java index 1cc8ebf..35959fa 100644 --- a/app/src/main/java/com/ridgebotics/ridgescout/utility/settingsManager.java +++ b/app/src/main/java/com/ridgebotics/ridgescout/utility/settingsManager.java @@ -41,6 +41,17 @@ public class settingsManager { return editor; } + public static void resetSettings(){ + getEditor() .putString(UnameKey, (String) defaults.get( UnameKey )).apply(); + getEditor() .putString(SelEVCodeKey,(String) defaults.get( SelEVCodeKey)).apply(); + getEditor().putBoolean(WifiModeKey, (boolean) defaults.get( WifiModeKey )).apply(); + getEditor() .putInt(TeamNumKey, (int) defaults.get( TeamNumKey )).apply(); + getEditor() .putInt(MatchNumKey, (int) defaults.get( MatchNumKey )).apply(); + getEditor() .putString(AllyPosKey, (String) defaults.get( AllyPosKey )).apply(); + getEditor() .putInt(DataModeKey, (int) defaults.get( DataModeKey )).apply(); + getEditor() .putString(BtUUIDKey, (String) defaults.get( BtUUIDKey )).apply(); + } + // IDK why I decided to format these functions like this. It looks cool though. public static String getUsername(){return prefs.getString( UnameKey, (String) defaults.get(UnameKey));} public static void setUsername(String str){ getEditor().putString( UnameKey,str).apply();} diff --git a/metadata/en-US/full_description.txt b/metadata/en-US/full_description.txt index 68b8173..5869be4 100644 --- a/metadata/en-US/full_description.txt +++ b/metadata/en-US/full_description.txt @@ -1,3 +1,3 @@ -Work in progress! +This is a scouting app for First Robotics Compitition matches by Ridgebotics, that includes many features. -This is a scouting app for First Robotics Compitition matches, that includes many features. \ No newline at end of file +Wiki: https://github.com/team4388/ScoutingApp2025/wiki \ No newline at end of file diff --git a/metadata/en-US/images/FeatureGraphic.png b/metadata/en-US/images/featureGraphic.png similarity index 100% rename from metadata/en-US/images/FeatureGraphic.png rename to metadata/en-US/images/featureGraphic.png diff --git a/Images/Screenshot_20240925-142944_RidgeScout_1.png b/metadata/en-US/images/phoneScreenshots/1.png similarity index 100% rename from Images/Screenshot_20240925-142944_RidgeScout_1.png rename to metadata/en-US/images/phoneScreenshots/1.png diff --git a/Images/Screenshot_20240925-143135_RidgeScout_1.png b/metadata/en-US/images/phoneScreenshots/2.png similarity index 100% rename from Images/Screenshot_20240925-143135_RidgeScout_1.png rename to metadata/en-US/images/phoneScreenshots/2.png diff --git a/Images/Screenshot_20240925-143522_RidgeScout_1.png b/metadata/en-US/images/phoneScreenshots/3.png similarity index 100% rename from Images/Screenshot_20240925-143522_RidgeScout_1.png rename to metadata/en-US/images/phoneScreenshots/3.png