Work on the back button

This commit is contained in:
astatin3
2024-06-30 08:44:30 -06:00
parent b6ec56c9d9
commit 79e1d18156
6 changed files with 76 additions and 13 deletions
@@ -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(
@@ -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;
}
});
}
}
@@ -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){
@@ -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;
}
});
}
}