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>2020-06-08 11:01:50 +0300
committerNiedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com>2020-06-08 14:55:59 +0300
commit7c4f6f200707df8f9d35d8ade3d3ad38f0ccb42f (patch)
tree6150c09abbf5e325ceb1e1d8c9fda81e145f9304 /app/src/main
parent6ef22884dc8194802ce4bd6985f2a64d1c32ac9f (diff)
#227 Remember last scrolling position per note
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/android/fragment/BaseNoteFragment.java12
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesDatabase.java3
2 files changed, 12 insertions, 3 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/BaseNoteFragment.java b/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/BaseNoteFragment.java
index a3ab86dc..ccdfc6ab 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/BaseNoteFragment.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/android/fragment/BaseNoteFragment.java
@@ -64,8 +64,10 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego
private SingleSignOnAccount ssoAccount;
protected DBNote note;
+ // TODO do we really need this? The reference to note is currently the same
@Nullable
private DBNote originalNote;
+ private int originalScrollY;
protected NotesDatabase db;
private NoteFragmentListener listener;
@@ -134,7 +136,8 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego
super.onActivityCreated(savedInstanceState);
final ScrollView scrollView = getScrollView();
if (scrollView != null) {
- scrollView.post(() -> scrollView.scrollTo(0, note.getScrollY()));
+ this.originalScrollY = note.getScrollY();
+ scrollView.post(() -> scrollView.scrollTo(0, originalScrollY));
}
}
@@ -287,7 +290,12 @@ public abstract class BaseNoteFragment extends BrandedFragment implements Catego
if (note != null) {
String newContent = getContent();
if (note.getContent().equals(newContent)) {
- Log.v(TAG, "... not saving, since nothing has changed");
+ if (note.getScrollY() != originalScrollY) {
+ Log.v(TAG, "... only saving new scroll state, since content did not change");
+ db.updateScrollY(note.getId(), note.getScrollY());
+ } else {
+ Log.v(TAG, "... not saving, since nothing has changed");
+ }
} else {
note = db.updateNoteAndSync(ssoAccount, localAccount.getId(), note, newContent, callback);
listener.onNoteUpdated(note);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesDatabase.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesDatabase.java
index 5243967c..d19c5734 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesDatabase.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesDatabase.java
@@ -540,10 +540,11 @@ public class NotesDatabase extends AbstractNotesDatabase {
}
public void updateScrollY(long noteId, int scrollY) {
+ Log.e(TAG, "Updated scrollY: " + scrollY);
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues(1);
values.put(key_scroll_y, scrollY);
- db.update(table_notes, values, key_id + " = ? ", new String[]{String.valueOf(scrollY)});
+ db.update(table_notes, values, key_id + " = ? ", new String[]{String.valueOf(noteId)});
}
/**