Cleanup realm instance management

feature/top10
Laurent 7 years ago
parent 42ff02d555
commit 4857cb632b
  1. 2
      app/src/main/java/net/pokeranalytics/android/calculus/bankroll/BankrollCalculator.kt
  2. 12
      app/src/main/java/net/pokeranalytics/android/ui/activity/components/PokerAnalyticsActivity.kt
  3. 12
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/PokerAnalyticsFragment.kt
  4. 9
      app/src/main/res/drawable/ic_outline_remove.xml

@ -32,6 +32,8 @@ class BankrollCalculator {
report.addTransaction(it) report.addTransaction(it)
} }
realm.close()
return report return report
} }

@ -21,7 +21,7 @@ open class PokerAnalyticsActivity : AppCompatActivity() {
const val PLAY_SERVICES_RESOLUTION_REQUEST = 2000 const val PLAY_SERVICES_RESOLUTION_REQUEST = 2000
} }
private val realm = Realm.getDefaultInstance() private var realm: Realm? = null
private var permissionCallback: ((granted: Boolean) -> Unit)? = null private var permissionCallback: ((granted: Boolean) -> Unit)? = null
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) { override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
@ -55,14 +55,20 @@ open class PokerAnalyticsActivity : AppCompatActivity() {
override fun onDestroy() { override fun onDestroy() {
super.onDestroy() super.onDestroy()
realm.close() this.realm?.close()
} }
/** /**
* Return the realm instance * Return the realm instance
*/ */
fun getRealm(): Realm { fun getRealm(): Realm {
return realm this.realm?.let {
return it
} ?: run {
val realm = Realm.getDefaultInstance()
this.realm = realm
return realm
}
} }
/** /**

@ -6,7 +6,7 @@ import io.realm.Realm
open class PokerAnalyticsFragment: Fragment() { open class PokerAnalyticsFragment: Fragment() {
private lateinit var realm: Realm private var realm: Realm? = null
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
@ -15,14 +15,20 @@ open class PokerAnalyticsFragment: Fragment() {
override fun onDestroyView() { override fun onDestroyView() {
super.onDestroyView() super.onDestroyView()
realm.close() this.realm?.close()
} }
/** /**
* Get the realm instance * Get the realm instance
*/ */
fun getRealm(): Realm { fun getRealm(): Realm {
return realm this.realm?.let {
return it
} ?: run {
val realm = Realm.getDefaultInstance()
this.realm = realm
return realm
}
} }
/** /**

@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M7,11v2h10v-2L7,11zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8z"/>
</vector>
Loading…
Cancel
Save