From 50281671e4ec74407e389bb23e88f42a7af45562 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 19 Sep 2020 16:23:56 +0200 Subject: [PATCH] fix #358, allow creating a new note from the Open Note dialog --- .../notes/pro/activities/MainActivity.kt | 8 +++- .../notes/pro/dialogs/OpenNoteDialog.kt | 18 ++++++--- app/src/main/res/layout/dialog_open_note.xml | 40 ++++++++++++++++--- 3 files changed, 54 insertions(+), 12 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt index 3074e933..2182001d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt @@ -914,8 +914,12 @@ class MainActivity : SimpleActivity() { } private fun displayOpenNoteDialog() { - OpenNoteDialog(this) { - updateSelectedNote(it) + OpenNoteDialog(this) { noteId, newNote -> + if (newNote == null) { + updateSelectedNote(noteId) + } else { + addNewNote(newNote) + } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/OpenNoteDialog.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/OpenNoteDialog.kt index ea7df27a..9ce865a5 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/OpenNoteDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/OpenNoteDialog.kt @@ -16,7 +16,7 @@ import com.simplemobiletools.notes.pro.models.Note import kotlinx.android.synthetic.main.dialog_open_note.view.* import kotlinx.android.synthetic.main.open_note_item.view.* -class OpenNoteDialog(val activity: Activity, val callback: (checkedId: Long) -> Unit) { +class OpenNoteDialog(val activity: Activity, val callback: (checkedId: Long, newNote: Note?) -> Unit) { private var dialog: AlertDialog? = null init { @@ -24,6 +24,14 @@ class OpenNoteDialog(val activity: Activity, val callback: (checkedId: Long) -> NotesHelper(activity).getNotes { initDialog(it, view) } + + view.dialog_open_note_new_radio.setOnClickListener { + view.dialog_open_note_new_radio.isChecked = false + NewNoteDialog(activity) { + callback(0, it) + dialog?.dismiss() + } + } } private fun initDialog(notes: ArrayList, view: View) { @@ -37,7 +45,7 @@ class OpenNoteDialog(val activity: Activity, val callback: (checkedId: Long) -> id = note.id!!.toInt() setOnClickListener { - callback(note.id!!) + callback(note.id!!, null) dialog?.dismiss() } } @@ -53,8 +61,8 @@ class OpenNoteDialog(val activity: Activity, val callback: (checkedId: Long) -> } dialog = AlertDialog.Builder(activity) - .create().apply { - activity.setupDialogStuff(view, this, R.string.open_note) - } + .create().apply { + activity.setupDialogStuff(view, this, R.string.open_note) + } } } diff --git a/app/src/main/res/layout/dialog_open_note.xml b/app/src/main/res/layout/dialog_open_note.xml index f8958efc..0c646dfa 100644 --- a/app/src/main/res/layout/dialog_open_note.xml +++ b/app/src/main/res/layout/dialog_open_note.xml @@ -4,11 +4,41 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> - + android:layout_height="wrap_content"> + + + + + + + + + +