Skip to content

Commit 121be3d

Browse files
Merge pull request #2299 from quthla/restore-selection
Restore selection
2 parents ab6c78e + 77c785a commit 121be3d

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

app/src/main/java/it/niedermann/owncloud/notes/edit/NoteEditFragment.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ public void run() {
6868
};
6969
private TextWatcher textWatcher;
7070
private boolean keyboardShown = false;
71+
private int lastSelection = -1;
7172

7273
@Override
7374
public void onCreate(@Nullable Bundle savedInstanceState) {
@@ -151,6 +152,19 @@ public void afterTextChanged(final Editable s) {
151152
}
152153
}
153154
};
155+
156+
if (savedInstanceState != null) {
157+
lastSelection = savedInstanceState.getInt("lastSelection", -1);
158+
}
159+
}
160+
161+
@Override
162+
public void onSaveInstanceState(@NonNull Bundle outState) {
163+
super.onSaveInstanceState(outState);
164+
165+
if (binding != null && binding.editContent.hasFocus()) {
166+
outState.putInt("lastSelection", binding.editContent.getSelectionStart());
167+
}
154168
}
155169

156170
@Override
@@ -178,6 +192,10 @@ protected void onNoteLoaded(Note note) {
178192
if (sp.getBoolean(getString(R.string.pref_key_font), false)) {
179193
binding.editContent.setTypeface(Typeface.MONOSPACE);
180194
}
195+
196+
if (lastSelection > 0 && binding.editContent.length() >= lastSelection) {
197+
binding.editContent.setSelection(lastSelection);
198+
}
181199
}
182200

183201
private void openSoftKeyboard() {

0 commit comments

Comments
 (0)