diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2592348a..0fcdd7ad 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -21,10 +21,12 @@ + android:name=".activities.MainActivity" + android:launchMode="singleTask"> 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 b953ea5a..2342d014 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt @@ -193,6 +193,11 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener { } } + override fun onNewIntent(intent: Intent) { + super.onNewIntent(intent) + view_pager.currentItem = getWantedNoteIndex() + } + private fun storeStateVariables() { config.apply { storedEnableLineWrap = enableLineWrap @@ -236,17 +241,10 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener { private fun initViewPager() { mNotes = dbHelper.getNotes() mCurrentNote = mNotes[0] - var wantedNoteId = intent.getIntExtra(OPEN_NOTE_ID, -1) - if (wantedNoteId == -1) { - wantedNoteId = config.currentNoteId - } - - val itemIndex = getNoteIndexWithId(wantedNoteId) - mAdapter = NotesPagerAdapter(supportFragmentManager, mNotes, this) view_pager.apply { adapter = mAdapter - currentItem = itemIndex + currentItem = getWantedNoteIndex() addOnPageChangeListener(this@MainActivity) } @@ -255,6 +253,14 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener { } } + private fun getWantedNoteIndex(): Int { + var wantedNoteId = intent.getIntExtra(OPEN_NOTE_ID, -1) + if (wantedNoteId == -1) { + wantedNoteId = config.currentNoteId + } + return getNoteIndexWithId(wantedNoteId) + } + private fun currentNotesView() = if (view_pager == null) { null } else {