From a6dc7aebefdf238ce959b3cf798fd5d8a30fda01 Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 18 Apr 2017 23:22:41 +0200 Subject: [PATCH] fix #80, prevent crashes at rotating with some dialog open --- .../notes/activities/MainActivity.kt | 2 +- .../notes/adapters/NotesPagerAdapter.kt | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 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 43b0c648..2979e684 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt @@ -59,7 +59,7 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener { val itemIndex = getNoteIndexWithId(wantedNoteId) - mAdapter = NotesPagerAdapter(supportFragmentManager, mNotes) + mAdapter = NotesPagerAdapter(supportFragmentManager, mNotes, applicationContext) view_pager.apply { adapter = mAdapter currentItem = itemIndex diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/adapters/NotesPagerAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/notes/adapters/NotesPagerAdapter.kt index 4957a198..26d5a4d2 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/adapters/NotesPagerAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/adapters/NotesPagerAdapter.kt @@ -1,15 +1,19 @@ package com.simplemobiletools.notes.adapters +import android.content.Context import android.os.Bundle import android.support.v4.app.Fragment import android.support.v4.app.FragmentManager import android.support.v4.app.FragmentStatePagerAdapter import android.util.SparseArray +import android.view.ViewGroup +import com.simplemobiletools.commons.extensions.toast +import com.simplemobiletools.notes.R import com.simplemobiletools.notes.fragments.NoteFragment import com.simplemobiletools.notes.helpers.NOTE_ID import com.simplemobiletools.notes.models.Note -class NotesPagerAdapter(fm: FragmentManager, private val notes: List) : FragmentStatePagerAdapter(fm) { +class NotesPagerAdapter(fm: FragmentManager, val notes: List, val context: Context) : FragmentStatePagerAdapter(fm) { var fragments: SparseArray = SparseArray(5) override fun getCount() = notes.size @@ -35,4 +39,12 @@ class NotesPagerAdapter(fm: FragmentManager, private val notes: List) : Fr fun saveCurrentNote(position: Int) = fragments[position]?.saveText() fun showKeyboard(position: Int) = fragments[position]?.showKeyboard() + + override fun finishUpdate(container: ViewGroup?) { + try { + super.finishUpdate(container) + } catch (e: Exception) { + context.toast(R.string.unknown_error_occurred) + } + } }