From 5967b74c3e67f6ae0789f87b2c12bc06e3d930d3 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 26 Nov 2016 21:20:10 +0100 Subject: [PATCH] fix OpenNoteDialog --- .../notes/activities/MainActivity.kt | 27 ++++++++++--------- .../notes/dialogs/OpenNoteDialog.kt | 8 ++++-- 2 files changed, 20 insertions(+), 15 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 dd81e556..245a27b5 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt @@ -44,14 +44,7 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener { fun initViewPager() { mNotes = mDb.getNotes() mCurrentNote = mNotes[0] - var itemIndex = 0 - for (i in 0..mNotes.count() - 1) { - if (mNotes[i].id == config.currentNoteId) { - mCurrentNote = mNotes[i] - itemIndex = i - break - } - } + val itemIndex = getNoteIndexWithId(config.currentNoteId) mAdapter = NotesPagerAdapter(supportFragmentManager, mNotes) view_pager.apply { @@ -127,11 +120,9 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener { private fun updateSelectedNote(id: Int) { config.currentNoteId = id - - for (i in 0..mNotes.count() - 1) { - view_pager.currentItem = i - mCurrentNote = mNotes[i] - } + val index = getNoteIndexWithId(id) + view_pager.currentItem = index + mCurrentNote = mNotes[index] } fun displayNewNoteDialog() { @@ -172,6 +163,16 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener { } } + private fun getNoteIndexWithId(id: Int): Int { + for (i in 0..mNotes.count() - 1) { + if (mNotes[i].id == id) { + mCurrentNote = mNotes[i] + return i + } + } + return 0 + } + private fun shareText() { val text = notes_view.value if (text.isEmpty()) { diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/dialogs/OpenNoteDialog.kt b/app/src/main/kotlin/com/simplemobiletools/notes/dialogs/OpenNoteDialog.kt index 736559ab..ebbb1fb7 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/dialogs/OpenNoteDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/dialogs/OpenNoteDialog.kt @@ -12,6 +12,7 @@ import kotlinx.android.synthetic.main.dialog_radio_group.view.* class OpenNoteDialog(val activity: Activity, val callback: (checkedId: Int) -> Unit) : RadioGroup.OnCheckedChangeListener { val dialog: AlertDialog? + var wasInit = false init { val config = Config.newInstance(activity) @@ -36,10 +37,13 @@ class OpenNoteDialog(val activity: Activity, val callback: (checkedId: Int) -> U .create() dialog!!.show() + wasInit = true } override fun onCheckedChanged(group: RadioGroup, checkedId: Int) { - callback.invoke(checkedId) - dialog?.dismiss() + if (wasInit) { + callback.invoke(checkedId) + dialog?.dismiss() + } } }