8 Commits

Author SHA1 Message Date
Astatin3 0a9f846e77 Forgor to update version number 2024-09-18 09:00:02 -06:00
Astatin3 f37f12178b Actually fix app not showing up 2024-09-18 08:56:55 -06:00
Astatin3 e537aab819 Attempt to fix app not showing up issue 2024-09-18 08:49:26 -06:00
Astatin3 9607241c53 Work on scouting reporting 2024-09-18 08:22:38 -06:00
Astatin3 4764aea990 Add icon.png, change readme 2024-09-16 12:40:07 -06:00
Astatin3 e0c76fb4ef Update output-metadata.json 2024-09-15 23:15:24 -06:00
Astatin3 9c254bb249 Fdroid - update versionName 2024-09-15 23:15:13 -06:00
Astatin3 3f88c9a05e Attempt to get F-Droid working 2024-09-15 22:47:45 -06:00
82 changed files with 533 additions and 401 deletions
+2 -2
View File
@@ -4,7 +4,7 @@ Ridgebotics 2025 scouting app in Android
## TODO:
#### Scouting:
- 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:
- Statbotics intigration???
- AI overview of scouting data for a team???
@@ -12,13 +12,13 @@ Ridgebotics 2025 scouting app in Android
#### Functionality:
- Add more types of data fields.
- Test the scouting app
- Deploy to F-Droid
## In Progress:
#### Scouting:
#### Data Analysis:
#### Functionality:
- Make server software to allow for easy sync over wifi - FTP
- Deploy to F-Droid
## Done:
#### Scouting:
+6 -4
View File
@@ -13,15 +13,15 @@ plugins {
//}
android {
namespace = "com.astatin3.scoutingapp2025"
namespace = "com.ridgebotics.ridgescout"
compileSdk = 34
defaultConfig {
applicationId = "com.astatin3.scoutingapp2025"
applicationId = "com.ridgebotics.ridgescout"
minSdk = 24
targetSdk = 34
versionCode = 1
versionName = "1.0"
versionCode = 3
versionName = "0.3"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
@@ -78,6 +78,8 @@ dependencies {
implementation("org.tensorflow:tensorflow-lite-task-text:0.3.0")
implementation("io.github.ollama4j:ollama4j:1.0.79")
// implementation("com.github.DeveloperPaul123:SimpleBluetoothLibrary:1.5.1")
Binary file not shown.
Binary file not shown.
+37
View File
@@ -0,0 +1,37 @@
{
"version": 3,
"artifactType": {
"type": "APK",
"kind": "Directory"
},
"applicationId": "com.ridgebotics.ridgescout",
"variantName": "release",
"elements": [
{
"type": "SINGLE",
"filters": [],
"attributes": [],
"versionCode": 2,
"versionName": "0.2",
"outputFile": "app-release.apk"
}
],
"elementType": "File",
"baselineProfiles": [
{
"minApi": 28,
"maxApi": 30,
"baselineProfiles": [
"baselineProfiles/1/app-release.dm"
]
},
{
"minApi": 31,
"maxApi": 2147483647,
"baselineProfiles": [
"baselineProfiles/0/app-release.dm"
]
}
],
"minSdkVersionForDexing": 24
}
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025;
package com.ridgebotics.ridgescout;
import android.content.Context;
@@ -21,6 +21,6 @@ public class ExampleInstrumentedTest {
public void useAppContext() {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
assertEquals("com.astatin3.scoutingapp2025", appContext.getPackageName());
assertEquals("com.ridgebotics.ridgescout", appContext.getPackageName());
}
}
+3 -1
View File
@@ -29,7 +29,7 @@
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.ScoutingApp2025"
android:theme="@style/Theme.RidgeScout"
android:hardwareAccelerated="true"
tools:targetApi="31">
<activity
@@ -42,6 +42,8 @@
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.GET_CONTENT" />
<category android:name="android.intent.category.OPEN_FILE" />
</intent-filter>
<intent-filter>
<data android:mimeType="*/*" />
</intent-filter>
</activity>
@@ -1,24 +0,0 @@
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.FragmentDataReportBinding;
public class ReportFragment extends Fragment {
FragmentDataReportBinding binding;
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
binding = FragmentDataReportBinding.inflate(inflater, container, false);
return binding.getRoot();
}
}
@@ -1,37 +1,30 @@
package com.astatin3.scoutingapp2025;
package com.ridgebotics.ridgescout;
import android.content.Intent;
import android.os.Bundle;
import android.view.MenuItem;
import com.astatin3.scoutingapp2025.scoutingData.fields;
import com.astatin3.scoutingapp2025.utility.SentimentAnalysis;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.astatin3.scoutingapp2025.utility.fileEditor;
import com.ridgebotics.ridgescout.scoutingData.fields;
import com.ridgebotics.ridgescout.utility.SentimentAnalysis;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.fileEditor;
import com.google.android.material.bottomnavigation.BottomNavigationView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.navigation.AnimBuilder;
import androidx.navigation.NavController;
import androidx.navigation.NavDestination;
import androidx.navigation.NavOptions;
import androidx.navigation.NavOptionsBuilder;
import androidx.navigation.Navigation;
import androidx.navigation.ui.AppBarConfiguration;
import androidx.navigation.ui.NavigationUI;
import com.astatin3.scoutingapp2025.databinding.ActivityMainBinding;
import com.ridgebotics.ridgescout.databinding.ActivityMainBinding;
import com.astatin3.scoutingapp2025.SettingsVersionStack.latestSettings;
import com.ridgebotics.ridgescout.SettingsVersionStack.latestSettings;
import com.google.android.material.navigation.NavigationBarView;
import java.util.Objects;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;
public class MainActivity extends AppCompatActivity {
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.SettingsVersionStack;
package com.ridgebotics.ridgescout.SettingsVersionStack;
public class latestSettings {
public static sv1 settings = new sv1();
@@ -1,7 +1,7 @@
package com.astatin3.scoutingapp2025.SettingsVersionStack;
package com.ridgebotics.ridgescout.SettingsVersionStack;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.astatin3.scoutingapp2025.utility.fileEditor;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.fileEditor;
import java.nio.charset.StandardCharsets;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.SettingsVersionStack;
package com.ridgebotics.ridgescout.SettingsVersionStack;
public class sv0 extends settingsVersion {
@Override
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.SettingsVersionStack;
package com.ridgebotics.ridgescout.SettingsVersionStack;
import java.util.UUID;
@@ -1,15 +1,15 @@
package com.astatin3.scoutingapp2025.scoutingData;
package com.ridgebotics.ridgescout.scoutingData;
import com.astatin3.scoutingapp2025.scoutingData.transfer.transferType;
import com.astatin3.scoutingapp2025.types.ScoutingArray;
import com.astatin3.scoutingapp2025.types.data.dataType;
import com.astatin3.scoutingapp2025.types.data.stringType;
import com.astatin3.scoutingapp2025.types.input.inputType;
import com.astatin3.scoutingapp2025.types.data.intType;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.astatin3.scoutingapp2025.utility.fileEditor;
import com.astatin3.scoutingapp2025.utility.BuiltByteParser;
import com.astatin3.scoutingapp2025.utility.ByteBuilder;
import com.ridgebotics.ridgescout.scoutingData.transfer.transferType;
import com.ridgebotics.ridgescout.types.ScoutingArray;
import com.ridgebotics.ridgescout.types.data.dataType;
import com.ridgebotics.ridgescout.types.data.stringType;
import com.ridgebotics.ridgescout.types.input.inputType;
import com.ridgebotics.ridgescout.types.data.intType;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.fileEditor;
import com.ridgebotics.ridgescout.utility.BuiltByteParser;
import com.ridgebotics.ridgescout.utility.ByteBuilder;
import java.util.ArrayList;
@@ -1,16 +1,14 @@
package com.astatin3.scoutingapp2025.scoutingData;
package com.ridgebotics.ridgescout.scoutingData;
import com.astatin3.scoutingapp2025.types.input.dropdownType;
import com.astatin3.scoutingapp2025.types.input.inputType;
import com.astatin3.scoutingapp2025.types.input.tallyType;
import com.astatin3.scoutingapp2025.types.input.textType;
import com.astatin3.scoutingapp2025.types.input.sliderType;
import com.astatin3.scoutingapp2025.types.input.textType;
import com.astatin3.scoutingapp2025.ui.scouting.TallyCounterView;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.astatin3.scoutingapp2025.utility.fileEditor;
import com.astatin3.scoutingapp2025.utility.BuiltByteParser;
import com.astatin3.scoutingapp2025.utility.ByteBuilder;
import com.ridgebotics.ridgescout.types.input.dropdownType;
import com.ridgebotics.ridgescout.types.input.inputType;
import com.ridgebotics.ridgescout.types.input.tallyType;
import com.ridgebotics.ridgescout.types.input.textType;
import com.ridgebotics.ridgescout.types.input.sliderType;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.fileEditor;
import com.ridgebotics.ridgescout.utility.BuiltByteParser;
import com.ridgebotics.ridgescout.utility.ByteBuilder;
import java.util.ArrayList;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.scoutingData.transfer;
package com.ridgebotics.ridgescout.scoutingData.transfer;
public class createTransferType extends transferType {
public transferValue getType() {return transferValue.CREATE;}
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.scoutingData.transfer;
package com.ridgebotics.ridgescout.scoutingData.transfer;
public class directTransferType extends transferType {
public transferValue getType() {return transferValue.DIRECT;}
@@ -1,6 +1,6 @@
package com.astatin3.scoutingapp2025.scoutingData.transfer;
package com.ridgebotics.ridgescout.scoutingData.transfer;
import com.astatin3.scoutingapp2025.types.input.inputType;
import com.ridgebotics.ridgescout.types.input.inputType;
public abstract class transferType {
public enum transferValue {
@@ -1,12 +1,12 @@
package com.astatin3.scoutingapp2025.types;
package com.ridgebotics.ridgescout.types;
import com.astatin3.scoutingapp2025.scoutingData.transfer.createTransferType;
import com.astatin3.scoutingapp2025.scoutingData.transfer.directTransferType;
import com.astatin3.scoutingapp2025.scoutingData.transfer.transferType;
import com.astatin3.scoutingapp2025.types.data.dataType;
import com.astatin3.scoutingapp2025.types.data.intType;
import com.astatin3.scoutingapp2025.types.data.stringType;
import com.astatin3.scoutingapp2025.types.input.inputType;
import com.ridgebotics.ridgescout.scoutingData.transfer.createTransferType;
import com.ridgebotics.ridgescout.scoutingData.transfer.directTransferType;
import com.ridgebotics.ridgescout.scoutingData.transfer.transferType;
import com.ridgebotics.ridgescout.types.data.dataType;
import com.ridgebotics.ridgescout.types.data.intType;
import com.ridgebotics.ridgescout.types.data.stringType;
import com.ridgebotics.ridgescout.types.input.inputType;
public class ScoutingArray {
public int version;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.types.data;
package com.ridgebotics.ridgescout.types.data;
public abstract class dataType {
public enum valueTypes {
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.types.data;
package com.ridgebotics.ridgescout.types.data;
public class intType extends dataType {
public static final int nullval = 255;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.types.data;
package com.ridgebotics.ridgescout.types.data;
public class stringType extends dataType{
public static final String nullval = "null";
@@ -1,9 +1,9 @@
package com.astatin3.scoutingapp2025.types;
package com.ridgebotics.ridgescout.types;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.astatin3.scoutingapp2025.utility.BuiltByteParser;
import com.astatin3.scoutingapp2025.utility.ByteBuilder;
import com.astatin3.scoutingapp2025.utility.fileEditor;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.BuiltByteParser;
import com.ridgebotics.ridgescout.utility.ByteBuilder;
import com.ridgebotics.ridgescout.utility.fileEditor;
import java.util.ArrayList;
import java.util.Objects;
@@ -1,9 +1,9 @@
package com.astatin3.scoutingapp2025.types;
package com.ridgebotics.ridgescout.types;
import androidx.annotation.NonNull;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.astatin3.scoutingapp2025.utility.BuiltByteParser;
import com.astatin3.scoutingapp2025.utility.ByteBuilder;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.BuiltByteParser;
import com.ridgebotics.ridgescout.utility.ByteBuilder;
import java.util.ArrayList;
public class frcEvent {
@@ -1,10 +1,10 @@
package com.astatin3.scoutingapp2025.types;
package com.ridgebotics.ridgescout.types;
import androidx.annotation.NonNull;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.astatin3.scoutingapp2025.utility.BuiltByteParser;
import com.astatin3.scoutingapp2025.utility.ByteBuilder;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.BuiltByteParser;
import com.ridgebotics.ridgescout.utility.ByteBuilder;
import java.util.ArrayList;
import java.util.Arrays;
@@ -1,10 +1,10 @@
package com.astatin3.scoutingapp2025.types;
package com.ridgebotics.ridgescout.types;
import androidx.annotation.NonNull;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.astatin3.scoutingapp2025.utility.BuiltByteParser;
import com.astatin3.scoutingapp2025.utility.ByteBuilder;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.BuiltByteParser;
import com.ridgebotics.ridgescout.utility.ByteBuilder;
import java.util.ArrayList;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.types.input;
package com.ridgebotics.ridgescout.types.input;
import android.content.Context;
import android.graphics.Color;
@@ -11,10 +11,10 @@ import android.widget.TextView;
import androidx.annotation.Nullable;
import com.astatin3.scoutingapp2025.types.data.dataType;
import com.astatin3.scoutingapp2025.types.data.intType;
import com.astatin3.scoutingapp2025.utility.BuiltByteParser;
import com.astatin3.scoutingapp2025.utility.ByteBuilder;
import com.ridgebotics.ridgescout.types.data.dataType;
import com.ridgebotics.ridgescout.types.data.intType;
import com.ridgebotics.ridgescout.utility.BuiltByteParser;
import com.ridgebotics.ridgescout.utility.ByteBuilder;
import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.charts.PieChart;
import com.github.mikephil.charting.components.Legend;
@@ -1,16 +1,12 @@
package com.astatin3.scoutingapp2025.types.input;
package com.ridgebotics.ridgescout.types.input;
import android.content.Context;
import android.view.View;
import android.widget.CheckBox;
import android.widget.LinearLayout;
import androidx.constraintlayout.widget.ConstraintLayout;
import com.astatin3.scoutingapp2025.types.data.dataType;
import com.astatin3.scoutingapp2025.ui.data.FieldEditorHelper;
import com.astatin3.scoutingapp2025.utility.BuiltByteParser;
import com.astatin3.scoutingapp2025.utility.ByteBuilder;
import com.ridgebotics.ridgescout.types.data.dataType;
import com.ridgebotics.ridgescout.utility.BuiltByteParser;
import com.ridgebotics.ridgescout.utility.ByteBuilder;
import java.util.function.Function;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.types.input;
package com.ridgebotics.ridgescout.types.input;
import android.content.Context;
import android.graphics.Color;
@@ -9,12 +9,11 @@ import android.widget.LinearLayout;
import androidx.annotation.NonNull;
import com.astatin3.scoutingapp2025.types.data.dataType;
import com.astatin3.scoutingapp2025.types.data.intType;
import com.astatin3.scoutingapp2025.types.data.stringType;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.astatin3.scoutingapp2025.utility.BuiltByteParser;
import com.astatin3.scoutingapp2025.utility.ByteBuilder;
import com.ridgebotics.ridgescout.types.data.dataType;
import com.ridgebotics.ridgescout.types.data.intType;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.BuiltByteParser;
import com.ridgebotics.ridgescout.utility.ByteBuilder;
import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.components.Legend;
import com.github.mikephil.charting.data.Entry;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.types.input;
package com.ridgebotics.ridgescout.types.input;
import android.content.Context;
import android.graphics.Color;
@@ -9,11 +9,11 @@ import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.astatin3.scoutingapp2025.types.data.dataType;
import com.astatin3.scoutingapp2025.types.data.intType;
import com.astatin3.scoutingapp2025.ui.scouting.TallyCounterView;
import com.astatin3.scoutingapp2025.utility.BuiltByteParser;
import com.astatin3.scoutingapp2025.utility.ByteBuilder;
import com.ridgebotics.ridgescout.types.data.dataType;
import com.ridgebotics.ridgescout.types.data.intType;
import com.ridgebotics.ridgescout.ui.scouting.TallyCounterView;
import com.ridgebotics.ridgescout.utility.BuiltByteParser;
import com.ridgebotics.ridgescout.utility.ByteBuilder;
import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.components.Legend;
import com.github.mikephil.charting.data.Entry;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.types.input;
package com.ridgebotics.ridgescout.types.input;
import android.content.Context;
import android.graphics.Color;
@@ -12,11 +12,11 @@ import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.astatin3.scoutingapp2025.types.data.dataType;
import com.astatin3.scoutingapp2025.types.data.stringType;
import com.astatin3.scoutingapp2025.utility.SentimentAnalysis;
import com.astatin3.scoutingapp2025.utility.BuiltByteParser;
import com.astatin3.scoutingapp2025.utility.ByteBuilder;
import com.ridgebotics.ridgescout.types.data.dataType;
import com.ridgebotics.ridgescout.types.data.stringType;
import com.ridgebotics.ridgescout.utility.SentimentAnalysis;
import com.ridgebotics.ridgescout.utility.BuiltByteParser;
import com.ridgebotics.ridgescout.utility.ByteBuilder;
import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.components.Legend;
import com.github.mikephil.charting.data.Entry;
@@ -1,7 +1,7 @@
package com.astatin3.scoutingapp2025.ui;
package com.ridgebotics.ridgescout.ui;
import static com.astatin3.scoutingapp2025.utility.DataManager.evcode;
import static com.astatin3.scoutingapp2025.utility.DataManager.event;
import static com.ridgebotics.ridgescout.utility.DataManager.evcode;
import static com.ridgebotics.ridgescout.utility.DataManager.event;
import android.os.Bundle;
import android.view.LayoutInflater;
@@ -16,13 +16,11 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.astatin3.scoutingapp2025.SettingsVersionStack.latestSettings;
import com.astatin3.scoutingapp2025.databinding.FragmentTeamSelectorBinding;
import com.astatin3.scoutingapp2025.types.frcEvent;
import com.astatin3.scoutingapp2025.types.frcTeam;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.astatin3.scoutingapp2025.utility.DataManager;
import com.astatin3.scoutingapp2025.utility.fileEditor;
import com.ridgebotics.ridgescout.databinding.FragmentTeamSelectorBinding;
import com.ridgebotics.ridgescout.types.frcTeam;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.DataManager;
import com.ridgebotics.ridgescout.utility.fileEditor;
import java.util.Arrays;
@@ -1,4 +1,7 @@
package com.astatin3.scoutingapp2025.ui.data;
package com.ridgebotics.ridgescout.ui.data;
import static com.ridgebotics.ridgescout.SettingsVersionStack.latestSettings.settings;
import static com.ridgebotics.ridgescout.utility.DataManager.event;
import android.os.Bundle;
import android.view.LayoutInflater;
@@ -9,8 +12,15 @@ 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;
import com.ridgebotics.ridgescout.databinding.FragmentDataCompareBinding;
import com.ridgebotics.ridgescout.databinding.FragmentDataReportBinding;
import com.ridgebotics.ridgescout.types.frcMatch;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.DataManager;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.IntStream;
public class CompareFragment extends Fragment {
FragmentDataCompareBinding binding;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.ui.data;
package com.ridgebotics.ridgescout.ui.data;
import static androidx.navigation.fragment.FragmentKt.findNavController;
@@ -13,13 +13,13 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.astatin3.scoutingapp2025.R;
import com.astatin3.scoutingapp2025.SettingsVersionStack.latestSettings;
import com.astatin3.scoutingapp2025.databinding.FragmentDataBinding;
import com.astatin3.scoutingapp2025.types.frcTeam;
import com.astatin3.scoutingapp2025.ui.TeamSelectorFragment;
import com.astatin3.scoutingapp2025.utility.fileEditor;
import com.astatin3.scoutingapp2025.types.frcEvent;
import com.ridgebotics.ridgescout.R;
import com.ridgebotics.ridgescout.SettingsVersionStack.latestSettings;
import com.ridgebotics.ridgescout.databinding.FragmentDataBinding;
import com.ridgebotics.ridgescout.types.frcTeam;
import com.ridgebotics.ridgescout.ui.TeamSelectorFragment;
import com.ridgebotics.ridgescout.utility.fileEditor;
import com.ridgebotics.ridgescout.types.frcEvent;
public class DataFragment extends Fragment {
@@ -35,15 +35,17 @@ public class DataFragment extends Fragment {
String evcode = latestSettings.settings.get_evcode();
binding.fieldsButton.setOnClickListener(v -> {
findNavController(this).navigate(R.id.action_navigation_data_to_navigation_data_fields_chooser);
});
if(evcode.equals("unset")){
binding.noEventError.setVisibility(View.VISIBLE);
binding.buttons.setVisibility(View.VISIBLE);
binding.teamsButton.setVisibility(View.GONE);
binding.compareButton.setVisibility(View.GONE);
binding.reportButton.setVisibility(View.GONE);
binding.teamsButton.setEnabled(false);
binding.compareButton.setEnabled(false);
binding.reportButton.setEnabled(false);
binding.fieldsButton.setVisibility(View.VISIBLE);
@@ -72,10 +74,6 @@ public class DataFragment extends Fragment {
findNavController(this).navigate(R.id.action_navigation_data_to_navigation_data_report);
});
binding.fieldsButton.setOnClickListener(v -> {
findNavController(this).navigate(R.id.action_navigation_data_to_navigation_data_fields_chooser);
});
return root;
}
}
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.ui.data;
package com.ridgebotics.ridgescout.ui.data;
import static android.text.InputType.TYPE_CLASS_NUMBER;
@@ -8,13 +8,12 @@ import android.widget.EditText;
import android.widget.TableLayout;
import android.widget.TextView;
import com.astatin3.scoutingapp2025.types.input.dropdownType;
import com.astatin3.scoutingapp2025.types.input.inputType;
import com.astatin3.scoutingapp2025.types.input.sliderType;
import com.astatin3.scoutingapp2025.types.input.tallyType;
import com.astatin3.scoutingapp2025.types.input.textType;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.google.android.material.textfield.TextInputEditText;
import com.ridgebotics.ridgescout.types.input.dropdownType;
import com.ridgebotics.ridgescout.types.input.inputType;
import com.ridgebotics.ridgescout.types.input.sliderType;
import com.ridgebotics.ridgescout.types.input.tallyType;
import com.ridgebotics.ridgescout.types.input.textType;
import com.ridgebotics.ridgescout.utility.AlertManager;
public class FieldEditorHelper {
private enum parameterTypeEnum {
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.ui.data;
package com.ridgebotics.ridgescout.ui.data;
import static androidx.navigation.fragment.FragmentKt.findNavController;
@@ -11,9 +11,9 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.astatin3.scoutingapp2025.R;
import com.astatin3.scoutingapp2025.databinding.FragmentDataFieldsChooserBinding;
import com.astatin3.scoutingapp2025.scoutingData.fields;
import com.ridgebotics.ridgescout.R;
import com.ridgebotics.ridgescout.databinding.FragmentDataFieldsChooserBinding;
import com.ridgebotics.ridgescout.scoutingData.fields;
public class FieldsChooserFragment extends Fragment {
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.ui.data;
package com.ridgebotics.ridgescout.ui.data;
import android.annotation.SuppressLint;
import android.app.Activity;
@@ -21,15 +21,15 @@ import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.navigation.Navigation;
import com.astatin3.scoutingapp2025.R;
import com.astatin3.scoutingapp2025.databinding.FragmentDataFieldsBinding;
import com.astatin3.scoutingapp2025.scoutingData.fields;
import com.astatin3.scoutingapp2025.types.input.dropdownType;
import com.astatin3.scoutingapp2025.types.input.inputType;
import com.astatin3.scoutingapp2025.types.input.sliderType;
import com.astatin3.scoutingapp2025.types.input.tallyType;
import com.astatin3.scoutingapp2025.types.input.textType;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.ridgebotics.ridgescout.R;
import com.ridgebotics.ridgescout.databinding.FragmentDataFieldsBinding;
import com.ridgebotics.ridgescout.scoutingData.fields;
import com.ridgebotics.ridgescout.types.input.dropdownType;
import com.ridgebotics.ridgescout.types.input.inputType;
import com.ridgebotics.ridgescout.types.input.sliderType;
import com.ridgebotics.ridgescout.types.input.tallyType;
import com.ridgebotics.ridgescout.types.input.textType;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.skydoves.powerspinner.IconSpinnerAdapter;
import com.skydoves.powerspinner.IconSpinnerItem;
import com.skydoves.powerspinner.PowerSpinnerView;
@@ -0,0 +1,121 @@
package com.ridgebotics.ridgescout.ui.data;
import static com.ridgebotics.ridgescout.SettingsVersionStack.latestSettings.settings;
import static com.ridgebotics.ridgescout.utility.DataManager.event;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TableRow;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.ridgebotics.ridgescout.databinding.FragmentDataReportBinding;
import com.ridgebotics.ridgescout.types.frcMatch;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.DataManager;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.IntStream;
public class ReportFragment extends Fragment {
FragmentDataReportBinding binding;
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
binding = FragmentDataReportBinding.inflate(inflater, container, false);
getReportMatches();
return binding.getRoot();
}
public frcMatch[] getTeamMatches(int teamNum){
DataManager.reload_event();
List<frcMatch> teamMatches = new ArrayList<>();
for(int i = 0; i < event.matches.size(); i++){
frcMatch match = event.matches.get(i);
boolean isTeamMatch = false;
isTeamMatch = IntStream.of(match.redAlliance).anyMatch(x -> x == teamNum);
isTeamMatch = isTeamMatch || IntStream.of(match.blueAlliance).anyMatch(x -> x == teamNum);
if(isTeamMatch)
teamMatches.add(match);
}
return teamMatches.toArray(new frcMatch[0]);
}
private int getMostRecentTeamMatch(int teamNum, int curMatch){
frcMatch[] teamMatches = getTeamMatches(teamNum);
int maxMatch = - 1;
for(int i = 0; i < teamMatches.length; i++) {
if (teamMatches[i].matchIndex < curMatch &&
teamMatches[i].matchIndex > maxMatch) {
maxMatch = teamMatches[i].matchIndex;
}
}
if(maxMatch == -1)
return curMatch;
else
return maxMatch;
}
public void getReportMatches(){
// String out = "";
int ourTeamNum = settings.get_team_num();
frcMatch[] teamMatches = getTeamMatches(ourTeamNum);
TableRow tr = new TableRow(getContext());
TextView tv = new TextView(getContext());
tv.setText("Team match");
tr.addView(tv);
tv = new TextView(getContext());
tv.setText("Most informed match");
tr.addView(tv);
binding.teamMatchesTable.addView(tr);
binding.teamMatchesTable.setStretchAllColumns(true);
for(int i = 0; i < teamMatches.length; i++){
tr = new TableRow(getContext());
tv = new TextView(getContext());
tv.setText(String.valueOf(teamMatches[i].matchIndex));
tr.addView(tv);
int maxMatch = -1;
for(int a = 0; a < 6; a++){
int teamNum = 0;
if(a < 3)
teamNum = teamMatches[i].redAlliance[a];
else
teamNum = teamMatches[i].blueAlliance[a-3];
if(teamNum == ourTeamNum)
continue;
int matchNum = getMostRecentTeamMatch(teamNum, teamMatches[i].matchIndex);
if(maxMatch < matchNum)
maxMatch = matchNum;
}
tv = new TextView(getContext());
tv.setText(String.valueOf(maxMatch));
tr.addView(tv);
binding.teamMatchesTable.addView(tr);
}
// AlertManager.error(out);
}
}
@@ -1,12 +1,12 @@
package com.astatin3.scoutingapp2025.ui.data;
package com.ridgebotics.ridgescout.ui.data;
import static com.astatin3.scoutingapp2025.utility.DataManager.evcode;
import static com.astatin3.scoutingapp2025.utility.DataManager.match_latest_values;
import static com.astatin3.scoutingapp2025.utility.DataManager.match_transferValues;
import static com.astatin3.scoutingapp2025.utility.DataManager.match_values;
import static com.astatin3.scoutingapp2025.utility.DataManager.pit_latest_values;
import static com.astatin3.scoutingapp2025.utility.DataManager.pit_transferValues;
import static com.astatin3.scoutingapp2025.utility.DataManager.pit_values;
import static com.ridgebotics.ridgescout.utility.DataManager.evcode;
import static com.ridgebotics.ridgescout.utility.DataManager.match_latest_values;
import static com.ridgebotics.ridgescout.utility.DataManager.match_transferValues;
import static com.ridgebotics.ridgescout.utility.DataManager.match_values;
import static com.ridgebotics.ridgescout.utility.DataManager.pit_latest_values;
import static com.ridgebotics.ridgescout.utility.DataManager.pit_transferValues;
import static com.ridgebotics.ridgescout.utility.DataManager.pit_values;
import android.os.Bundle;
import android.view.Gravity;
@@ -22,13 +22,13 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.astatin3.scoutingapp2025.SettingsVersionStack.latestSettings;
import com.astatin3.scoutingapp2025.databinding.FragmentDataTeamsBinding;
import com.astatin3.scoutingapp2025.scoutingData.ScoutingDataWriter;
import com.astatin3.scoutingapp2025.types.data.dataType;
import com.astatin3.scoutingapp2025.types.frcTeam;
import com.astatin3.scoutingapp2025.utility.DataManager;
import com.astatin3.scoutingapp2025.utility.fileEditor;
import com.ridgebotics.ridgescout.SettingsVersionStack.latestSettings;
import com.ridgebotics.ridgescout.databinding.FragmentDataTeamsBinding;
import com.ridgebotics.ridgescout.scoutingData.ScoutingDataWriter;
import com.ridgebotics.ridgescout.types.data.dataType;
import com.ridgebotics.ridgescout.types.frcTeam;
import com.ridgebotics.ridgescout.utility.DataManager;
import com.ridgebotics.ridgescout.utility.fileEditor;
import com.google.android.material.divider.MaterialDivider;
import com.skydoves.powerspinner.IconSpinnerAdapter;
import com.skydoves.powerspinner.IconSpinnerItem;
@@ -1,12 +1,11 @@
package com.astatin3.scoutingapp2025.ui.scouting;
package com.ridgebotics.ridgescout.ui.scouting;
import static com.astatin3.scoutingapp2025.utility.DataManager.evcode;
import static com.astatin3.scoutingapp2025.utility.DataManager.event;
import static com.ridgebotics.ridgescout.utility.DataManager.evcode;
import static com.ridgebotics.ridgescout.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;
@@ -15,17 +14,17 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.astatin3.scoutingapp2025.SettingsVersionStack.latestSettings;
import com.astatin3.scoutingapp2025.databinding.FragmentScoutingMatchBinding;
import com.astatin3.scoutingapp2025.scoutingData.ScoutingDataWriter;
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;
import com.ridgebotics.ridgescout.SettingsVersionStack.latestSettings;
import com.ridgebotics.ridgescout.databinding.FragmentScoutingMatchBinding;
import com.ridgebotics.ridgescout.scoutingData.ScoutingDataWriter;
import com.ridgebotics.ridgescout.types.data.dataType;
import com.ridgebotics.ridgescout.types.frcMatch;
import com.ridgebotics.ridgescout.types.frcTeam;
import com.ridgebotics.ridgescout.types.input.inputType;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.AutoSaveManager;
import com.ridgebotics.ridgescout.utility.DataManager;
import com.ridgebotics.ridgescout.utility.fileEditor;
import java.util.ArrayList;
import java.util.function.Function;
@@ -1,9 +1,9 @@
package com.astatin3.scoutingapp2025.ui.scouting;
package com.ridgebotics.ridgescout.ui.scouting;
import static com.astatin3.scoutingapp2025.utility.DataManager.evcode;
import static com.astatin3.scoutingapp2025.utility.DataManager.pit_latest_values;
import static com.astatin3.scoutingapp2025.utility.DataManager.pit_transferValues;
import static com.astatin3.scoutingapp2025.utility.DataManager.pit_values;
import static com.ridgebotics.ridgescout.utility.DataManager.evcode;
import static com.ridgebotics.ridgescout.utility.DataManager.pit_latest_values;
import static com.ridgebotics.ridgescout.utility.DataManager.pit_transferValues;
import static com.ridgebotics.ridgescout.utility.DataManager.pit_values;
import android.os.Bundle;
import android.view.LayoutInflater;
@@ -15,15 +15,15 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.astatin3.scoutingapp2025.SettingsVersionStack.latestSettings;
import com.astatin3.scoutingapp2025.databinding.FragmentScoutingPitBinding;
import com.astatin3.scoutingapp2025.scoutingData.ScoutingDataWriter;
import com.astatin3.scoutingapp2025.types.data.dataType;
import com.astatin3.scoutingapp2025.types.frcTeam;
import com.astatin3.scoutingapp2025.types.input.inputType;
import com.astatin3.scoutingapp2025.utility.AutoSaveManager;
import com.astatin3.scoutingapp2025.utility.DataManager;
import com.astatin3.scoutingapp2025.utility.fileEditor;
import com.ridgebotics.ridgescout.SettingsVersionStack.latestSettings;
import com.ridgebotics.ridgescout.databinding.FragmentScoutingPitBinding;
import com.ridgebotics.ridgescout.scoutingData.ScoutingDataWriter;
import com.ridgebotics.ridgescout.types.data.dataType;
import com.ridgebotics.ridgescout.types.frcTeam;
import com.ridgebotics.ridgescout.types.input.inputType;
import com.ridgebotics.ridgescout.utility.AutoSaveManager;
import com.ridgebotics.ridgescout.utility.DataManager;
import com.ridgebotics.ridgescout.utility.fileEditor;
import java.util.ArrayList;
import java.util.function.Function;
@@ -1,8 +1,8 @@
package com.astatin3.scoutingapp2025.ui.scouting;
package com.ridgebotics.ridgescout.ui.scouting;
import static androidx.navigation.fragment.FragmentKt.findNavController;
import static com.astatin3.scoutingapp2025.utility.DataManager.event;
import static com.ridgebotics.ridgescout.utility.DataManager.event;
import android.os.Bundle;
import android.view.KeyEvent;
@@ -15,12 +15,12 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.astatin3.scoutingapp2025.R;
import com.astatin3.scoutingapp2025.SettingsVersionStack.latestSettings;
import com.astatin3.scoutingapp2025.databinding.FragmentScoutingBinding;
import com.astatin3.scoutingapp2025.types.frcTeam;
import com.astatin3.scoutingapp2025.ui.TeamSelectorFragment;
import com.astatin3.scoutingapp2025.utility.DataManager;
import com.ridgebotics.ridgescout.R;
import com.ridgebotics.ridgescout.SettingsVersionStack.latestSettings;
import com.ridgebotics.ridgescout.databinding.FragmentScoutingBinding;
import com.ridgebotics.ridgescout.types.frcTeam;
import com.ridgebotics.ridgescout.ui.TeamSelectorFragment;
import com.ridgebotics.ridgescout.utility.DataManager;
public class ScoutingFragment extends Fragment {
@@ -38,7 +38,9 @@ public class ScoutingFragment extends Fragment {
if(evcode.equals("unset")){
binding.noEventError.setVisibility(View.VISIBLE);
binding.buttons.setVisibility(View.GONE);
binding.matchScoutingButton.setEnabled(false);
binding.pitScoutingButton.setEnabled(false);
binding.statusButton.setEnabled(false);
is_main_page = false;
return binding.getRoot();
}
@@ -1,6 +1,6 @@
package com.astatin3.scoutingapp2025.ui.scouting;
package com.ridgebotics.ridgescout.ui.scouting;
import static com.astatin3.scoutingapp2025.utility.DataManager.event;
import static com.ridgebotics.ridgescout.utility.DataManager.event;
import android.os.Bundle;
import android.view.Gravity;
@@ -14,11 +14,11 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.astatin3.scoutingapp2025.databinding.FragmentScoutingStatusBinding;
import com.astatin3.scoutingapp2025.utility.DataManager;
import com.astatin3.scoutingapp2025.utility.fileEditor;
import com.astatin3.scoutingapp2025.types.frcEvent;
import com.astatin3.scoutingapp2025.types.frcMatch;
import com.ridgebotics.ridgescout.databinding.FragmentScoutingStatusBinding;
import com.ridgebotics.ridgescout.utility.DataManager;
import com.ridgebotics.ridgescout.utility.fileEditor;
import com.ridgebotics.ridgescout.types.frcEvent;
import com.ridgebotics.ridgescout.types.frcMatch;
import java.util.Arrays;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.ui.scouting;
package com.ridgebotics.ridgescout.ui.scouting;
import android.content.Context;
import android.util.AttributeSet;
@@ -7,7 +7,7 @@ import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.astatin3.scoutingapp2025.R;
import com.ridgebotics.ridgescout.R;
public class TallyCounterView extends LinearLayout {
private int count = 0;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.ui.settings;
package com.ridgebotics.ridgescout.ui.settings;
import android.app.AlertDialog;
import android.os.Bundle;
@@ -18,9 +18,9 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.astatin3.scoutingapp2025.databinding.FragmentSettingsBinding;
import com.astatin3.scoutingapp2025.utility.fileEditor;
import com.astatin3.scoutingapp2025.SettingsVersionStack.latestSettings;
import com.ridgebotics.ridgescout.databinding.FragmentSettingsBinding;
import com.ridgebotics.ridgescout.utility.fileEditor;
import com.ridgebotics.ridgescout.SettingsVersionStack.latestSettings;
import com.skydoves.powerspinner.IconSpinnerAdapter;
import com.skydoves.powerspinner.IconSpinnerItem;
@@ -1,28 +1,19 @@
package com.astatin3.scoutingapp2025.ui.transfer;
package com.ridgebotics.ridgescout.ui.transfer;
import static com.astatin3.scoutingapp2025.utility.DataManager.evcode;
import static com.astatin3.scoutingapp2025.utility.DataManager.event;
import static com.astatin3.scoutingapp2025.utility.DataManager.match_latest_values;
import static com.astatin3.scoutingapp2025.utility.DataManager.pit_latest_values;
import static com.astatin3.scoutingapp2025.utility.SharePrompt.shareContent;
import static com.ridgebotics.ridgescout.utility.DataManager.evcode;
import static com.ridgebotics.ridgescout.utility.DataManager.event;
import static com.ridgebotics.ridgescout.utility.DataManager.match_latest_values;
import static com.ridgebotics.ridgescout.utility.DataManager.pit_latest_values;
import static com.ridgebotics.ridgescout.utility.SharePrompt.shareContent;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import androidx.core.content.FileProvider;
import com.astatin3.scoutingapp2025.scoutingData.ScoutingDataWriter;
import com.astatin3.scoutingapp2025.types.data.dataType;
import com.astatin3.scoutingapp2025.types.frcMatch;
import com.astatin3.scoutingapp2025.types.frcTeam;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.astatin3.scoutingapp2025.utility.DataManager;
import com.astatin3.scoutingapp2025.utility.fileEditor;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import com.ridgebotics.ridgescout.scoutingData.ScoutingDataWriter;
import com.ridgebotics.ridgescout.types.data.dataType;
import com.ridgebotics.ridgescout.types.frcMatch;
import com.ridgebotics.ridgescout.types.frcTeam;
import com.ridgebotics.ridgescout.utility.DataManager;
import com.ridgebotics.ridgescout.utility.fileEditor;
public class CSVExport {
private static String[] alliances = {"red", "blue"};
@@ -1,18 +1,18 @@
package com.astatin3.scoutingapp2025.ui.transfer;
package com.ridgebotics.ridgescout.ui.transfer;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import com.astatin3.scoutingapp2025.MainActivity;
import com.astatin3.scoutingapp2025.types.file;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.astatin3.scoutingapp2025.utility.BuiltByteParser;
import com.astatin3.scoutingapp2025.utility.ByteBuilder;
import com.astatin3.scoutingapp2025.utility.DataManager;
import com.astatin3.scoutingapp2025.utility.SharePrompt;
import com.astatin3.scoutingapp2025.utility.fileEditor;
import com.ridgebotics.ridgescout.MainActivity;
import com.ridgebotics.ridgescout.types.file;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.BuiltByteParser;
import com.ridgebotics.ridgescout.utility.ByteBuilder;
import com.ridgebotics.ridgescout.utility.DataManager;
import com.ridgebotics.ridgescout.utility.SharePrompt;
import com.ridgebotics.ridgescout.utility.fileEditor;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -1,6 +1,6 @@
package com.astatin3.scoutingapp2025.ui.transfer;
package com.ridgebotics.ridgescout.ui.transfer;
import static com.astatin3.scoutingapp2025.utility.DataManager.evcode;
import static com.ridgebotics.ridgescout.utility.DataManager.evcode;
import android.os.Bundle;
import android.view.LayoutInflater;
@@ -15,11 +15,11 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.astatin3.scoutingapp2025.databinding.FragmentTransferFileSelectorBinding;
import com.astatin3.scoutingapp2025.types.file;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.astatin3.scoutingapp2025.utility.ByteBuilder;
import com.astatin3.scoutingapp2025.utility.fileEditor;
import com.ridgebotics.ridgescout.databinding.FragmentTransferFileSelectorBinding;
import com.ridgebotics.ridgescout.types.file;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.ByteBuilder;
import com.ridgebotics.ridgescout.utility.fileEditor;
import java.util.ArrayList;
import java.util.Arrays;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.ui.transfer;
package com.ridgebotics.ridgescout.ui.transfer;
import android.os.Bundle;
import android.view.Gravity;
@@ -14,14 +14,14 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.astatin3.scoutingapp2025.databinding.FragmentTransferTbaBinding;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.astatin3.scoutingapp2025.utility.RequestTask;
import com.astatin3.scoutingapp2025.types.frcEvent;
import com.astatin3.scoutingapp2025.types.frcMatch;
import com.astatin3.scoutingapp2025.types.frcTeam;
import com.astatin3.scoutingapp2025.utility.fileEditor;
import com.astatin3.scoutingapp2025.utility.JSONUtil;
import com.ridgebotics.ridgescout.databinding.FragmentTransferTbaBinding;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.RequestTask;
import com.ridgebotics.ridgescout.types.frcEvent;
import com.ridgebotics.ridgescout.types.frcMatch;
import com.ridgebotics.ridgescout.types.frcTeam;
import com.ridgebotics.ridgescout.utility.fileEditor;
import com.ridgebotics.ridgescout.utility.JSONUtil;
import org.json.JSONArray;
import org.json.JSONException;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.ui.transfer;
package com.ridgebotics.ridgescout.ui.transfer;
import static androidx.navigation.fragment.FragmentKt.findNavController;
@@ -13,11 +13,11 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.astatin3.scoutingapp2025.R;
import com.astatin3.scoutingapp2025.SettingsVersionStack.latestSettings;
import com.astatin3.scoutingapp2025.databinding.FragmentTransferBinding;
import com.astatin3.scoutingapp2025.ui.transfer.bluetooth.BluetoothSenderFragment;
import com.astatin3.scoutingapp2025.ui.transfer.codes.CodeGeneratorView;
import com.ridgebotics.ridgescout.R;
import com.ridgebotics.ridgescout.SettingsVersionStack.latestSettings;
import com.ridgebotics.ridgescout.databinding.FragmentTransferBinding;
import com.ridgebotics.ridgescout.ui.transfer.bluetooth.BluetoothSenderFragment;
import com.ridgebotics.ridgescout.ui.transfer.codes.CodeGeneratorView;
public class TransferFragment extends Fragment {
private FragmentTransferBinding binding;
@@ -68,9 +68,9 @@ public class TransferFragment extends Fragment {
if(evcode.equals("unset")){
binding.noEventError.setVisibility(View.VISIBLE);
binding.uploadButton.setVisibility(View.GONE);
binding.CSVButton.setVisibility(View.GONE);
binding.downloadButton.setVisibility(View.VISIBLE);
binding.uploadButton.setEnabled(false);
binding.CSVButton.setEnabled(false);
binding.downloadButton.setEnabled(true);
return binding.getRoot();
}
@@ -107,7 +107,7 @@ public class TransferFragment extends Fragment {
});
if(!latestSettings.settings.get_wifi_mode())
binding.TBAButton.setVisibility(View.GONE);
binding.TBAButton.setEnabled(false);
return binding.getRoot();
}
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.ui.transfer;
package com.ridgebotics.ridgescout.ui.transfer;
import android.os.Bundle;
import android.view.LayoutInflater;
@@ -9,7 +9,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.astatin3.scoutingapp2025.databinding.FragmentTransferSelectorBinding;
import com.ridgebotics.ridgescout.databinding.FragmentTransferSelectorBinding;
public class TransferSelectorFragment extends Fragment {
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.ui.transfer.bluetooth;
package com.ridgebotics.ridgescout.ui.transfer.bluetooth;
import android.Manifest;
import android.annotation.SuppressLint;
import android.app.Activity;
@@ -12,12 +12,11 @@ import android.os.Build;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.AlertManager;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.ui.transfer.bluetooth;
package com.ridgebotics.ridgescout.ui.transfer.bluetooth;
import android.os.Bundle;
import android.view.LayoutInflater;
@@ -11,11 +11,11 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.astatin3.scoutingapp2025.databinding.FragmentTransferBluetoothReceiverBinding;
import com.astatin3.scoutingapp2025.types.file;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.astatin3.scoutingapp2025.utility.BuiltByteParser;
import com.astatin3.scoutingapp2025.utility.fileEditor;
import com.ridgebotics.ridgescout.databinding.FragmentTransferBluetoothReceiverBinding;
import com.ridgebotics.ridgescout.types.file;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.BuiltByteParser;
import com.ridgebotics.ridgescout.utility.fileEditor;
import java.io.IOException;
import java.util.ArrayList;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.ui.transfer.bluetooth;
package com.ridgebotics.ridgescout.ui.transfer.bluetooth;
import android.Manifest;
import android.annotation.SuppressLint;
import android.app.Activity;
@@ -12,7 +12,7 @@ import android.os.Build;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.AlertManager;
import java.io.IOException;
import java.io.OutputStream;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.ui.transfer.bluetooth;
package com.ridgebotics.ridgescout.ui.transfer.bluetooth;
import android.annotation.SuppressLint;
import android.bluetooth.BluetoothDevice;
@@ -15,9 +15,9 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.astatin3.scoutingapp2025.databinding.FragmentTransferBluetoothSenderBinding;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.astatin3.scoutingapp2025.utility.fileEditor;
import com.ridgebotics.ridgescout.databinding.FragmentTransferBluetoothSenderBinding;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.fileEditor;
import java.io.IOException;
import java.util.ArrayList;
@@ -1,11 +1,9 @@
package com.astatin3.scoutingapp2025.ui.transfer.codes;
package com.ridgebotics.ridgescout.ui.transfer.codes;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -15,12 +13,11 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.fragment.app.Fragment;
import com.astatin3.scoutingapp2025.databinding.FragmentTransferCodeSenderBinding;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.astatin3.scoutingapp2025.utility.fileEditor;
import com.ridgebotics.ridgescout.databinding.FragmentTransferCodeSenderBinding;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.fileEditor;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.ui.transfer.codes;
package com.ridgebotics.ridgescout.ui.transfer.codes;
// From https://github.com/dlazaro66/QRCodeReaderView/blob/master/samples/src/main/java/com/example/qr_readerexample/PointsOverlayView.java
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.ui.transfer.codes;
package com.ridgebotics.ridgescout.ui.transfer.codes;
import android.graphics.Bitmap;
import android.os.AsyncTask;
@@ -1,14 +1,12 @@
package com.astatin3.scoutingapp2025.ui.transfer.codes;
package com.ridgebotics.ridgescout.ui.transfer.codes;
import static androidx.core.math.MathUtils.clamp;
import android.app.AlertDialog;
import android.content.Context;
import android.graphics.Bitmap;
import android.media.Image;
import android.os.Bundle;
import android.os.Handler;
import android.util.AttributeSet;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Surface;
@@ -31,12 +29,12 @@ import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.LifecycleOwner;
import com.astatin3.scoutingapp2025.databinding.FragmentTransferCodeReceiverBinding;
import com.astatin3.scoutingapp2025.databinding.FragmentTransferCodeSenderBinding;
import com.astatin3.scoutingapp2025.types.file;
import com.astatin3.scoutingapp2025.utility.AlertManager;
import com.astatin3.scoutingapp2025.utility.BuiltByteParser;
import com.astatin3.scoutingapp2025.utility.fileEditor;
import com.ridgebotics.ridgescout.databinding.FragmentTransferCodeReceiverBinding;
import com.ridgebotics.ridgescout.databinding.FragmentTransferCodeSenderBinding;
import com.ridgebotics.ridgescout.types.file;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.BuiltByteParser;
import com.ridgebotics.ridgescout.utility.fileEditor;
import com.google.common.util.concurrent.ListenableFuture;
import java.nio.ByteBuffer;
@@ -1,9 +1,8 @@
package com.astatin3.scoutingapp2025.utility;
package com.ridgebotics.ridgescout.utility;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.os.Looper;
import android.widget.Toast;
import java.io.PrintWriter;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.utility;
package com.ridgebotics.ridgescout.utility;
import android.os.Handler;
import android.os.Looper;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.utility;
package com.ridgebotics.ridgescout.utility;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.utility;
package com.ridgebotics.ridgescout.utility;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
@@ -1,10 +1,10 @@
package com.astatin3.scoutingapp2025.utility;
package com.ridgebotics.ridgescout.utility;
import com.astatin3.scoutingapp2025.SettingsVersionStack.latestSettings;
import com.astatin3.scoutingapp2025.scoutingData.fields;
import com.astatin3.scoutingapp2025.scoutingData.transfer.transferType;
import com.astatin3.scoutingapp2025.types.frcEvent;
import com.astatin3.scoutingapp2025.types.input.inputType;
import com.ridgebotics.ridgescout.SettingsVersionStack.latestSettings;
import com.ridgebotics.ridgescout.scoutingData.fields;
import com.ridgebotics.ridgescout.scoutingData.transfer.transferType;
import com.ridgebotics.ridgescout.types.frcEvent;
import com.ridgebotics.ridgescout.types.input.inputType;
public class DataManager {
public static String evcode;
@@ -1,9 +1,8 @@
package com.astatin3.scoutingapp2025.utility;
package com.ridgebotics.ridgescout.utility;
import org.json.JSONArray;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.utility;
package com.ridgebotics.ridgescout.utility;
import android.content.Context;
import android.util.AttributeSet;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.utility;
package com.ridgebotics.ridgescout.utility;
import android.os.AsyncTask;
@@ -7,7 +7,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.function.Function;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.utility;
package com.ridgebotics.ridgescout.utility;
import android.content.Context;
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025.utility;
package com.ridgebotics.ridgescout.utility;
import android.content.Context;
import android.content.Intent;
@@ -1,11 +1,11 @@
package com.astatin3.scoutingapp2025.utility;
package com.ridgebotics.ridgescout.utility;
import android.content.Context;
import com.astatin3.scoutingapp2025.types.frcEvent;
import com.astatin3.scoutingapp2025.types.frcTeam;
import com.ridgebotics.ridgescout.types.frcEvent;
import com.ridgebotics.ridgescout.types.frcTeam;
import com.astatin3.scoutingapp2025.SettingsVersionStack.latestSettings;
import com.ridgebotics.ridgescout.SettingsVersionStack.latestSettings;
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
@@ -27,7 +27,7 @@ import java.util.zip.Deflater;
import java.util.zip.Inflater;
public final class fileEditor {
private final static String baseDir = "/data/data/com.astatin3.scoutingapp2025/";
private final static String baseDir = "/data/data/com.ridgebotics.ridgescout/";
public static final byte internalDataVersion = 0x01;
public static final int maxCompressedBlockSize = 4096;
@@ -101,12 +101,12 @@
android:layout_height="match_parent"
android:paddingBottom="60dp">
<com.astatin3.scoutingapp2025.utility.ReorderableTableLayout
<com.ridgebotics.ridgescout.utility.ReorderableTableLayout
android:id="@+id/fieldsArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
</com.astatin3.scoutingapp2025.utility.ReorderableTableLayout>
</com.ridgebotics.ridgescout.utility.ReorderableTableLayout>
</ScrollView>
</LinearLayout>
@@ -5,14 +5,29 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableLayout
android:id="@+id/teamMatchesTable"
android:layout_width="409dp"
android:layout_height="729dp"
android:layout_marginStart="1dp"
android:layout_marginEnd="1dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView4">
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent" />
</TableLayout>
<TextView
android:id="@+id/textView3"
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TBD"
android:textSize="34sp"
app:layout_constraintBottom_toBottomOf="parent"
android:text="1234"
android:textSize="24sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
@@ -7,7 +7,7 @@
<fragment
android:id="@+id/navigation_scouting"
android:name="com.astatin3.scoutingapp2025.ui.scouting.ScoutingFragment"
android:name="com.ridgebotics.ridgescout.ui.scouting.ScoutingFragment"
android:label="@string/title_scouting"
tools:layout="@layout/fragment_scouting">
<action
@@ -31,13 +31,13 @@
<fragment
android:id="@+id/navigation_match_scouting"
android:name="com.astatin3.scoutingapp2025.ui.scouting.MatchScoutingFragment"
android:name="com.ridgebotics.ridgescout.ui.scouting.MatchScoutingFragment"
tools:layout="@layout/fragment_scouting_match">
</fragment>
<fragment
android:id="@+id/navigation_team_selector"
android:name="com.astatin3.scoutingapp2025.ui.TeamSelectorFragment"
android:name="com.ridgebotics.ridgescout.ui.TeamSelectorFragment"
tools:layout="@layout/fragment_team_selector">
<action
android:id="@+id/action_navigation_team_selector_to_navigation_pit_scouting"
@@ -57,7 +57,7 @@
<fragment
android:id="@+id/navigation_pit_scouting"
android:name="com.astatin3.scoutingapp2025.ui.scouting.PitScoutingFragment"
android:name="com.ridgebotics.ridgescout.ui.scouting.PitScoutingFragment"
tools:layout="@layout/fragment_scouting_pit"/>
@@ -67,7 +67,7 @@
<fragment
android:id="@+id/navigation_data"
android:name="com.astatin3.scoutingapp2025.ui.data.DataFragment"
android:name="com.ridgebotics.ridgescout.ui.data.DataFragment"
android:label="@string/title_data"
tools:layout="@layout/fragment_data">
<action
@@ -102,31 +102,31 @@
<fragment
android:id="@+id/navigation_scouting_status"
android:name="com.astatin3.scoutingapp2025.ui.scouting.StatusFragment"
android:name="com.ridgebotics.ridgescout.ui.scouting.StatusFragment"
tools:layout="@layout/fragment_scouting_status">
</fragment>
<fragment
android:id="@+id/navigation_data_teams"
android:name="com.astatin3.scoutingapp2025.ui.data.TeamsFragment"
android:name="com.ridgebotics.ridgescout.ui.data.TeamsFragment"
tools:layout="@layout/fragment_data_teams">
</fragment>
<fragment
android:id="@+id/navigation_data_compare"
android:name="com.astatin3.scoutingapp2025.ui.data.CompareFragment"
android:name="com.ridgebotics.ridgescout.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.ridgebotics.ridgescout.ui.data.ReportFragment"
tools:layout="@layout/fragment_data_report">
</fragment>
<fragment
android:id="@+id/navigation_data_fields_chooser"
android:name="com.astatin3.scoutingapp2025.ui.data.FieldsChooserFragment"
android:name="com.ridgebotics.ridgescout.ui.data.FieldsChooserFragment"
tools:layout="@layout/fragment_data_fields_chooser">
<action
android:id="@+id/action_navigation_data_fields_chooser_to_navigation_data_fields"
@@ -139,7 +139,7 @@
<fragment
android:id="@+id/navigation_data_fields"
android:name="com.astatin3.scoutingapp2025.ui.data.FieldsFragment"
android:name="com.ridgebotics.ridgescout.ui.data.FieldsFragment"
tools:layout="@layout/fragment_data_fields">
<action
android:id="@+id/action_navigation_data_fields_to_navigation_data_fields_chooser"
@@ -152,7 +152,7 @@
<fragment
android:id="@+id/navigation_transfer"
android:name="com.astatin3.scoutingapp2025.ui.transfer.TransferFragment"
android:name="com.ridgebotics.ridgescout.ui.transfer.TransferFragment"
android:label="@string/title_transfer"
tools:layout="@layout/fragment_transfer">
<action
@@ -180,7 +180,7 @@
<fragment
android:id="@+id/navigation_file_selector"
android:name="com.astatin3.scoutingapp2025.ui.transfer.FileSelectorFragment"
android:name="com.ridgebotics.ridgescout.ui.transfer.FileSelectorFragment"
tools:layout="@layout/fragment_transfer_file_selector">
<action
android:id="@+id/action_navigation_file_selector_to_navigation_transfer_selector"
@@ -193,7 +193,7 @@
<fragment
android:id="@+id/navigation_transfer_selector"
android:name="com.astatin3.scoutingapp2025.ui.transfer.TransferSelectorFragment"
android:name="com.ridgebotics.ridgescout.ui.transfer.TransferSelectorFragment"
tools:layout="@layout/fragment_transfer_selector">
<action
android:id="@+id/action_navigation_transfer_selector_to_navigation_code_generator"
@@ -227,31 +227,31 @@
<fragment
android:id="@+id/navigation_code_generator"
android:name="com.astatin3.scoutingapp2025.ui.transfer.codes.CodeGeneratorView"
android:name="com.ridgebotics.ridgescout.ui.transfer.codes.CodeGeneratorView"
tools:layout="@layout/fragment_transfer_code_sender">
</fragment>
<fragment
android:id="@+id/navigation_code_scanner"
android:name="com.astatin3.scoutingapp2025.ui.transfer.codes.CodeScannerView"
android:name="com.ridgebotics.ridgescout.ui.transfer.codes.CodeScannerView"
tools:layout="@layout/fragment_transfer_code_receiver">
</fragment>
<fragment
android:id="@+id/navigation_bluetooth_sender"
android:name="com.astatin3.scoutingapp2025.ui.transfer.bluetooth.BluetoothSenderFragment"
android:name="com.ridgebotics.ridgescout.ui.transfer.bluetooth.BluetoothSenderFragment"
tools:layout="@layout/fragment_transfer_bluetooth_sender">
</fragment>
<fragment
android:id="@+id/navigation_bluetooth_receiver"
android:name="com.astatin3.scoutingapp2025.ui.transfer.bluetooth.BluetoothReceiverFragment"
android:name="com.ridgebotics.ridgescout.ui.transfer.bluetooth.BluetoothReceiverFragment"
tools:layout="@layout/fragment_transfer_bluetooth_receiver">
</fragment>
<fragment
android:id="@+id/navigation_tba"
android:name="com.astatin3.scoutingapp2025.ui.transfer.TBAFragment"
android:name="com.ridgebotics.ridgescout.ui.transfer.TBAFragment"
tools:layout="@layout/fragment_transfer_tba">
</fragment>
@@ -260,7 +260,7 @@
<fragment
android:id="@+id/navigation_settings"
android:name="com.astatin3.scoutingapp2025.ui.settings.settingsFragment"
android:name="com.ridgebotics.ridgescout.ui.settings.settingsFragment"
android:label="@string/title_settings"
tools:layout="@layout/fragment_settings">
</fragment>
+1 -1
View File
@@ -1,6 +1,6 @@
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.ScoutingApp2025" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<style name="Theme.RidgeScout" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/main_200</item>
<item name="colorPrimaryVariant">@color/main_700</item>
+1 -1
View File
@@ -1,6 +1,6 @@
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.ScoutingApp2025" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<style name="Theme.RidgeScout" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/main_500</item>
<item name="colorPrimaryVariant">@color/main_700</item>
@@ -1,4 +1,4 @@
package com.astatin3.scoutingapp2025;
package com.ridgebotics.ridgescout;
import org.junit.Test;
+3
View File
@@ -0,0 +1,3 @@
Work in progress!
This is a scouting app for First Robotics Compitition matches, that includes many features.
Binary file not shown.

After

Width:  |  Height:  |  Size: 373 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

+1
View File
@@ -0,0 +1 @@
A fully featured FRC scouting & data analytics tool
+1
View File
@@ -0,0 +1 @@
RidgeScout
+1 -1
View File
@@ -21,6 +21,6 @@ dependencyResolutionManagement {
}
}
rootProject.name = "ScoutingApp2025"
rootProject.name = "RidgeScout"
include(":app")