Skip to content

Commit 2eaf08d

Browse files
committed
Only save when the user hits the back button
1 parent 4187a72 commit 2eaf08d

2 files changed

Lines changed: 10 additions & 7 deletions

File tree

app/src/main/java/k0bin/notes/ui/fragment/EditFragment.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,10 @@
2626
import java9.util.stream.StreamSupport;
2727
import k0bin.notes.R;
2828
import k0bin.notes.model.Tag;
29+
import k0bin.notes.ui.activity.MainActivity;
2930
import k0bin.notes.viewModel.EditViewModel;
3031

31-
public class EditFragment extends Fragment {
32+
public class EditFragment extends Fragment implements MainActivity.BackFragment {
3233
private EditViewModel viewModel;
3334

3435
private EditText titleEdit;
@@ -147,14 +148,17 @@ public void afterTextChanged(Editable editable) {
147148
});
148149

149150
final BottomAppBar bottomBar = view.findViewById(R.id.bottomBar);
150-
bottomBar.setNavigationOnClickListener (button -> Navigation.findNavController(view).navigateUp());
151+
bottomBar.setNavigationOnClickListener (button -> {
152+
goBack();
153+
Navigation.findNavController(view).navigateUp();
154+
});
151155
}
152156

153157
@Override
154-
public void onStop() {
155-
super.onStop();
158+
public boolean goBack() {
156159
viewModel.save();
157160
hideKeyboard();
161+
return false;
158162
}
159163

160164
private void hideKeyboard() {

app/src/main/java/k0bin/notes/ui/fragment/NotesFragment.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
public class NotesFragment extends Fragment implements MainActivity.BackFragment {
3636
private NotesViewModel viewModel;
3737

38-
private int statusBarHeight;
3938
private int overlayColor = 0;
4039
private boolean isDrawerVisible = false;
4140
private FrameLayout overlay;
@@ -98,7 +97,7 @@ public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
9897

9998
//Navigation drawer
10099
MaterialCardView drawer = view.findViewById(R.id.drawerSheet);
101-
statusBarHeight = getStatusBarHeight();
100+
int statusBarHeight = getStatusBarHeight();
102101

103102
final RecyclerView drawerRecycler = view.findViewById(R.id.drawerRecycler);
104103
final int initialMargin = ((FrameLayout.LayoutParams)drawerRecycler.getLayoutParams()).topMargin;
@@ -110,7 +109,7 @@ public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
110109
final ObjectAnimator cornerAnimator = ObjectAnimator.ofFloat(drawer, "radius", roundRadius, 0f);
111110
cornerAnimator.setDuration(animationDuration);
112111

113-
final ValueAnimator marginAnimator = ValueAnimator.ofFloat((float)initialMargin, (float)statusBarHeight);
112+
final ValueAnimator marginAnimator = ValueAnimator.ofFloat((float)initialMargin, (float) statusBarHeight);
114113
marginAnimator.setDuration(animationDuration);
115114
marginAnimator.addUpdateListener(animator -> {
116115
FrameLayout.LayoutParams params = (FrameLayout.LayoutParams)drawerRecycler.getLayoutParams();

0 commit comments

Comments
 (0)