diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt index 3c80f24f..83bba8fc 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/DataListFragment.kt @@ -7,7 +7,6 @@ import android.view.ViewGroup import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.LinearLayoutManager import com.google.android.material.snackbar.Snackbar -import io.realm.Realm import io.realm.RealmObject import io.realm.RealmResults import kotlinx.android.synthetic.main.fragment_data_list.* @@ -159,9 +158,8 @@ class DataListFragment : PokerAnalyticsFragment(), LiveRowRepresentableDataSourc fun setData(dataType: Int) { this.dataType = SettingRow.values()[dataType] this.toolbar.title = this.dataType.localizedTitle(requireContext()) - val realm = Realm.getDefaultInstance() this.dataType.relatedResultsRepresentable?.let { - this.items = it.items(realm) + this.items = it.items(getRealm()) } } } \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/SessionObserverFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/SessionObserverFragment.kt index ef45f46d..63e688a6 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/SessionObserverFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/SessionObserverFragment.kt @@ -1,20 +1,25 @@ package net.pokeranalytics.android.ui.fragment.components -import io.realm.Realm +import android.os.Bundle import io.realm.RealmResults import net.pokeranalytics.android.model.realm.ComputableResult open class SessionObserverFragment : PokerAnalyticsFragment() { - val endedSessions: RealmResults + private lateinit var endedSessions: RealmResults - init { - val realm = Realm.getDefaultInstance() - this.endedSessions = realm.where(ComputableResult::class.java).findAll() // ComputableResult are existing only if sessions are ended - this.endedSessions.addChangeListener { _, _ -> - this.sessionsChanged() - } - } + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + this.endedSessions = getRealm().where(ComputableResult::class.java).findAll() // ComputableResult are existing only if sessions are ended + this.endedSessions.addChangeListener { _, _ -> + this.sessionsChanged() + } + } + + override fun onDestroyView() { + super.onDestroyView() + endedSessions.removeAllChangeListeners() + } open fun sessionsChanged() { // to override