From c20b40e389414ad5e1748b98f48800a358a5a5c1 Mon Sep 17 00:00:00 2001 From: MohitMaliFtechiz Date: Mon, 11 Dec 2023 19:00:43 +0530 Subject: [PATCH] Added a button to the startup message dialog to directly open the Kiwix website for downloading the APK. This will make it easier for the user who wants to download the full APK version of the Kiwix app. --- .../nav/destination/library/LocalLibraryFragment.kt | 12 +++++++++++- .../kiwix/kiwixmobile/core/main/CoreMainActivity.kt | 1 + .../kiwixmobile/core/utils/dialog/KiwixDialog.kt | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/kiwix/kiwixmobile/nav/destination/library/LocalLibraryFragment.kt b/app/src/main/java/org/kiwix/kiwixmobile/nav/destination/library/LocalLibraryFragment.kt index 1514d59f6..a8e049ad1 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/nav/destination/library/LocalLibraryFragment.kt +++ b/app/src/main/java/org/kiwix/kiwixmobile/nav/destination/library/LocalLibraryFragment.kt @@ -64,10 +64,12 @@ import org.kiwix.kiwixmobile.core.base.BaseFragment import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.isManageExternalStoragePermissionGranted import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.navigate import org.kiwix.kiwixmobile.core.extensions.ActivityExtensions.viewModel +import org.kiwix.kiwixmobile.core.extensions.browserIntent import org.kiwix.kiwixmobile.core.extensions.coreMainActivity import org.kiwix.kiwixmobile.core.extensions.setBottomMarginToFragmentContainerView import org.kiwix.kiwixmobile.core.extensions.toast import org.kiwix.kiwixmobile.core.main.CoreMainActivity +import org.kiwix.kiwixmobile.core.main.KIWIX_APK_WEBSITE_URL import org.kiwix.kiwixmobile.core.navigateToAppSettings import org.kiwix.kiwixmobile.core.navigateToSettings import org.kiwix.kiwixmobile.core.utils.LanguageUtils @@ -380,7 +382,15 @@ class LocalLibraryFragment : BaseFragment() { // We should only ask for first time sharedPreferenceUtil.playStoreRestrictionPermissionDialog = false // Show Dialog to the user to inform about the play store restriction - dialogShower.show(KiwixDialog.PlayStoreRestrictionPopup) + dialogShower.show( + KiwixDialog.PlayStoreRestrictionPopup, + {}, + ::openKiwixWebsiteForDownloadingApk + ) + } + + private fun openKiwixWebsiteForDownloadingApk() { + requireActivity().startActivity(KIWIX_APK_WEBSITE_URL.toUri().browserIntent()) } override fun onDestroyView() { diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreMainActivity.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreMainActivity.kt index 5d61f77ef..978816689 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreMainActivity.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreMainActivity.kt @@ -55,6 +55,7 @@ import javax.inject.Inject import kotlin.system.exitProcess const val KIWIX_SUPPORT_URL = "https://www.kiwix.org/support" +const val KIWIX_APK_WEBSITE_URL = "https://download.kiwix.org/release/kiwix-android/" const val PAGE_URL_KEY = "pageUrl" const val SHOULD_OPEN_IN_NEW_TAB = "shouldOpenInNewTab" const val FIND_IN_PAGE_SEARCH_STRING = "findInPageSearchString" diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/utils/dialog/KiwixDialog.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/utils/dialog/KiwixDialog.kt index 6c400c669..507343a63 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/utils/dialog/KiwixDialog.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/utils/dialog/KiwixDialog.kt @@ -174,7 +174,7 @@ sealed class KiwixDialog( null, R.string.zim_files_not_showing_description, R.string.understood, - null + R.string.download ) data class ShowRate(override val args: List, val customIcon: Int?) :