diff --git a/app/src/main/java/com/astatin3/scoutingapp2025/MainActivity.java b/app/src/main/java/com/astatin3/scoutingapp2025/MainActivity.java index 7c543f3..1c893d1 100644 --- a/app/src/main/java/com/astatin3/scoutingapp2025/MainActivity.java +++ b/app/src/main/java/com/astatin3/scoutingapp2025/MainActivity.java @@ -7,6 +7,7 @@ import com.astatin3.scoutingapp2025.utility.fileEditor; import com.google.android.material.bottomnavigation.BottomNavigationView; import androidx.appcompat.app.AppCompatActivity; +import androidx.fragment.app.Fragment; import androidx.navigation.NavController; import androidx.navigation.Navigation; import androidx.navigation.ui.AppBarConfiguration; @@ -20,6 +21,7 @@ public class MainActivity extends AppCompatActivity { private ActivityMainBinding binding; + private BottomNavigationView navView; @Override protected void onCreate(Bundle savedInstanceState) { @@ -39,7 +41,7 @@ public class MainActivity extends AppCompatActivity { binding = ActivityMainBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); - BottomNavigationView navView = findViewById(R.id.nav_view); + navView = findViewById(R.id.nav_view); // Passing each menu ID as a set of Ids because each // menu should be considered as top level destinations. AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder( diff --git a/app/src/main/java/com/astatin3/scoutingapp2025/ui/data/dataFragment.java b/app/src/main/java/com/astatin3/scoutingapp2025/ui/data/dataFragment.java index c6f8c0b..00d63d1 100644 --- a/app/src/main/java/com/astatin3/scoutingapp2025/ui/data/dataFragment.java +++ b/app/src/main/java/com/astatin3/scoutingapp2025/ui/data/dataFragment.java @@ -2,6 +2,7 @@ package com.astatin3.scoutingapp2025.ui.data; import android.os.Bundle; +import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; @@ -11,6 +12,8 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; +import com.astatin3.scoutingapp2025.MainActivity; +import com.astatin3.scoutingapp2025.R; import com.astatin3.scoutingapp2025.SettingsVersionStack.latestSettings; import com.astatin3.scoutingapp2025.databinding.FragmentDataBinding; import com.astatin3.scoutingapp2025.utility.fileEditor; @@ -49,4 +52,30 @@ public class dataFragment extends Fragment { return root; } + + @Override + public void onResume() { + super.onResume(); + + if(getView() == null){ + return; + } + + getView().setFocusableInTouchMode(true); + getView().requestFocus(); + getView().setOnKeyListener(new View.OnKeyListener() { + @Override + public boolean onKey(View v, int keyCode, KeyEvent event) { + + if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK){ + // handle back button's click listener + + System.out.println("Back"); + + return true; + } + return false; + } + }); + } } \ No newline at end of file diff --git a/app/src/main/java/com/astatin3/scoutingapp2025/ui/scouting/pitScoutingView.java b/app/src/main/java/com/astatin3/scoutingapp2025/ui/scouting/pitScoutingView.java index 1935e49..0e365c6 100644 --- a/app/src/main/java/com/astatin3/scoutingapp2025/ui/scouting/pitScoutingView.java +++ b/app/src/main/java/com/astatin3/scoutingapp2025/ui/scouting/pitScoutingView.java @@ -67,9 +67,6 @@ public class pitScoutingView extends ConstraintLayout { } System.out.println(ScoutingDataWriter.save(values.length-1, username, filename, types)); - -// fileEditor.createFile(filename); -// save_fields(); } public void set_indicator_color(int color){ diff --git a/app/src/main/java/com/astatin3/scoutingapp2025/ui/scouting/scoutingFragment.java b/app/src/main/java/com/astatin3/scoutingapp2025/ui/scouting/scoutingFragment.java index c3d25ff..671c8a4 100644 --- a/app/src/main/java/com/astatin3/scoutingapp2025/ui/scouting/scoutingFragment.java +++ b/app/src/main/java/com/astatin3/scoutingapp2025/ui/scouting/scoutingFragment.java @@ -1,6 +1,7 @@ package com.astatin3.scoutingapp2025.ui.scouting; import android.os.Bundle; +import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; @@ -10,12 +11,14 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; +import com.astatin3.scoutingapp2025.MainActivity; import com.astatin3.scoutingapp2025.SettingsVersionStack.latestSettings; import com.astatin3.scoutingapp2025.databinding.FragmentScoutingBinding; public class scoutingFragment extends Fragment { private FragmentScoutingBinding binding; + private boolean is_main_page = true; public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { @@ -30,12 +33,14 @@ public class scoutingFragment extends Fragment { if(latestSettings.settings.get_evcode().equals("unset")){ binding.noEventError.setVisibility(View.VISIBLE); binding.buttons.setVisibility(View.GONE); + is_main_page = false; } binding.matchScoutingButton.setOnClickListener(v -> { binding.buttons.setVisibility(View.GONE); binding.matchScoutingView.setVisibility(View.VISIBLE); binding.matchScoutingView.init(binding); + is_main_page = false; }); binding.pitScoutingButton.setOnClickListener(v -> { @@ -43,8 +48,40 @@ public class scoutingFragment extends Fragment { binding.buttons.setVisibility(View.GONE); // binding.pitScoutArea.setVisibility(View.VISIBLE); binding.pitScoutingView.init(binding); + is_main_page = false; }); return root; } + + @Override + public void onResume() { + super.onResume(); + + if(getView() == null){ + return; + } + + getView().setFocusableInTouchMode(true); + getView().requestFocus(); + getView().setOnKeyListener(new View.OnKeyListener() { + @Override + public boolean onKey(View v, int keyCode, KeyEvent event) { + + if (event.getAction() == KeyEvent.ACTION_UP + && keyCode == KeyEvent.KEYCODE_BACK + && !is_main_page){ + + binding.buttons.setVisibility(View.VISIBLE); + binding.matchScoutingView.setVisibility(View.GONE); + binding.pitScoutingView.setVisibility(View.GONE); + is_main_page = true; + + return true; + } + return false; + } + }); + } + } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_scouting.xml b/app/src/main/res/layout/fragment_scouting.xml index 76e070e..9b09c61 100644 --- a/app/src/main/res/layout/fragment_scouting.xml +++ b/app/src/main/res/layout/fragment_scouting.xml @@ -28,12 +28,10 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginBottom="48dp" - android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - tools:visibility="gone"> + app:layout_constraintTop_toTopOf="parent">