|
|
|
|
@ -10,9 +10,15 @@ import io.realm.RealmResults |
|
|
|
|
|
|
|
|
|
open class RealmFragment : PokerAnalyticsFragment() { |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* A realm instance |
|
|
|
|
*/ |
|
|
|
|
private lateinit var realm: Realm |
|
|
|
|
|
|
|
|
|
private var realmResultLists: MutableMap<Class<out RealmModel>, RealmResults<*>> = mutableMapOf() |
|
|
|
|
/** |
|
|
|
|
* A List of observed RealmResults |
|
|
|
|
*/ |
|
|
|
|
private var observedRealmResults: MutableList<RealmResults<*>> = mutableListOf() |
|
|
|
|
|
|
|
|
|
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { |
|
|
|
|
realm = Realm.getDefaultInstance() |
|
|
|
|
@ -24,7 +30,7 @@ open class RealmFragment : PokerAnalyticsFragment() { |
|
|
|
|
this.entitiesChanged() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
this.realmResultLists[it] = realmResults |
|
|
|
|
this.observedRealmResults.add(realmResults) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return super.onCreateView(inflater, container, savedInstanceState) |
|
|
|
|
@ -33,7 +39,7 @@ open class RealmFragment : PokerAnalyticsFragment() { |
|
|
|
|
override fun onDestroyView() { |
|
|
|
|
super.onDestroyView() |
|
|
|
|
|
|
|
|
|
this.realmResultLists.values.forEach { |
|
|
|
|
this.observedRealmResults.forEach { |
|
|
|
|
it.removeAllChangeListeners() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -47,8 +53,14 @@ open class RealmFragment : PokerAnalyticsFragment() { |
|
|
|
|
return this.realm |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* A list of RealmModel classes to observe |
|
|
|
|
*/ |
|
|
|
|
open val observedEntities: List<Class<out RealmModel>> = listOf() |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* The method called when a change happened in any RealmResults |
|
|
|
|
*/ |
|
|
|
|
open fun entitiesChanged() {} |
|
|
|
|
|
|
|
|
|
} |