worked on a lot of nothing

This commit is contained in:
2026-07-30 17:38:34 -04:00
parent 40978a0bea
commit 28f78cac54
41 changed files with 322 additions and 47 deletions

View File

@@ -4,6 +4,8 @@
<option name="approvalStates">
<map>
<entry key="01409295-cd1f-40b7-889f-fd5c31385b52" value="false" />
<entry key="0220642f-001c-43ee-b5b0-6e6a0ca006b8" value="false" />
<entry key="6620918d-77fb-4150-93dd-35d485d51d30" value="false" />
</map>
</option>
</component>

View File

@@ -11,8 +11,8 @@ android {
minSdk = 23
targetSdk = 34
versionCode = 5
versionName = "2.3"
multiDexEnabled = true // Required since you added the multidex dependency
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
@@ -26,6 +26,7 @@ android {
)
}
}
compileOptions {
isCoreLibraryDesugaringEnabled = true
sourceCompatibility = JavaVersion.VERSION_17
@@ -36,42 +37,51 @@ android {
resources {
excludes += "META-INF/DEPENDENCIES"
excludes += "META-INF/INDEX.LIST"
// CRITICAL: WPILib libraries include desktop JNI files.
// This prevents duplicate file and incompatible native architecture errors.
excludes += "**/libntcore.dylib"
excludes += "**/ntcore.dll"
excludes += "**/libntcore.so"
excludes += "**/libwpiutil.dylib"
excludes += "**/wpiutil.dll"
excludes += "**/libwpiutil.so"
}
}
}
dependencies {
// Desugaring & MultiDex
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.5")
implementation("androidx.multidex:multidex:2.0.1")
// Core Android UI
implementation(libs.activity.ktx)
implementation(libs.appcompat)
implementation(libs.material)
implementation(libs.activity)
implementation(libs.constraintlayout)
dependencies {
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.5")
implementation("androidx.multidex:multidex:2.0.1")
// Core Android UI
implementation(libs.appcompat)
implementation(libs.material)
implementation(libs.activity)
implementation(libs.constraintlayout)
// FRC NetworkTables Dependencies (Kotlin DSL Syntax)
implementation(libs.ntcore.java)
implementation(libs.wpiutil.java)
// Google Sheets & Core API (The "1.x" branch fix)
implementation("com.google.apis:google-api-services-sheets:v4-rev581-1.25.0")
implementation("com.google.api-client:google-api-client:1.32.1")
implementation("com.google.oauth-client:google-oauth-client:1.32.1")
implementation("com.google.http-client:google-http-client-gson:1.42.3")
implementation("com.google.auth:google-auth-library-oauth2-http:1.15.0")
// JSON & Networking (Consolidated to stable versions)
implementation("com.google.code.gson:gson:2.10.1")
implementation("com.fasterxml.jackson.core:jackson-databind:2.15.2")
implementation("com.squareup.okhttp3:okhttp:4.12.0")
// Testing
testImplementation(libs.junit)
androidTestImplementation(libs.ext.junit)
androidTestImplementation(libs.espresso.core)
// Google Sheets & Core API
implementation("com.google.apis:google-api-services-sheets:v4-rev581-1.25.0") {
exclude(group = "com.google.guava", module = "listenablefuture")
}
implementation("com.google.api-client:google-api-client:1.32.1")
implementation("com.google.oauth-client:google-oauth-client:1.32.1")
implementation("com.google.http-client:google-http-client-gson:1.42.3")
implementation("com.google.auth:google-auth-library-oauth2-http:1.15.0")
// JSON & Networking
implementation("com.google.code.gson:gson:2.10.1")
implementation("com.fasterxml.jackson.core:jackson-databind:2.15.2")
implementation("com.squareup.okhttp3:okhttp:4.12.0")
// Testing
testImplementation(libs.junit)
androidTestImplementation(libs.ext.junit)
androidTestImplementation(libs.espresso.core)
}

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

View File

@@ -114,7 +114,7 @@ public class ColorActivity extends AppCompatActivity {
ColorStateList bgTintStateList = ContextCompat.getColorStateList(ColorActivity.this, bgTintRes);
int mainColorInt = ContextCompat.getColor(ColorActivity.this, mainColorRes);
MakeStartingActivity.Data.setColorP(Color);
EventsActivity.Data.setColorP(Color);
spinnerP.setBackgroundColor(mainColorInt);
radioButton.setButtonTintList(mainColorStateList);
@@ -189,7 +189,7 @@ public class ColorActivity extends AppCompatActivity {
ColorStateList bgTintStateList = ContextCompat.getColorStateList(ColorActivity.this, bgTintRes);
int mainColorInt = ContextCompat.getColor(ColorActivity.this, mainColorRes);
MakeStartingActivity.Data.setColorS(Color);
EventsActivity.Data.setColorS(Color);
spinnerS.setBackgroundColor(mainColorInt);

View File

@@ -9,8 +9,15 @@ public class Data {
private String colorP;
private String colorS;
private String eventn1;
private String eventn2;
private String eventn3;
private String eventn4;
private String eventa1;
private String eventa2;
private String eventa3;
private String eventa4;
public String getBase64() {
return base64;
}
@@ -41,5 +48,71 @@ public class Data {
this.colorS = colorS;
}
public String getEventn1() {
return eventn1;
}
public void setEventn1(String eventn1) {
this.eventn1 = eventn1;
}
public String getEventa1() {
return eventa1;
}
public void setEventa1(String eventa1) {
this.eventa1 = eventa1;
}
public String getEventn2() {
return eventn2;
}
public void setEventn2(String eventn2) {
this.eventn2 = eventn2;
}
public String getEventa2() {
return eventa2;
}
public void setEventa2(String eventa2) {
this.eventa2 = eventa2;
}
public String getEventn3() {
return eventn3;
}
public void setEventn3(String eventn3) {
this.eventn3 = eventn3;
}
public String getEventa3() {
return eventa3;
}
public void setEventa3(String eventa1) {
this.eventa3 = eventa3;
}
public String getEventn4() {
return eventn4;
}
public void setEventn4(String eventn1) {
this.eventn4 = eventn4;
}
public String getEventa4() {
return eventa4;
}
public void setEventa4(String eventa4) {
this.eventa4 = eventa4;
}
}

View File

@@ -2,7 +2,10 @@ package com.example.generator;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
@@ -11,7 +14,17 @@ import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
public class EventsActivity extends AppCompatActivity {
public static Data Data = new Data();
private EditText eventn1;
private EditText eventn2;
private EditText eventn3;
private EditText eventn4;
private EditText eventa1;
private EditText eventa2;
private EditText eventa3;
private EditText eventa4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -23,6 +36,18 @@ public class EventsActivity extends AppCompatActivity {
return insets;
});
EditText eventn1 = (EditText) findViewById(R.id.event1name);
EditText eventn2 = (EditText) findViewById(R.id.event2name);
EditText eventn3 = (EditText) findViewById(R.id.event3name);
EditText eventn4 = (EditText) findViewById(R.id.event4name);
EditText eventa1 = (EditText) findViewById(R.id.event1API);
EditText eventa2 = (EditText) findViewById(R.id.event2API);
EditText eventa3 = (EditText) findViewById(R.id.event3API);
EditText eventa4 = (EditText) findViewById(R.id.event4API);
Button backButton = (Button) findViewById(R.id.button_back);
Button nextButton = (Button) findViewById(R.id.button_next);
backButton.setOnClickListener((v) -> {
@@ -30,8 +55,33 @@ public class EventsActivity extends AppCompatActivity {
startActivity(intent);
});
nextButton.setOnClickListener((v) -> {
Intent intent = new Intent(this, ColorActivity.class);
startActivity(intent);
String Eventn1 = eventn1.getText().toString();
String Eventn2 = eventn2.getText().toString();
String Eventn3 = eventn3.getText().toString();
String Eventn4 = eventn4.getText().toString();
String Eventa1 = eventa1.getText().toString();
String Eventa2 = eventa2.getText().toString();
String Eventa3 = eventa3.getText().toString();
String Eventa4 = eventa4.getText().toString();
if (Eventn1.matches("") ||
Eventn2.matches("") ||
Eventa1.matches("") ||
Eventa2.matches("")) {
Toast.makeText(this, "fill at least events 1 and 2", Toast.LENGTH_LONG).show();
} else {
Data.setEventn1(Eventn1);
Data.setEventn2(Eventn2);
Data.setEventn3(Eventn3);
Data.setEventn4(Eventn4);
Data.setEventa1(Eventa1);
Data.setEventa2(Eventa2);
Data.setEventa3(Eventa3);
Data.setEventa4(Eventa4);
Intent intent = new Intent(this, ColorActivity.class);
startActivity(intent); }
});
}
}

View File

@@ -10,8 +10,10 @@ import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -27,5 +29,6 @@ public class MainActivity extends AppCompatActivity {
Intent intent = new Intent(this, EventsActivity.class);
startActivity(intent);
});
}
}

View File

@@ -10,6 +10,7 @@ import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
public class MakeAutoActivity extends AppCompatActivity {
@Override

View File

@@ -23,12 +23,13 @@ import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.util.Objects;
public class MakeStartingActivity extends AppCompatActivity {
public static Data Data = new Data();
private ImageView imageView;
private int numPos = -1;
@@ -65,7 +66,7 @@ public class MakeStartingActivity extends AppCompatActivity {
});
switch (Data.getColorS()) {
switch (EventsActivity.Data.getColorS()) {
case "Orange":
ColorS = "Orange";
mainColorResS = R.color.orangeMain;
@@ -103,7 +104,7 @@ public class MakeStartingActivity extends AppCompatActivity {
break;
}
switch (Data.getColorP()) {
switch (EventsActivity.Data.getColorP()) {
case "Orange":
ColorP = "Orange";
mainColorResP = R.color.orangeMain;
@@ -176,8 +177,8 @@ public class MakeStartingActivity extends AppCompatActivity {
Toast.makeText(this, "choose a image", Toast.LENGTH_SHORT).show();
Log.d("test", Base64img);
} else {
Data.setNumPos(numPos);
Data.setBase64(Base64img);
EventsActivity.Data.setNumPos(numPos);
EventsActivity.Data.setBase64(Base64img);
Intent intent = new Intent(this, StartingPreview.class);
startActivity(intent);
}

View File

@@ -21,6 +21,7 @@ import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
public class StartingPreview extends AppCompatActivity {
private int mainColorResP = 0;
@@ -44,7 +45,7 @@ public class StartingPreview extends AppCompatActivity {
switch (MakeStartingActivity.Data.getColorS()) {
switch (EventsActivity.Data.getColorS()) {
case "Orange":
ColorS = "Orange";
mainColorResS = R.color.orangeMain;
@@ -82,7 +83,7 @@ public class StartingPreview extends AppCompatActivity {
break;
}
switch (MakeStartingActivity.Data.getColorP ()) {
switch (EventsActivity.Data.getColorP ()) {
case "Orange":
ColorP = "Orange";
mainColorResP = R.color.orangeMain;
@@ -121,7 +122,7 @@ public class StartingPreview extends AppCompatActivity {
}
ImageView imageView2 = findViewById(R.id.imageView2);
String imageBase64 = MakeStartingActivity.Data.getBase64();
String imageBase64 = EventsActivity.Data.getBase64();
if (imageBase64 != null && !imageBase64.isEmpty()) {
try {
@@ -136,7 +137,7 @@ public class StartingPreview extends AppCompatActivity {
RadioGroup radioGroup = findViewById(R.id.radioGroup);
int totalPositions;
totalPositions = MakeStartingActivity.Data.getNumPos();
totalPositions = EventsActivity.Data.getNumPos();
int whiteColor = ContextCompat.getColor(this, R.color.white);
int mainColor = ContextCompat.getColor(this, R.color.orangeMain);
ColorStateList buttonTintList = ColorStateList.valueOf(mainColor);
@@ -169,5 +170,6 @@ public class StartingPreview extends AppCompatActivity {
Intent intent = new Intent(this, MakeAutoActivity.class);
startActivity(intent);
});
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

@@ -9,6 +9,128 @@
tools:context=".EventsActivity">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/event1name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="4dp"
android:hint="Event 1 name"
android:inputType="text|textCapSentences"
android:maxLines="1"
android:textColor="@color/white"
android:textColorHint="@color/gray_hint"
app:layout_constraintBottom_toTopOf="@+id/event2name"
app:layout_constraintEnd_toStartOf="@+id/event1API"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/event1API"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:hint="Event 1 API"
android:inputType="text|textCapSentences"
android:maxLines="1"
android:textColor="@color/white"
android:textColorHint="@color/gray_hint"
app:layout_constraintBottom_toTopOf="@+id/event2API"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toEndOf="@+id/event1name"
app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/event2name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="4dp"
android:hint="Event 2 name"
android:inputType="text|textCapSentences"
android:maxLines="1"
android:textColor="@color/white"
android:textColorHint="@color/gray_hint"
app:layout_constraintBottom_toTopOf="@+id/event3name"
app:layout_constraintEnd_toStartOf="@+id/event2API"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/event1name" />
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/event2API"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:hint="Event 2 API"
android:inputType="text|textCapSentences"
android:maxLines="1"
android:textColor="@color/white"
android:textColorHint="@color/gray_hint"
app:layout_constraintBottom_toTopOf="@+id/event3API"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/event2name"
app:layout_constraintTop_toBottomOf="@+id/event1API" />
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/event3name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="4dp"
android:hint="Event 3 name"
android:inputType="text|textCapSentences"
android:maxLines="1"
android:textColor="@color/white"
android:textColorHint="@color/gray_hint"
app:layout_constraintBottom_toTopOf="@+id/event4name"
app:layout_constraintEnd_toStartOf="@+id/event3API"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/event2name" />
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/event3API"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:hint="Event 3 API"
android:inputType="text|textCapSentences"
android:maxLines="1"
android:textColor="@color/white"
android:textColorHint="@color/gray_hint"
app:layout_constraintBottom_toTopOf="@+id/event4API"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/event3name"
app:layout_constraintTop_toBottomOf="@+id/event2API" />
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/event4name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="4dp"
android:hint="Event 4 name"
android:inputType="text|textCapSentences"
android:maxLines="1"
android:textColor="@color/white"
android:textColorHint="@color/gray_hint"
app:layout_constraintBottom_toTopOf="@+id/button_back"
app:layout_constraintEnd_toStartOf="@+id/event4API"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/event3name" />
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/event4API"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:hint="Event 4 API"
android:inputType="text|textCapSentences"
android:maxLines="1"
android:textColor="@color/white"
android:textColorHint="@color/gray_hint"
app:layout_constraintBottom_toTopOf="@+id/button_next"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/event4name"
app:layout_constraintTop_toBottomOf="@+id/event3API" />
<Button
android:id="@+id/button_back"
android:layout_width="0dp"

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
<monochrome android:drawable="@mipmap/ic_launcher_monochrome"/>
</adaptive-icon>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
<monochrome android:drawable="@mipmap/ic_launcher_monochrome"/>
</adaptive-icon>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 982 B

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ic_launcher_background">#000000</color>
</resources>

View File

@@ -8,6 +8,7 @@ material = "1.13.0"
activity = "1.12.2"
constraintlayout = "2.2.1"
activityKtx = "1.8.0"
wpilib = "2026.2.2"
[libraries]
junit = { group = "junit", name = "junit", version.ref = "junit" }
@@ -18,6 +19,8 @@ material = { group = "com.google.android.material", name = "material", version.r
activity = { group = "androidx.activity", name = "activity", version.ref = "activity" }
constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }
activity-ktx = { group = "androidx.activity", name = "activity-ktx", version.ref = "activityKtx" }
ntcore-java = { group = "edu.wpi.first.ntcore", name = "ntcore-java", version.ref = "wpilib" }
wpiutil-java = { group = "edu.wpi.first.wpiutil", name = "wpiutil-java", version.ref = "wpilib" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }

View File

@@ -16,6 +16,9 @@ dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven {
url = uri("https://frcmaven.wpi.edu/artifactory/release/")
}
}
}

View File

@@ -3,11 +3,11 @@ plugins {
}
android {
namespace = "com.example.scoutingapp"
namespace = "com.team2648.scoutingapp"
compileSdk = 36
defaultConfig {
applicationId = "com.example.scoutingapp"
applicationId = "com.team2648.scoutingapp"
minSdk = 23
targetSdk = 34
versionCode = 6