package com.example.dcav2gui;//package com.example.dcav2gui; import android.view.MenuItem; import androidx.lifecycle.ViewModelProvider; import androidx.navigation.NavController; import androidx.navigation.Navigation;// import android.os.Bundle; import android.view.View; import android.view.Menu; import android.widget.Toast; import com.example.dcav2gui.ui.settings.SettingsData; import com.example.dcav2gui.ui.settings.SettingsViewModel; import com.google.android.material.snackbar.Snackbar; import com.google.android.material.navigation.NavigationView; import androidx.navigation.ui.AppBarConfiguration; import androidx.navigation.ui.NavigationUI; import androidx.drawerlayout.widget.DrawerLayout; import androidx.appcompat.app.AppCompatActivity; import com.example.dcav2gui.databinding.ActivityMainBinding; import java.io.File; public class MainActivity extends AppCompatActivity { private AppBarConfiguration mAppBarConfiguration; private ActivityMainBinding binding; private static SettingsData globalSettings; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = ActivityMainBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); setSupportActionBar(binding.appBarMain.toolbar); binding.appBarMain.fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "General commands", Snackbar.LENGTH_LONG) .setAction("Action", null) .setAnchorView(R.id.fab).show(); } }); DrawerLayout drawer = binding.drawerLayout; NavigationView navigationView = binding.navView; // Passing each menu ID as a set of Ids because each // menu should be considered as top level destinations. mAppBarConfiguration = new AppBarConfiguration.Builder( R.id.nav_home, R.id.nav_binance, R.id.nav_gateio, R.id.nav_kucoin, R.id.nav_okx ) .setOpenableLayout(drawer) .build(); NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_content_main); NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration); NavigationUI.setupWithNavController(navigationView, navController); // Check for settings file // if (!isSettingsFileExists()) { // Toast.makeText(this, "Please enter your credentials in the settings menu", Toast.LENGTH_LONG).show(); // } // Load settings SettingsViewModel settingsViewModel = new ViewModelProvider(this).get(SettingsViewModel.class); globalSettings = settingsViewModel.loadSettings(this); if (globalSettings==null) { Toast.makeText(this, "Please enter your credentials in the settings menu", Toast.LENGTH_LONG).show(); } } public static SettingsData getGlobalSettings() { return globalSettings; } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } private boolean isSettingsFileExists() { File file = new File(getFilesDir(), "settings.json"); return file.exists(); } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { // Navigate to the SettingsFragment NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_content_main); navController.navigate(R.id.nav_settings); return true; } return super.onOptionsItemSelected(item); } @Override public boolean onSupportNavigateUp() { NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_content_main); return NavigationUI.navigateUp(navController, mAppBarConfiguration) || super.onSupportNavigateUp(); } }