From c5fc3d2bd5ae9736dbb9d67c863a91307192ddf6 Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 8 Mar 2017 22:05:21 +0100 Subject: [PATCH] save note to file at pause, if its a file note --- .../notes/activities/MainActivity.kt | 23 ++++++++++++------- .../notes/fragments/NoteFragment.kt | 3 ++- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt index c8b28c8f..e2ce5e6f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt @@ -186,32 +186,39 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener { private fun saveAsFile() { SaveAsDialog(this, mCurrentNote.title) { - val file = File(it) + saveNoteValueToFile(it, getCurrentNoteText()) + } + } + + fun saveNoteValueToFile(path: String, content: String) { + try { + val file = File(path) if (file.isDirectory) { toast(R.string.directory_exists) - return@SaveAsDialog + return } - val text = getCurrentNoteText() - if (needsStupidWritePermissions(it)) { + if (needsStupidWritePermissions(path)) { if (isShowingPermDialog(file)) - return@SaveAsDialog + return - var document = getFileDocument(it, config.treeUri) ?: return@SaveAsDialog + var document = getFileDocument(path, config.treeUri) ?: return if (!file.exists()) { document = document.createFile("", file.name) } contentResolver.openOutputStream(document.uri).apply { - write(text.toByteArray(Charset.forName("UTF-8"))) + write(content.toByteArray(Charset.forName("UTF-8"))) flush() close() } } else { file.printWriter().use { out -> - out.write(text) + out.write(content) } } toast(R.string.file_saved) + } catch (e: Exception) { + toast(R.string.unknown_error_occurred) } } diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt b/app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt index 99ae512d..e46a8871 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt @@ -13,6 +13,7 @@ import android.view.View import android.view.ViewGroup import android.view.inputmethod.InputMethodManager import com.simplemobiletools.notes.R +import com.simplemobiletools.notes.activities.MainActivity import com.simplemobiletools.notes.extensions.config import com.simplemobiletools.notes.extensions.getTextGravity import com.simplemobiletools.notes.extensions.getTextSize @@ -76,7 +77,7 @@ class NoteFragment : Fragment() { if (note.path.isEmpty()) { mDb.updateNoteValue(note) } else { - + (activity as MainActivity).saveNoteValueToFile(note.path, getCurrentNoteViewText()) } }