diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml
new file mode 100644
index 0000000..87d5ecb
--- /dev/null
+++ b/.github/workflows/gradle.yml
@@ -0,0 +1,67 @@
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
+# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle
+
+name: Java CI with Gradle
+
+on:
+ push:
+ branches: [ "main" ]
+ pull_request:
+ branches: [ "main" ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Set up JDK 17
+ uses: actions/setup-java@v4
+ with:
+ java-version: '17'
+ distribution: 'temurin'
+
+ # Configure Gradle for optimal use in GitHub Actions, including caching of downloaded dependencies.
+ # See: https://github.com/gradle/actions/blob/main/setup-gradle/README.md
+ - name: Setup Gradle
+ uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0
+
+ - name: Build with Gradle Wrapper
+ run: ./gradlew build
+
+ # NOTE: The Gradle Wrapper is the default and recommended way to run Gradle (https://docs.gradle.org/current/userguide/gradle_wrapper.html).
+ # If your project does not have the Gradle Wrapper configured, you can use the following configuration to run Gradle with a specified version.
+ #
+ # - name: Setup Gradle
+ # uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0
+ # with:
+ # gradle-version: '8.9'
+ #
+ # - name: Build with Gradle 8.9
+ # run: gradle build
+
+ dependency-submission:
+
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Set up JDK 17
+ uses: actions/setup-java@v4
+ with:
+ java-version: '17'
+ distribution: 'temurin'
+
+ # Generates and submits a dependency graph, enabling Dependabot Alerts for all project dependencies.
+ # See: https://github.com/gradle/actions/blob/main/dependency-submission/README.md
+ - name: Generate and submit dependency graph
+ uses: gradle/actions/dependency-submission@af1da67850ed9a4cedd57bfd976089dd991e2582 # v4.0.0
diff --git a/.idea/appInsightsSettings.xml b/.idea/appInsightsSettings.xml
new file mode 100644
index 0000000..68363d0
--- /dev/null
+++ b/.idea/appInsightsSettings.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml
index b268ef3..52304d0 100644
--- a/.idea/deploymentTargetSelector.xml
+++ b/.idea/deploymentTargetSelector.xml
@@ -4,6 +4,14 @@
+
+
+
+
+
+
+
+
diff --git a/.idea/material_theme_project_new.xml b/.idea/material_theme_project_new.xml
new file mode 100644
index 0000000..dd9eb9c
--- /dev/null
+++ b/.idea/material_theme_project_new.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index f2197a2..b26df2c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,7 +9,7 @@ android {
defaultConfig {
applicationId "com.example.aquaanalyzomatic"
- minSdk 32
+ minSdk 26
targetSdk 34
versionCode 1
versionName "1.0"
@@ -30,11 +30,14 @@ android {
}
dependencies {
+ implementation(platform("com.google.firebase:firebase-bom:32.7.2"))
implementation libs.appcompat
implementation libs.material
implementation libs.firebase.auth
implementation libs.firebase.database
+ implementation libs.activity
+ implementation libs.constraintlayout
testImplementation libs.junit
testImplementation libs.runner
androidTestImplementation libs.ext.junit
diff --git a/app/src/androidTest/java/com/example/aquaanalyzomatic/ExampleInstrumentedTest.java b/app/src/androidTest/java/com/example/aquaanalyzomatic/ExampleInstrumentedTest.java
deleted file mode 100644
index c11414c..0000000
--- a/app/src/androidTest/java/com/example/aquaanalyzomatic/ExampleInstrumentedTest.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.example.aquaanalyzomatic;
-
-import android.content.Context;
-
-import androidx.test.platform.app.InstrumentationRegistry;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import static org.junit.Assert.*;
-
-/**
- * Instrumented test, which will execute on an Android device.
- *
- * @see Testing documentation
- */
-@RunWith(AndroidJUnit4.class)
-public class ExampleInstrumentedTest {
- @Test
- public void useAppContext() {
- // Context of the app under test.
- Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
- assertEquals("com.example.aquaanalyzomatic", appContext.getPackageName());
- }
-}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d6aee4b..e7c7de5 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -11,6 +11,27 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.AquaAnalyzomatic"
- tools:targetApi="31" />
+ tools:targetApi="31">
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/ic_launcher-playstore.png b/app/src/main/ic_launcher-playstore.png
new file mode 100644
index 0000000..51fcb05
Binary files /dev/null and b/app/src/main/ic_launcher-playstore.png differ
diff --git a/app/src/test/java/com/example/aquaanalyzomatic/CreateUser.java b/app/src/main/java/com/example/aquaanalyzomatic/CreateUser.java
similarity index 96%
rename from app/src/test/java/com/example/aquaanalyzomatic/CreateUser.java
rename to app/src/main/java/com/example/aquaanalyzomatic/CreateUser.java
index c6822d2..d869a67 100644
--- a/app/src/test/java/com/example/aquaanalyzomatic/CreateUser.java
+++ b/app/src/main/java/com/example/aquaanalyzomatic/CreateUser.java
@@ -2,8 +2,6 @@
import static androidx.constraintlayout.helper.widget.MotionEffect.TAG;
-import androidx.annotation.RequiresApi;
-
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
@@ -43,7 +41,9 @@ public class CreateUser extends Activity {
@SuppressLint("MissingInflatedId")
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_create_user);
+ setContentView(R.layout.activity_create_user); // Retrieve the data passed from SignInScreen
+ Intent intent = getIntent();
+ String username = intent.getStringExtra("username");
firebase = FirebaseDatabase.getInstance();
userDatabase = firebase.getReference("/users");
auth = FirebaseAuth.getInstance();
@@ -59,7 +59,6 @@ protected void onCreate(Bundle savedInstanceState) {
create.setOnClickListener(new View.OnClickListener() {
- @androidx.test.filters.SdkSuppress(minSdkVersion = Build.VERSION_CODES.O)
@Override
public void onClick(View v) {
createAccount();
diff --git a/app/src/test/java/com/example/aquaanalyzomatic/SignInScreen.java b/app/src/main/java/com/example/aquaanalyzomatic/SignInScreen.java
similarity index 99%
rename from app/src/test/java/com/example/aquaanalyzomatic/SignInScreen.java
rename to app/src/main/java/com/example/aquaanalyzomatic/SignInScreen.java
index 695c38e..dd12bc0 100644
--- a/app/src/test/java/com/example/aquaanalyzomatic/SignInScreen.java
+++ b/app/src/main/java/com/example/aquaanalyzomatic/SignInScreen.java
@@ -6,7 +6,6 @@
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
-import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
diff --git a/app/src/test/java/com/example/aquaanalyzomatic/mainPage.java b/app/src/main/java/com/example/aquaanalyzomatic/mainPage.java
similarity index 65%
rename from app/src/test/java/com/example/aquaanalyzomatic/mainPage.java
rename to app/src/main/java/com/example/aquaanalyzomatic/mainPage.java
index d2ac3eb..0fc5f65 100644
--- a/app/src/test/java/com/example/aquaanalyzomatic/mainPage.java
+++ b/app/src/main/java/com/example/aquaanalyzomatic/mainPage.java
@@ -1,10 +1,17 @@
package com.example.aquaanalyzomatic;
import android.content.Intent;
import android.os.Bundle;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ImageView;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class mainPage extends AppCompatActivity {
+
+ private Button submitBtn, signOutBtn, autonFieldBtn;
+ private EditText matchNum, teamNum, L1Num, L2Num, L3Num, L4Num, netAttemptsNum, netScoredNum, humanPlayerAttemptsNum, humanPlayerScoredNum;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -14,8 +21,6 @@ protected void onCreate(Bundle savedInstanceState) {
Intent intent = getIntent();
String username = intent.getStringExtra("username");
- // Use the username to customize the UI or perform actions
- TextView usernameTextView = findViewById(R.id.usernameTextView);
- usernameTextView.setText("Welcome, " + username);
+
}
}
\ No newline at end of file
diff --git a/app/src/test/java/com/example/aquaanalyzomatic/offlinePage.java b/app/src/main/java/com/example/aquaanalyzomatic/offlinePage.java
similarity index 94%
rename from app/src/test/java/com/example/aquaanalyzomatic/offlinePage.java
rename to app/src/main/java/com/example/aquaanalyzomatic/offlinePage.java
index 72f84cb..7a67a69 100644
--- a/app/src/test/java/com/example/aquaanalyzomatic/offlinePage.java
+++ b/app/src/main/java/com/example/aquaanalyzomatic/offlinePage.java
@@ -2,7 +2,6 @@
import android.content.Intent;
import android.os.Bundle;
-import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
diff --git a/app/src/main/res/drawable/black_back.jpg b/app/src/main/res/drawable/black_back.jpg
new file mode 100644
index 0000000..2aca59d
Binary files /dev/null and b/app/src/main/res/drawable/black_back.jpg differ
diff --git a/app/src/main/res/drawable/finalminusbutton.png b/app/src/main/res/drawable/finalminusbutton.png
new file mode 100644
index 0000000..e73ac1c
Binary files /dev/null and b/app/src/main/res/drawable/finalminusbutton.png differ
diff --git a/app/src/main/res/drawable/finalplusbutton.png b/app/src/main/res/drawable/finalplusbutton.png
new file mode 100644
index 0000000..3acf706
Binary files /dev/null and b/app/src/main/res/drawable/finalplusbutton.png differ
diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml
index 2b068d1..a1c9844 100644
--- a/app/src/main/res/drawable/ic_launcher_foreground.xml
+++ b/app/src/main/res/drawable/ic_launcher_foreground.xml
@@ -1,30 +1,38 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+ android:viewportWidth="500"
+ android:viewportHeight="500">
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_main_page.xml b/app/src/main/res/layout/activity_main_page.xml
index 1f391db..b598250 100644
--- a/app/src/main/res/layout/activity_main_page.xml
+++ b/app/src/main/res/layout/activity_main_page.xml
@@ -2,20 +2,901 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/mipmap-anydpi/ic_launcher.xml b/app/src/main/res/mipmap-anydpi/ic_launcher.xml
deleted file mode 100644
index 6f3b755..0000000
--- a/app/src/main/res/mipmap-anydpi/ic_launcher.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml
deleted file mode 100644
index 6f3b755..0000000
--- a/app/src/main/res/mipmap-anydpi/ic_launcher_round.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp
index d20bfa5..3ea17fd 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher.webp and b/app/src/main/res/mipmap-hdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
index b2dfe3d..a630305 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp
index 787388f..51f76d7 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher.webp and b/app/src/main/res/mipmap-mdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
index 62b611d..44b3497 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
index b2d2780..b340095 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp and b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
index 1b9a695..8c8ee53 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
index 9343340..a2d75b2 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
index 9287f50..7bdfc9c 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
index 9c03432..4c14598 100644
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
index 9126ae3..91ffcb0 100644
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/values/ic_launcher_background.xml b/app/src/main/res/values/ic_launcher_background.xml
new file mode 100644
index 0000000..beab31f
--- /dev/null
+++ b/app/src/main/res/values/ic_launcher_background.xml
@@ -0,0 +1,4 @@
+
+
+ #000000
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 11978ad..62a5fe4 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,3 +1,34 @@
+
AquaAnalyzomatic
+ Submit
+ Coral
+ Algae
+ Username:
+ Team #:
+ Match #:
+ Sign Out
+ Auton Field
+
+
+ Has Auton?
+ Leaves start?
+ Attempts
+ Scored
+ L1
+ L2
+ L3
+ L4
+
+
+ Human Player?
+ Processed
+ Human-Player Net Attempts
+ Human-Player Net Scored
+ Algae Net Attempts
+ Algae Net Scored
+ Climb?
+ Parked?
+ Shallow Climb?
+ Deep Climb?
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 4322ec1..33ff55f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,5 +1,16 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
+buildscript {
+ dependencies {
+ classpath 'com.google.gms:google-services:4.4.0'
+ }
+}
+
plugins {
alias(libs.plugins.android.application) apply false
- id 'com.google.gms.google-services' version '4.4.2' apply false
+ id 'com.google.gms.google-services' version '4.4.0' apply false
+ id 'com.android.library' version '8.2.2' apply false
+}
+
+task clean(type: Delete) {
+ delete rootProject.buildDir
}
\ No newline at end of file
diff --git a/gradle.properties b/gradle.properties
index 4387edc..00d252e 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -18,4 +18,5 @@ android.useAndroidX=true
# Enables namespacing of each library's R class so that its R class includes only the
# resources declared in the library itself and none from the library's dependencies,
# thereby reducing the size of the R class for that library
-android.nonTransitiveRClass=true
\ No newline at end of file
+android.nonTransitiveRClass=true
+android.nonFinalResIds=false
\ No newline at end of file
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 447bfa2..01b225e 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -1,5 +1,5 @@
[versions]
-agp = "8.7.3"
+agp = "8.8.0"
firebaseBom = "33.8.0"
junit = "4.13.2"
junitVersion = "1.2.1"
@@ -9,6 +9,8 @@ material = "1.12.0"
firebaseAuth = "23.1.0"
firebaseDatabase = "21.0.0"
runner = "1.6.1"
+activity = "1.9.3"
+constraintlayout = "2.2.0"
[libraries]
firebase-analytics = { module = "com.google.firebase:firebase-analytics" }
@@ -21,6 +23,8 @@ material = { group = "com.google.android.material", name = "material", version.r
firebase-auth = { group = "com.google.firebase", name = "firebase-auth", version.ref = "firebaseAuth" }
firebase-database = { group = "com.google.firebase", name = "firebase-database", version.ref = "firebaseDatabase" }
runner = { group = "androidx.test", name = "runner", version.ref = "runner" }
+activity = { group = "androidx.activity", name = "activity", version.ref = "activity" }
+constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 13b47bd..2553629 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
#Sat Jan 11 14:47:41 EST 2025
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists