From 87b53745e9625ce715e75789856fedd8aaedcb92 Mon Sep 17 00:00:00 2001
From: Acclorite <140836141+Acclorite@users.noreply.github.com>
Date: Sat, 22 Mar 2025 10:31:27 +0200
Subject: [PATCH] =?UTF-8?q?=F0=9F=9B=A0=EF=B8=8F=20Prevent=20crash=20when?=
=?UTF-8?q?=20no=20file=20manager=20app?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* When choosing a folder in Browse (scan) it crashed when there is no file manager app to handle such action
Resolves: #198
---
.../browse/scan/components/BrowseScanOption.kt | 10 +++++++++-
app/src/main/res/values-uk/strings.xml | 5 +++++
app/src/main/res/values/strings.xml | 1 +
3 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/scan/components/BrowseScanOption.kt b/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/scan/components/BrowseScanOption.kt
index 121bdd0a..2a9257b7 100644
--- a/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/scan/components/BrowseScanOption.kt
+++ b/app/src/main/java/ua/acclorite/book_story/presentation/settings/browse/scan/components/BrowseScanOption.kt
@@ -42,6 +42,7 @@ import ua.acclorite.book_story.R
import ua.acclorite.book_story.presentation.core.components.common.IconButton
import ua.acclorite.book_story.presentation.core.components.common.StyledText
import ua.acclorite.book_story.presentation.core.util.noRippleClickable
+import ua.acclorite.book_story.presentation.core.util.showToast
import ua.acclorite.book_story.ui.browse.BrowseScreen
import ua.acclorite.book_story.ui.settings.SettingsEvent
import ua.acclorite.book_story.ui.settings.SettingsModel
@@ -108,7 +109,14 @@ fun BrowseScanOption() {
BrowseScanAction(
requestPersistableUriPermission = {
- persistedUriIntent.launch(null)
+ try {
+ persistedUriIntent.launch(null)
+ } catch (e: Exception) {
+ e.printStackTrace()
+
+ context.getString(R.string.error_no_file_manager_app)
+ .showToast(context, longToast = false)
+ }
}
)
}
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index f914b1c3..2fdff3be 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -40,6 +40,11 @@
Не знайдено жодного словника.
Не знайдено жодного браузера.
Не знайдено застосунка щоб поділитися.
+ Жодного перекладача не знайдено.
+ Жодного словника не знайдено.
+ Жодного браузера не знайдено.
+ Не знайдено застосунок, щоб поділитися.
+ Не знайдено застосунку для вибору теки.
Файл порожній, відсутній або недоступний.
Перевірте файл, налаштування сканування або змініть шлях і спробуйте ще раз.
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 915b751a..89cbaf5d 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -61,6 +61,7 @@
No dictionary app found.
No browser app found.
No app to share found.
+ No app to choose folder found.
File is empty, missing, or inaccessible.
Verify the file, scan settings or change the path, then try again.