2024-09-15 22:47:45 -06:00
|
|
|
package com.ridgebotics.ridgescout;
|
2024-03-24 17:49:47 -06:00
|
|
|
|
2024-09-20 15:59:35 -06:00
|
|
|
import android.content.Context;
|
2024-09-15 20:49:16 -06:00
|
|
|
import android.content.Intent;
|
2024-03-24 17:49:47 -06:00
|
|
|
import android.os.Bundle;
|
|
|
|
|
|
2024-09-22 11:06:40 -06:00
|
|
|
import com.ridgebotics.ridgescout.databinding.ActivityMainBinding;
|
2025-04-04 14:15:30 -06:00
|
|
|
import com.ridgebotics.ridgescout.scoutingData.Fields;
|
2024-09-15 22:47:45 -06:00
|
|
|
import com.ridgebotics.ridgescout.utility.SentimentAnalysis;
|
|
|
|
|
import com.ridgebotics.ridgescout.utility.AlertManager;
|
2025-04-04 14:15:30 -06:00
|
|
|
import com.ridgebotics.ridgescout.utility.FileEditor;
|
2024-03-24 17:49:47 -06:00
|
|
|
import com.google.android.material.bottomnavigation.BottomNavigationView;
|
|
|
|
|
|
|
|
|
|
import androidx.appcompat.app.AppCompatActivity;
|
|
|
|
|
import androidx.navigation.NavController;
|
2024-07-28 09:28:00 -06:00
|
|
|
import androidx.navigation.NavOptions;
|
2024-03-24 17:49:47 -06:00
|
|
|
import androidx.navigation.Navigation;
|
|
|
|
|
import androidx.navigation.ui.AppBarConfiguration;
|
|
|
|
|
import androidx.navigation.ui.NavigationUI;
|
|
|
|
|
|
|
|
|
|
|
2025-04-04 14:15:30 -06:00
|
|
|
import com.ridgebotics.ridgescout.utility.SettingsManager;
|
2024-06-23 14:14:22 -06:00
|
|
|
|
2024-07-03 19:31:20 -06:00
|
|
|
import java.util.Objects;
|
2024-10-06 16:06:43 -06:00
|
|
|
import java.util.TimeZone;
|
2024-07-03 19:31:20 -06:00
|
|
|
|
2024-03-24 17:49:47 -06:00
|
|
|
public class MainActivity extends AppCompatActivity {
|
|
|
|
|
|
2024-03-28 10:21:54 -06:00
|
|
|
|
2024-03-24 17:49:47 -06:00
|
|
|
private ActivityMainBinding binding;
|
2024-06-30 08:44:30 -06:00
|
|
|
private BottomNavigationView navView;
|
2024-03-24 17:49:47 -06:00
|
|
|
|
2024-07-28 15:49:44 -06:00
|
|
|
private AppBarConfiguration appBarConfiguration;
|
|
|
|
|
private NavController navController;
|
|
|
|
|
|
2024-07-23 22:38:37 -06:00
|
|
|
|
2024-03-24 17:49:47 -06:00
|
|
|
@Override
|
|
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
2024-06-27 22:12:36 -06:00
|
|
|
|
2024-09-20 15:59:35 -06:00
|
|
|
|
2025-04-04 14:15:30 -06:00
|
|
|
SettingsManager.prefs = this.getSharedPreferences(
|
2024-09-20 15:59:35 -06:00
|
|
|
"com.ridgebotics.ridgescout", Context.MODE_PRIVATE);
|
|
|
|
|
|
2025-04-04 14:15:30 -06:00
|
|
|
if(!FileEditor.fileExist(Fields.matchFieldsFilename)){
|
|
|
|
|
Fields.save(Fields.matchFieldsFilename, Fields.default_match_fields);
|
2024-06-28 15:44:38 -06:00
|
|
|
}
|
|
|
|
|
|
2025-04-04 14:15:30 -06:00
|
|
|
if(!FileEditor.fileExist(Fields.pitsFieldsFilename)){
|
|
|
|
|
Fields.save(Fields.pitsFieldsFilename, Fields.default_pit_fields);
|
2024-06-27 22:12:36 -06:00
|
|
|
}
|
|
|
|
|
|
2024-10-06 16:06:43 -06:00
|
|
|
|
|
|
|
|
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
|
|
|
|
|
|
2024-07-24 15:27:13 -06:00
|
|
|
AlertManager.init(this);
|
2024-07-28 15:49:44 -06:00
|
|
|
SentimentAnalysis.init(this);
|
2024-07-24 15:27:13 -06:00
|
|
|
|
2024-07-03 19:31:20 -06:00
|
|
|
Objects.requireNonNull(getSupportActionBar()).hide();
|
|
|
|
|
|
2024-07-28 15:49:44 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-03-24 17:49:47 -06:00
|
|
|
super.onCreate(savedInstanceState);
|
|
|
|
|
|
|
|
|
|
binding = ActivityMainBinding.inflate(getLayoutInflater());
|
|
|
|
|
setContentView(binding.getRoot());
|
|
|
|
|
|
2024-07-28 15:49:44 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-06-30 08:44:30 -06:00
|
|
|
navView = findViewById(R.id.nav_view);
|
2024-07-28 15:49:44 -06:00
|
|
|
|
|
|
|
|
appBarConfiguration = new AppBarConfiguration.Builder(
|
|
|
|
|
R.id.navigation_scouting,
|
2025-04-11 22:07:41 -06:00
|
|
|
R.id.navigation_data_parent,
|
2024-07-28 15:49:44 -06:00
|
|
|
R.id.navigation_transfer,
|
|
|
|
|
R.id.navigation_settings)
|
2024-03-24 17:49:47 -06:00
|
|
|
.build();
|
2024-07-26 23:48:12 -06:00
|
|
|
|
2024-07-28 09:28:00 -06:00
|
|
|
// appBarConfiguration.set
|
|
|
|
|
|
2024-07-28 15:49:44 -06:00
|
|
|
navController = Navigation.findNavController(this, R.id.nav_host_fragment_activity_main);
|
|
|
|
|
|
2024-07-28 09:28:00 -06:00
|
|
|
|
2024-03-24 17:49:47 -06:00
|
|
|
NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);
|
2024-07-28 15:49:44 -06:00
|
|
|
NavigationUI.setupWithNavController(navView, navController);
|
|
|
|
|
|
2025-03-07 12:24:16 -07:00
|
|
|
navView.setOnItemSelectedListener(item -> {
|
|
|
|
|
backPressed = null;
|
|
|
|
|
clearBackStack();
|
|
|
|
|
navController.navigate(item.getItemId(), savedInstanceState, new NavOptions.Builder()
|
|
|
|
|
.setEnterAnim(R.anim.enter_anim)
|
|
|
|
|
.setExitAnim(R.anim.exit_anim)
|
|
|
|
|
.setPopEnterAnim(R.anim.pop_enter_anim)
|
|
|
|
|
.setPopExitAnim(R.anim.pop_exit_anim).build()
|
|
|
|
|
);
|
|
|
|
|
return true;
|
2024-07-28 09:28:00 -06:00
|
|
|
});
|
|
|
|
|
|
2024-03-24 17:49:47 -06:00
|
|
|
}
|
|
|
|
|
|
2024-07-28 15:49:44 -06:00
|
|
|
@Override
|
|
|
|
|
public boolean onSupportNavigateUp() {
|
|
|
|
|
return navController.navigateUp() || super.onSupportNavigateUp();
|
|
|
|
|
}
|
2024-07-28 09:28:00 -06:00
|
|
|
|
|
|
|
|
private void clearBackStack() {
|
|
|
|
|
navController.popBackStack(navController.getGraph().getStartDestinationId(), false);
|
|
|
|
|
}
|
2024-09-15 20:49:16 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public interface activityResultRelay {
|
|
|
|
|
void onActivityResult(int requestCode, int resultCode, Intent data);
|
|
|
|
|
}
|
|
|
|
|
public static activityResultRelay resultRelay = null;
|
|
|
|
|
public static void setResultRelay(activityResultRelay tmpresultRelay){
|
|
|
|
|
resultRelay = tmpresultRelay;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
|
|
|
|
super.onActivityResult(requestCode, resultCode, data);
|
|
|
|
|
// AlertManager.error(String.valueOf(requestCode));
|
|
|
|
|
if (resultRelay != null) {
|
|
|
|
|
resultRelay.onActivityResult(resultCode, requestCode, data);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2025-03-07 12:24:16 -07:00
|
|
|
|
|
|
|
|
public interface onBackPressed {
|
|
|
|
|
boolean onBackPressed();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public onBackPressed backPressed = null;
|
|
|
|
|
public void setOnBackPressed(onBackPressed onBackPressed){
|
|
|
|
|
this.backPressed = onBackPressed;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void onBackPressed() {
|
|
|
|
|
if(backPressed != null) {
|
|
|
|
|
if (backPressed.onBackPressed()) {
|
|
|
|
|
super.onBackPressed();
|
|
|
|
|
}
|
|
|
|
|
} else {super.onBackPressed();}
|
|
|
|
|
}
|
|
|
|
|
|
2024-03-24 17:49:47 -06:00
|
|
|
}
|