From 4857cb632b584d6554c67964362167013dab7806 Mon Sep 17 00:00:00 2001 From: Laurent Date: Tue, 2 Apr 2019 16:05:09 +0200 Subject: [PATCH] Cleanup realm instance management --- .../android/calculus/bankroll/BankrollCalculator.kt | 2 ++ .../ui/activity/components/PokerAnalyticsActivity.kt | 12 +++++++++--- .../ui/fragment/components/PokerAnalyticsFragment.kt | 12 +++++++++--- app/src/main/res/drawable/ic_outline_remove.xml | 9 --------- 4 files changed, 20 insertions(+), 15 deletions(-) delete mode 100644 app/src/main/res/drawable/ic_outline_remove.xml diff --git a/app/src/main/java/net/pokeranalytics/android/calculus/bankroll/BankrollCalculator.kt b/app/src/main/java/net/pokeranalytics/android/calculus/bankroll/BankrollCalculator.kt index 3a126a68..79c81f85 100644 --- a/app/src/main/java/net/pokeranalytics/android/calculus/bankroll/BankrollCalculator.kt +++ b/app/src/main/java/net/pokeranalytics/android/calculus/bankroll/BankrollCalculator.kt @@ -32,6 +32,8 @@ class BankrollCalculator { report.addTransaction(it) } + realm.close() + return report } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/activity/components/PokerAnalyticsActivity.kt b/app/src/main/java/net/pokeranalytics/android/ui/activity/components/PokerAnalyticsActivity.kt index 8d177370..141035be 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/activity/components/PokerAnalyticsActivity.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/activity/components/PokerAnalyticsActivity.kt @@ -21,7 +21,7 @@ open class PokerAnalyticsActivity : AppCompatActivity() { const val PLAY_SERVICES_RESOLUTION_REQUEST = 2000 } - private val realm = Realm.getDefaultInstance() + private var realm: Realm? = null private var permissionCallback: ((granted: Boolean) -> Unit)? = null override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) { @@ -55,14 +55,20 @@ open class PokerAnalyticsActivity : AppCompatActivity() { override fun onDestroy() { super.onDestroy() - realm.close() + this.realm?.close() } /** * Return the realm instance */ fun getRealm(): Realm { - return realm + this.realm?.let { + return it + } ?: run { + val realm = Realm.getDefaultInstance() + this.realm = realm + return realm + } } /** diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/PokerAnalyticsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/PokerAnalyticsFragment.kt index fb720dc9..e69ce9f6 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/PokerAnalyticsFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/PokerAnalyticsFragment.kt @@ -6,7 +6,7 @@ import io.realm.Realm open class PokerAnalyticsFragment: Fragment() { - private lateinit var realm: Realm + private var realm: Realm? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -15,14 +15,20 @@ open class PokerAnalyticsFragment: Fragment() { override fun onDestroyView() { super.onDestroyView() - realm.close() + this.realm?.close() } /** * Get the realm instance */ fun getRealm(): Realm { - return realm + this.realm?.let { + return it + } ?: run { + val realm = Realm.getDefaultInstance() + this.realm = realm + return realm + } } /** diff --git a/app/src/main/res/drawable/ic_outline_remove.xml b/app/src/main/res/drawable/ic_outline_remove.xml deleted file mode 100644 index 4f022563..00000000 --- a/app/src/main/res/drawable/ic_outline_remove.xml +++ /dev/null @@ -1,9 +0,0 @@ - - -