From 2ed2843540241a95d251ff90b2bc78f4a8d5fc46 Mon Sep 17 00:00:00 2001 From: MohitMali Date: Fri, 22 Apr 2022 12:14:44 +0530 Subject: [PATCH] Changes after review --- .../library/OnlineLibraryFragment.kt | 6 +++- app/src/main/res/values/strings.xml | 1 - core/build.gradle.kts | 1 - .../kiwixmobile/core/utils/files/FileUtils.kt | 36 ++++++++++++------- core/src/main/res/values/strings.xml | 2 +- 5 files changed, 29 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/org/kiwix/kiwixmobile/nav/destination/library/OnlineLibraryFragment.kt b/app/src/main/java/org/kiwix/kiwixmobile/nav/destination/library/OnlineLibraryFragment.kt index a5733b081..b2b0c07f1 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/nav/destination/library/OnlineLibraryFragment.kt +++ b/app/src/main/java/org/kiwix/kiwixmobile/nav/destination/library/OnlineLibraryFragment.kt @@ -292,7 +292,11 @@ class OnlineLibraryFragment : BaseFragment(), FragmentActivityExtensions { getPathFromUri(requireActivity(), data)?.let(sharedPreferenceUtil::putPrefStorage) sharedPreferenceUtil.putStoragePosition(EXTERNAL_SELECT_POSITION) } ?: run { - activity.toast(resources.getString(R.string.error_occurred), Toast.LENGTH_SHORT) + activity.toast( + resources + .getString(R.string.system_unable_to_grant_permission_message), + Toast.LENGTH_SHORT + ) } } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8be9846c4..96761d289 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -6,5 +6,4 @@ Failed to open file\nPlease try looking for this file in the Device Tab of your Library Send Files Receive Files - System unable to grant permission! diff --git a/core/build.gradle.kts b/core/build.gradle.kts index 58dec6613..b01ad950e 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -45,7 +45,6 @@ dependencies { // SquiDB implementation(Libs.squidb) implementation(Libs.squidb_annotations) - implementation("androidx.documentfile:documentfile:1.0.1") add("kapt", Libs.squidb_processor) // Document File diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/utils/files/FileUtils.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/utils/files/FileUtils.kt index 894977225..81f6a117e 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/utils/files/FileUtils.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/utils/files/FileUtils.kt @@ -242,25 +242,35 @@ object FileUtils { or Intent.FLAG_GRANT_WRITE_URI_PERMISSION) uri?.let { activity.grantUriPermission( - activity.packageName, uri, + activity.packageName, it, Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION ) - activity.contentResolver.takePersistableUriPermission(uri, takeFlags) + activity.contentResolver.takePersistableUriPermission(it, takeFlags) - val dFile = DocumentFile.fromTreeUri(activity, uri) + val dFile = DocumentFile.fromTreeUri(activity, it) if (dFile != null) { - val originalPath = dFile.uri.path!!.substring( - dFile.uri.path!!.lastIndexOf(":") + 1 - ) - val path = "${activity.getExternalFilesDirs("")[1]}" - return@getPathFromUri path.substringBefore( - activity.getString(R.string.android_directory_seperator) - ) - .plus(File.separator).plus(originalPath) + dFile.uri.path?.let { file -> + val originalPath = file.substring( + file.lastIndexOf(":") + 1 + ) + val path = "${activity.getExternalFilesDirs("")[1]}" + return@getPathFromUri path.substringBefore( + activity.getString(R.string.android_directory_seperator) + ) + .plus(File.separator).plus(originalPath) + } } - activity.toast(activity.resources.getString(R.string.error_occurred), Toast.LENGTH_SHORT) + activity.toast( + activity.resources + .getString(R.string.system_unable_to_grant_permission_message), + Toast.LENGTH_SHORT + ) } ?: run { - activity.toast(activity.resources.getString(R.string.error_occurred), Toast.LENGTH_SHORT) + activity.toast( + activity.resources + .getString(R.string.system_unable_to_grant_permission_message), + Toast.LENGTH_SHORT + ) } return null } diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index 3d08a9d49..9a3c61393 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -297,7 +297,7 @@ Not allowed /Android Please select a folder for external storage. - System unable to grant permission! + System unable to grant permission! @string/on @string/off