package com.majinnaibu.monstercards; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import androidx.navigation.NavController; import androidx.navigation.Navigation; import androidx.navigation.fragment.NavHostFragment; import androidx.navigation.ui.AppBarConfiguration; import androidx.navigation.ui.NavigationUI; import com.google.android.material.bottomnavigation.BottomNavigationView; import com.majinnaibu.monstercards.init.AppCenterInitializer; import com.majinnaibu.monstercards.init.FlipperInitializer; public class MainActivity extends AppCompatActivity { @Override public boolean onSupportNavigateUp() { NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment); return navController.navigateUp() || super.onSupportNavigateUp(); } @SuppressWarnings("ConstantConditions") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); AppCenterInitializer.init(getApplication()); setContentView(R.layout.activity_main); BottomNavigationView 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( R.id.navigation_search, R.id.navigation_dashboard, R.id.navigation_collections, R.id.navigation_library) .build(); NavHostFragment navHostFragment = (NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment); NavController navController = navHostFragment.getNavController(); navController.addOnDestinationChangedListener((controller, destination, arguments) -> { FlipperInitializer.sendNavigationEvent(controller, destination, arguments); }); NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration); NavigationUI.setupWithNavController(navView, navController); } }