Advertisement
AleOlivera

PrincipalUsuario.java

Nov 14th, 2022
890
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.24 KB | None | 0 0
  1. package com.example.comedores;
  2.  
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.view.Menu;
  6. import android.view.MenuItem;
  7. import android.view.View;
  8. import android.widget.TextView;
  9.  
  10. import androidx.annotation.NonNull;
  11. import androidx.appcompat.app.AppCompatActivity;
  12. import androidx.drawerlayout.widget.DrawerLayout;
  13. import androidx.lifecycle.ViewModelProvider;
  14. import androidx.navigation.NavController;
  15. import androidx.navigation.Navigation;
  16. import androidx.navigation.ui.AppBarConfiguration;
  17. import androidx.navigation.ui.NavigationUI;
  18.  
  19. import com.example.comedores.databinding.ActivityPrincipalUsuarioBinding;
  20. import com.example.comedores.entidades.Usuario;
  21. import com.example.comedores.viewmodels.UsuarioViewModel;
  22. import com.google.android.material.navigation.NavigationView;
  23. import com.google.android.material.snackbar.Snackbar;
  24.  
  25. public class PrincipalUsuario extends AppCompatActivity {
  26.  
  27.     private AppBarConfiguration mAppBarConfiguration;
  28.     private ActivityPrincipalUsuarioBinding binding;
  29.     private Usuario usuario;
  30.     private UsuarioViewModel usuarioViewModel;
  31.  
  32.     @Override
  33.     protected void onCreate(Bundle savedInstanceState) {
  34.         super.onCreate(savedInstanceState);
  35.  
  36.         usuario = (Usuario) getIntent().getSerializableExtra("usuario");
  37.         cargarViewModel();
  38.  
  39.         binding = ActivityPrincipalUsuarioBinding.inflate(getLayoutInflater());
  40.         setContentView(binding.getRoot());
  41.  
  42.         setSupportActionBar(binding.appBarPrincipalUsuario.toolbar);
  43.         /*
  44.         binding.appBarPrincipalUsuario.fab.setOnClickListener(new View.OnClickListener() {
  45.             @Override
  46.             public void onClick(View view) {
  47.                 Snackbar.make(view, "Sin implementar", Snackbar.LENGTH_LONG)
  48.                         .setAction("Action", null).show();
  49.             }
  50.         }); */
  51.         DrawerLayout drawer = binding.drawerLayout;
  52.         NavigationView navigationView = binding.navView;
  53.         // Passing each menu ID as a set of Ids because each
  54.         // menu should be considered as top level destinations.
  55.         mAppBarConfiguration = new AppBarConfiguration.Builder(
  56.                 R.id.nav_homeUsuarioFinalFragment, R.id.nav_buscarComedor, R.id.nav_Mis_Reportes)
  57.                 .setOpenableLayout(drawer)
  58.                 .build();
  59.         NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_content_principal_usuario);
  60.         NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration);
  61.         NavigationUI.setupWithNavController(navigationView, navController);
  62.  
  63.         cargarHeader(navigationView.getHeaderView(0));
  64.     }
  65.  
  66.     @Override
  67.     public boolean onCreateOptionsMenu(Menu menu) {
  68.         // Inflate the menu; this adds items to the action bar if it is present.
  69.         getMenuInflater().inflate(R.menu.principal_usuario, menu);
  70.         return true;
  71.     }
  72.  
  73.     @Override
  74.     public boolean onSupportNavigateUp() {
  75.         NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_content_principal_usuario);
  76.         return NavigationUI.navigateUp(navController, mAppBarConfiguration)
  77.                 || super.onSupportNavigateUp();
  78.     }
  79.  
  80.     @Override
  81.     public boolean onOptionsItemSelected(@NonNull MenuItem item) {
  82.         switch (item.getItemId()) {
  83.             case R.id.action_settings:
  84.                 cerrarSession();
  85.                 break;
  86.         }
  87.         return super.onOptionsItemSelected(item);
  88.     }
  89.  
  90.     private void cerrarSession() {
  91.         Intent i = new Intent(this, MainActivity.class);
  92.         startActivity(i);
  93.         finish();
  94.     }
  95.  
  96.     private void cargarViewModel() { //Carga el usuario en el activity para que sea accesible para los fragments
  97.         usuarioViewModel = new ViewModelProvider(this).get(UsuarioViewModel.class);
  98.         usuarioViewModel.setData(usuario);
  99.     }
  100.  
  101.     private void cargarHeader(View header) {
  102.         TextView tvNdHeaderTitulo = (TextView) header.findViewById(R.id.tvNdHeaderTitulo);
  103.         TextView tvNdHeaderSubtitulo = (TextView) header.findViewById(R.id.tvNdHeaderSubtitulo);
  104.         tvNdHeaderTitulo.setText("Bienvenido!");
  105.         tvNdHeaderSubtitulo.setText(usuario.getEmail());
  106.     }
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement