import android.os.Bundle;
import android.view.Menu;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
import androidx.appcompat.app.ActionBar;
import androidx.lifecycle.ViewModelProvider;
import androidx.lifecycle.ViewModelStoreOwner;
import androidx.navigation.NavController;
-import androidx.navigation.NavDestination;
import androidx.navigation.fragment.NavHostFragment;
import net.ktnx.mobileledger.R;
public class PatternsActivity extends CrashReportingActivity
implements PatternListFragment.OnPatternListFragmentInteractionListener {
+ public static final String ARG_ADD_PATTERN = "add-pattern";
private ActivityPatternsBinding b;
private NavController navController;
@Override
getSupportFragmentManager().findFragmentById(R.id.fragment_container));
navController = navHostFragment.getNavController();
- navController.addOnDestinationChangedListener(
- new NavController.OnDestinationChangedListener() {
- @Override
- public void onDestinationChanged(@NonNull NavController controller,
- @NonNull NavDestination destination,
- @Nullable Bundle arguments) {
- if (destination.getId() == R.id.patternListFragment) {
- b.fabAdd.show();
- b.fabSave.hide();
- }
- if (destination.getId() == R.id.patternDetailsFragment) {
- b.fabAdd.hide();
- b.fabSave.show();
- }
- }
- });
+ navController.addOnDestinationChangedListener((controller, destination, arguments) -> {
+ if (destination.getId() == R.id.patternListFragment) {
+ b.fabAdd.show();
+ b.fabSave.hide();
+ b.toolbarLayout.setTitle(getString(R.string.title_activity_patterns));
+ }
+ if (destination.getId() == R.id.patternDetailsFragment) {
+ b.fabAdd.hide();
+ b.fabSave.show();
+ }
+ });
b.toolbarLayout.setTitle(getString(R.string.title_activity_patterns));
- b.fabAdd.setOnClickListener(v -> onNewPattern());
+ b.fabAdd.setOnClickListener(v -> onEditPattern(null));
b.fabSave.setOnClickListener(v -> onSavePattern());
}
@Override
- public void onNewPattern() {
- navController.navigate(R.id.action_patternListFragment_to_patternDetailsFragment);
-// final Snackbar snackbar =
-// Snackbar.make(b.fragmentContainer, "New pattern action coming up soon",
-// Snackbar.LENGTH_INDEFINITE);
-// snackbar.setAction("Action", v -> snackbar.dismiss());
-// snackbar.show();
- }
- @Override
- public void onEditPattern(int id) {
- Bundle bundle = new Bundle();
- bundle.putInt(PatternDetailsFragment.ARG_PATTERN_ID, id);
- navController.navigate(R.id.action_patternListFragment_to_patternDetailsFragment, bundle);
+ public void onEditPattern(Long id) {
+ if (id == null) {
+ navController.navigate(R.id.action_patternListFragment_to_patternDetailsFragment);
+ b.toolbarLayout.setTitle(getString(R.string.title_new_pattern));
+ }
+ else {
+ Bundle bundle = new Bundle();
+ bundle.putLong(PatternDetailsFragment.ARG_PATTERN_ID, id);
+ navController.navigate(R.id.action_patternListFragment_to_patternDetailsFragment,
+ bundle);
+ b.toolbarLayout.setTitle(getString(R.string.title_edit_pattern));
+ }
}
@Override
public void onSavePattern() {
new ViewModelProvider(viewModelStoreOwner).get(PatternDetailsViewModel.class);
Logger.debug("flow", "PatternsActivity.onSavePattern(): model=" + model);
model.onSavePattern();
- navController.navigate(R.id.patternListFragment);
+ navController.navigateUp();
}
public NavController getNavController() {
return navController;