From dca716b68484cc5b0bed76fc0ce4ec94e94b37d9 Mon Sep 17 00:00:00 2001 From: Gideon Okuro Date: Fri, 18 Oct 2024 14:59:49 +0300 Subject: [PATCH] better realm instance management --- .../java/org/ole/planet/myplanet/MainApplication.kt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/ole/planet/myplanet/MainApplication.kt b/app/src/main/java/org/ole/planet/myplanet/MainApplication.kt index 24f8b119b..67226e525 100644 --- a/app/src/main/java/org/ole/planet/myplanet/MainApplication.kt +++ b/app/src/main/java/org/ole/planet/myplanet/MainApplication.kt @@ -293,10 +293,10 @@ class MainApplication : Application(), Application.ActivityLifecycleCallbacks { private fun handleUncaughtException(e: Throwable) { e.printStackTrace() - runBlocking { - launch(Dispatchers.IO) { + applicationScope.launch(Dispatchers.IO) { + try { + val realm = Realm.getDefaultInstance() try { - val realm = Realm.getDefaultInstance() realm.executeTransaction { r -> val log = r.createObject(RealmApkLog::class.java, "${UUID.randomUUID()}") val model = UserProfileDbHandler(this@MainApplication).userModel @@ -311,10 +311,11 @@ class MainApplication : Application(), Application.ActivityLifecycleCallbacks { log.type = RealmApkLog.ERROR_TYPE_CRASH log.setError(e) } + } finally { realm.close() - } catch (ex: Exception) { - ex.printStackTrace() } + } catch (ex: Exception) { + ex.printStackTrace() } }