Skip to content

Commit 5028167

Browse files
committed
fix #358, allow creating a new note from the Open Note dialog
1 parent 4610bd4 commit 5028167

File tree

3 files changed

+54
-12
lines changed

3 files changed

+54
-12
lines changed

app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -914,8 +914,12 @@ class MainActivity : SimpleActivity() {
914914
}
915915

916916
private fun displayOpenNoteDialog() {
917-
OpenNoteDialog(this) {
918-
updateSelectedNote(it)
917+
OpenNoteDialog(this) { noteId, newNote ->
918+
if (newNote == null) {
919+
updateSelectedNote(noteId)
920+
} else {
921+
addNewNote(newNote)
922+
}
919923
}
920924
}
921925

app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/OpenNoteDialog.kt

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,22 @@ import com.simplemobiletools.notes.pro.models.Note
1616
import kotlinx.android.synthetic.main.dialog_open_note.view.*
1717
import kotlinx.android.synthetic.main.open_note_item.view.*
1818

19-
class OpenNoteDialog(val activity: Activity, val callback: (checkedId: Long) -> Unit) {
19+
class OpenNoteDialog(val activity: Activity, val callback: (checkedId: Long, newNote: Note?) -> Unit) {
2020
private var dialog: AlertDialog? = null
2121

2222
init {
2323
val view = activity.layoutInflater.inflate(R.layout.dialog_open_note, null)
2424
NotesHelper(activity).getNotes {
2525
initDialog(it, view)
2626
}
27+
28+
view.dialog_open_note_new_radio.setOnClickListener {
29+
view.dialog_open_note_new_radio.isChecked = false
30+
NewNoteDialog(activity) {
31+
callback(0, it)
32+
dialog?.dismiss()
33+
}
34+
}
2735
}
2836

2937
private fun initDialog(notes: ArrayList<Note>, view: View) {
@@ -37,7 +45,7 @@ class OpenNoteDialog(val activity: Activity, val callback: (checkedId: Long) ->
3745
id = note.id!!.toInt()
3846

3947
setOnClickListener {
40-
callback(note.id!!)
48+
callback(note.id!!, null)
4149
dialog?.dismiss()
4250
}
4351
}
@@ -53,8 +61,8 @@ class OpenNoteDialog(val activity: Activity, val callback: (checkedId: Long) ->
5361
}
5462

5563
dialog = AlertDialog.Builder(activity)
56-
.create().apply {
57-
activity.setupDialogStuff(view, this, R.string.open_note)
58-
}
64+
.create().apply {
65+
activity.setupDialogStuff(view, this, R.string.open_note)
66+
}
5967
}
6068
}

app/src/main/res/layout/dialog_open_note.xml

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,41 @@
44
android:layout_width="match_parent"
55
android:layout_height="wrap_content">
66

7-
<LinearLayout
8-
android:id="@+id/dialog_open_note_linear"
7+
<RelativeLayout
8+
android:id="@+id/dialog_open_note_wrapper"
99
android:layout_width="match_parent"
10-
android:layout_height="wrap_content"
11-
android:layout_marginTop="@dimen/medium_margin"
12-
android:orientation="vertical" />
10+
android:layout_height="wrap_content">
1311

12+
<LinearLayout
13+
android:id="@+id/dialog_open_note_linear"
14+
android:layout_width="match_parent"
15+
android:layout_height="wrap_content"
16+
android:layout_marginTop="@dimen/medium_margin"
17+
android:orientation="vertical" />
18+
19+
<ImageView
20+
android:id="@+id/dialog_open_note_divider"
21+
android:layout_width="match_parent"
22+
android:layout_height="1px"
23+
android:layout_below="@+id/dialog_open_note_linear"
24+
android:background="@color/divider_grey"
25+
android:importantForAccessibility="no" />
26+
27+
<RadioGroup
28+
android:id="@+id/dialog_open_note_create_new"
29+
android:layout_width="match_parent"
30+
android:layout_height="wrap_content"
31+
android:layout_below="@+id/dialog_open_note_divider"
32+
android:padding="@dimen/normal_margin">
33+
34+
<com.simplemobiletools.commons.views.MyCompatRadioButton
35+
android:id="@+id/dialog_open_note_new_radio"
36+
android:layout_width="match_parent"
37+
android:layout_height="wrap_content"
38+
android:paddingTop="@dimen/normal_margin"
39+
android:paddingBottom="@dimen/normal_margin"
40+
android:text="@string/create_new_note" />
41+
42+
</RadioGroup>
43+
</RelativeLayout>
1444
</ScrollView>

0 commit comments

Comments
 (0)