X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Fpatterns%2FPatternsActivity.java;h=945123d95e32c5990be4d6ae305f510623383db0;hb=28b09d462a5486f26f2dbd3d9f16dbf523987e1c;hp=c787769481cd6078759e899484f4d83236986890;hpb=da6d2e9c50bef3d38a957f91004b21d43d0732e3;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/patterns/PatternsActivity.java b/app/src/main/java/net/ktnx/mobileledger/ui/patterns/PatternsActivity.java index c7877694..945123d9 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/patterns/PatternsActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/patterns/PatternsActivity.java @@ -19,14 +19,12 @@ package net.ktnx.mobileledger.ui.patterns; import android.os.Bundle; import android.view.Menu; +import android.view.MenuItem; -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; @@ -64,37 +62,49 @@ public class PatternsActivity extends CrashReportingActivity 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 -> onEditPattern(null)); b.fabSave.setOnClickListener(v -> onSavePattern()); } + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (item.getItemId() == android.R.id.home) { + if (navController.getCurrentDestination() + .getId() == R.id.patternDetailsFragment) + navController.popBackStack(); + else + finish(); + + return true; + } + return super.onOptionsItemSelected(item); + } + @Override public void onEditPattern(Long id) { - if (id == null){ + if (id == null) { navController.navigate(R.id.action_patternListFragment_to_patternDetailsFragment); + b.toolbarLayout.setTitle(getString(R.string.title_new_pattern)); } - else{ + else { Bundle bundle = new Bundle(); bundle.putLong(PatternDetailsFragment.ARG_PATTERN_ID, id); - navController.navigate(R.id.action_patternListFragment_to_patternDetailsFragment, bundle); + navController.navigate(R.id.action_patternListFragment_to_patternDetailsFragment, + bundle); + b.toolbarLayout.setTitle(getString(R.string.title_edit_pattern)); } } @Override