Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-notes.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2021-04-03 17:38:00 +0300
committerStefan Niedermann <info@niedermann.it>2021-04-03 17:38:00 +0300
commita4f0e0bec68ce9ab77649ce21e1e0ffb86746e05 (patch)
treea2371ec2af1ee8b09ee62f5fc70533781fce1727 /app/src/main
parentc1a12299b4f7a793dca8b3c7862d767a2a4aa13f (diff)
Ensure note has been loaded before restoring scroll position
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/edit/BaseNoteFragment.java34
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/edit/NoteEditFragment.java33
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/edit/NotePreviewFragment.java1
3 files changed, 33 insertions, 35 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/BaseNoteFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/BaseNoteFragment.java
index d03c1220..2dfaf1d1 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/edit/BaseNoteFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/BaseNoteFragment.java
@@ -16,6 +16,7 @@ import android.view.MenuItem;
import android.view.View;
import android.widget.ScrollView;
+import androidx.annotation.CallSuper;
import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -157,23 +158,6 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego
protected abstract void scrollToY(int scrollY);
@Override
- public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
- this.originalScrollY = note.getScrollY();
- scrollToY(originalScrollY);
- final ScrollView scrollView = getScrollView();
- if (scrollView != null) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
- scrollView.setOnScrollChangeListener((View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) -> {
- if (scrollY > 0) {
- note.setScrollY(scrollY);
- }
- });
- }
- }
- }
-
- @Override
public void onResume() {
super.onResume();
listener.onNoteUpdated(note);
@@ -293,7 +277,21 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego
return super.onOptionsItemSelected(item);
}
- protected abstract void onNoteLoaded(Note note);
+ @CallSuper
+ protected void onNoteLoaded(Note note) {
+ this.originalScrollY = note.getScrollY();
+ scrollToY(originalScrollY);
+ final ScrollView scrollView = getScrollView();
+ if (scrollView != null) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+ scrollView.setOnScrollChangeListener((View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) -> {
+ if (scrollY > 0) {
+ note.setScrollY(scrollY);
+ }
+ });
+ }
+ }
+ }
public void onCloseNote() {
if (!titleModified && originalNote == null && getContent().isEmpty()) {
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/NoteEditFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/NoteEditFragment.java
index 2ca2d436..99b50663 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/edit/NoteEditFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/NoteEditFragment.java
@@ -142,28 +142,27 @@ public class NoteEditFragment extends SearchableBaseNoteFragment {
@Override
protected void onNoteLoaded(Note note) {
- if (note != null) {
- if (note.getContent().isEmpty()) {
- binding.editContent.requestFocus();
+ super.onNoteLoaded(note);
+ if (note.getContent().isEmpty()) {
+ binding.editContent.requestFocus();
- requireActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
+ requireActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
- final InputMethodManager imm = (InputMethodManager) requireContext().getSystemService(Context.INPUT_METHOD_SERVICE);
- if (imm != null) {
- imm.showSoftInput(getView(), InputMethodManager.SHOW_IMPLICIT);
- } else {
- Log.e(TAG, InputMethodManager.class.getSimpleName() + " is null.");
- }
+ final InputMethodManager imm = (InputMethodManager) requireContext().getSystemService(Context.INPUT_METHOD_SERVICE);
+ if (imm != null) {
+ imm.showSoftInput(getView(), InputMethodManager.SHOW_IMPLICIT);
+ } else {
+ Log.e(TAG, InputMethodManager.class.getSimpleName() + " is null.");
}
+ }
- binding.editContent.setMarkdownString(note.getContent());
- binding.editContent.setEnabled(true);
+ binding.editContent.setMarkdownString(note.getContent());
+ binding.editContent.setEnabled(true);
- final SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(requireContext().getApplicationContext());
- binding.editContent.setTextSize(TypedValue.COMPLEX_UNIT_PX, getFontSizeFromPreferences(requireContext(), sp));
- if (sp.getBoolean(getString(R.string.pref_key_font), false)) {
- binding.editContent.setTypeface(Typeface.MONOSPACE);
- }
+ final SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(requireContext().getApplicationContext());
+ binding.editContent.setTextSize(TypedValue.COMPLEX_UNIT_PX, getFontSizeFromPreferences(requireContext(), sp));
+ if (sp.getBoolean(getString(R.string.pref_key_font), false)) {
+ binding.editContent.setTypeface(Typeface.MONOSPACE);
}
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/edit/NotePreviewFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/edit/NotePreviewFragment.java
index 6d3549e1..fca142e9 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/edit/NotePreviewFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/edit/NotePreviewFragment.java
@@ -111,6 +111,7 @@ public class NotePreviewFragment extends SearchableBaseNoteFragment implements O
@Override
protected void onNoteLoaded(Note note) {
+ super.onNoteLoaded(note);
noteLoaded = true;
registerInternalNoteLinkHandler();
changedText = note.getContent();