diff options
author | Stefan Niedermann <info@niedermann.it> | 2021-04-03 15:37:11 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2021-04-03 15:37:11 +0300 |
commit | 04f18caeebe384197a006f3e10e8d49827ae309d (patch) | |
tree | 31b12fd8a74bce691f1aed3f33aa731edd9fb7fa /app/src/main/java/it/niedermann | |
parent | f31a1756e4bfb3cb2b6bbcf5f6cf5fd1f2133699 (diff) |
Fix wrong thread on swipe 2 refresh
Diffstat (limited to 'app/src/main/java/it/niedermann')
-rw-r--r-- | app/src/main/java/it/niedermann/owncloud/notes/edit/NotePreviewFragment.java | 28 |
1 files changed, 16 insertions, 12 deletions
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 ed918bd1..6d3549e1 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 @@ -154,18 +154,22 @@ public class NotePreviewFragment extends SearchableBaseNoteFragment implements O public void onRefresh() { if (noteLoaded && db.getNoteServerSyncHelper().isSyncPossible() && SSOUtil.isConfigured(getContext())) { binding.swiperefreshlayout.setRefreshing(true); - try { - final Account account = db.getAccountDao().getAccountByName(SingleAccountHelper.getCurrentSingleSignOnAccount(requireContext()).name); - db.getNoteServerSyncHelper().addCallbackPull(account, () -> { - note = db.getNoteDao().getNoteById(note.getId()); - changedText = note.getContent(); - binding.singleNoteContent.setMarkdownString(note.getContent()); - binding.swiperefreshlayout.setRefreshing(false); - }); - db.getNoteServerSyncHelper().scheduleSync(account, false); - } catch (NextcloudFilesAppAccountNotFoundException | NoCurrentAccountSelectedException e) { - e.printStackTrace(); - } + new Thread(() -> { + try { + final Account account = db.getAccountDao().getAccountByName(SingleAccountHelper.getCurrentSingleSignOnAccount(requireContext()).name); + db.getNoteServerSyncHelper().addCallbackPull(account, () -> new Thread(() -> { + note = db.getNoteDao().getNoteById(note.getId()); + changedText = note.getContent(); + requireActivity().runOnUiThread(() -> { + binding.singleNoteContent.setMarkdownString(note.getContent()); + binding.swiperefreshlayout.setRefreshing(false); + }); + }).start()); + db.getNoteServerSyncHelper().scheduleSync(account, false); + } catch (NextcloudFilesAppAccountNotFoundException | NoCurrentAccountSelectedException e) { + e.printStackTrace(); + } + }).start(); } else { binding.swiperefreshlayout.setRefreshing(false); Toast.makeText(requireContext(), getString(R.string.error_sync, getString(R.string.error_no_network)), Toast.LENGTH_LONG).show(); |