From 3d7a4af7d3bc57b55cd3245e2cf5b39f58fbbec3 Mon Sep 17 00:00:00 2001 From: MohitMali Date: Wed, 6 Sep 2023 18:53:01 +0530 Subject: [PATCH] Fixed application crash while running application on the emulators. --- .../kiwixmobile/core/dao/LibkiwixBookmarks.kt | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/LibkiwixBookmarks.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/LibkiwixBookmarks.kt index be6fcc749..b20b20dd7 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/LibkiwixBookmarks.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/LibkiwixBookmarks.kt @@ -18,6 +18,7 @@ package org.kiwix.kiwixmobile.core.dao +import android.os.Build import io.reactivex.BackpressureStrategy import io.reactivex.BackpressureStrategy.LATEST import io.reactivex.Flowable @@ -46,9 +47,16 @@ class LibkiwixBookmarks @Inject constructor( } private val bookmarksFolderPath: String by lazy { - sharedPreferenceUtil.getPublicDirectoryPath( - sharedPreferenceUtil.defaultStorage() - ) + "/kiwix/Bookmarks/" + if (Build.DEVICE.contains("generic")) { + // Workaround for emulators: Emulators have limited memory and + // restrictions on creating folders, so we will use the default + // path for saving the bookmark file. + sharedPreferenceUtil.context.filesDir.path + } else { + sharedPreferenceUtil.getPublicDirectoryPath( + sharedPreferenceUtil.defaultStorage() + ) + "/kiwix/Bookmarks/" + } } private val bookmarkFile: File by lazy {