mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-09 23:40:26 -04:00
Merge pull request #3618 from kiwix/Issue#3611
Fixed: 3.9.0 Welcome screen does not run, and Kiwix does not prompt for permissions.
This commit is contained in:
commit
3c17704a07
@ -38,7 +38,6 @@ import android.view.ViewGroup
|
|||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.activity.result.ActivityResultLauncher
|
import androidx.activity.result.ActivityResultLauncher
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import androidx.annotation.RequiresApi
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.appcompat.view.ActionMode
|
import androidx.appcompat.view.ActionMode
|
||||||
import androidx.appcompat.widget.Toolbar
|
import androidx.appcompat.widget.Toolbar
|
||||||
@ -139,7 +138,13 @@ class LocalLibraryFragment : BaseFragment() {
|
|||||||
private val bookDelegate: BookOnDiskDelegate.BookDelegate by lazy {
|
private val bookDelegate: BookOnDiskDelegate.BookDelegate by lazy {
|
||||||
BookOnDiskDelegate.BookDelegate(
|
BookOnDiskDelegate.BookDelegate(
|
||||||
sharedPreferenceUtil,
|
sharedPreferenceUtil,
|
||||||
{ offerAction(RequestNavigateTo(it)) },
|
{
|
||||||
|
if (!requireActivity().isManageExternalStoragePermissionGranted(sharedPreferenceUtil)) {
|
||||||
|
showManageExternalStoragePermissionDialog()
|
||||||
|
} else {
|
||||||
|
offerAction(RequestNavigateTo(it))
|
||||||
|
}
|
||||||
|
},
|
||||||
{ offerAction(RequestMultiSelection(it)) },
|
{ offerAction(RequestMultiSelection(it)) },
|
||||||
{ offerAction(RequestSelect(it)) }
|
{ offerAction(RequestSelect(it)) }
|
||||||
)
|
)
|
||||||
@ -264,8 +269,11 @@ class LocalLibraryFragment : BaseFragment() {
|
|||||||
fragmentDestinationLibraryBinding?.zimSwiperefresh?.isRefreshing = false
|
fragmentDestinationLibraryBinding?.zimSwiperefresh?.isRefreshing = false
|
||||||
} else {
|
} else {
|
||||||
if (!requireActivity().isManageExternalStoragePermissionGranted(sharedPreferenceUtil)) {
|
if (!requireActivity().isManageExternalStoragePermissionGranted(sharedPreferenceUtil)) {
|
||||||
@Suppress("NewApi")
|
|
||||||
showManageExternalStoragePermissionDialog()
|
showManageExternalStoragePermissionDialog()
|
||||||
|
// Set loading to false since the dialog is currently being displayed.
|
||||||
|
// If the user clicks on "No" in the permission dialog,
|
||||||
|
// the loading icon remains visible infinitely.
|
||||||
|
fragmentDestinationLibraryBinding?.zimSwiperefresh?.isRefreshing = false
|
||||||
} else {
|
} else {
|
||||||
requestFileSystemCheck()
|
requestFileSystemCheck()
|
||||||
}
|
}
|
||||||
@ -273,14 +281,15 @@ class LocalLibraryFragment : BaseFragment() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequiresApi(Build.VERSION_CODES.R)
|
|
||||||
private fun showManageExternalStoragePermissionDialog() {
|
private fun showManageExternalStoragePermissionDialog() {
|
||||||
dialogShower.show(
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
KiwixDialog.ManageExternalFilesPermissionDialog,
|
dialogShower.show(
|
||||||
{
|
KiwixDialog.ManageExternalFilesPermissionDialog,
|
||||||
this.activity?.let(FragmentActivity::navigateToSettings)
|
{
|
||||||
}
|
this.activity?.let(FragmentActivity::navigateToSettings)
|
||||||
)
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getBottomNavigationView() =
|
private fun getBottomNavigationView() =
|
||||||
@ -303,7 +312,6 @@ class LocalLibraryFragment : BaseFragment() {
|
|||||||
|
|
||||||
fragmentDestinationLibraryBinding?.selectFile?.setOnClickListener {
|
fragmentDestinationLibraryBinding?.selectFile?.setOnClickListener {
|
||||||
if (!requireActivity().isManageExternalStoragePermissionGranted(sharedPreferenceUtil)) {
|
if (!requireActivity().isManageExternalStoragePermissionGranted(sharedPreferenceUtil)) {
|
||||||
@Suppress("NewApi")
|
|
||||||
showManageExternalStoragePermissionDialog()
|
showManageExternalStoragePermissionDialog()
|
||||||
} else {
|
} else {
|
||||||
showFileChooser()
|
showFileChooser()
|
||||||
|
@ -37,7 +37,6 @@ import android.view.View
|
|||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import androidx.annotation.RequiresApi
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.appcompat.widget.SearchView
|
import androidx.appcompat.widget.SearchView
|
||||||
import androidx.appcompat.widget.Toolbar
|
import androidx.appcompat.widget.Toolbar
|
||||||
@ -531,7 +530,6 @@ class OnlineLibraryFragment : BaseFragment(), FragmentActivityExtensions {
|
|||||||
sharedPreferenceUtil
|
sharedPreferenceUtil
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
@Suppress("NewApi")
|
|
||||||
showManageExternalStoragePermissionDialog()
|
showManageExternalStoragePermissionDialog()
|
||||||
} else {
|
} else {
|
||||||
availableSpaceCalculator.hasAvailableSpaceFor(
|
availableSpaceCalculator.hasAvailableSpaceFor(
|
||||||
@ -579,20 +577,20 @@ class OnlineLibraryFragment : BaseFragment(), FragmentActivityExtensions {
|
|||||||
|
|
||||||
private fun clickOnBookItem() {
|
private fun clickOnBookItem() {
|
||||||
if (!requireActivity().isManageExternalStoragePermissionGranted(sharedPreferenceUtil)) {
|
if (!requireActivity().isManageExternalStoragePermissionGranted(sharedPreferenceUtil)) {
|
||||||
@Suppress("NewApi")
|
|
||||||
showManageExternalStoragePermissionDialog()
|
showManageExternalStoragePermissionDialog()
|
||||||
} else {
|
} else {
|
||||||
downloadBookItem?.let(::onBookItemClick)
|
downloadBookItem?.let(::onBookItemClick)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequiresApi(Build.VERSION_CODES.R)
|
|
||||||
private fun showManageExternalStoragePermissionDialog() {
|
private fun showManageExternalStoragePermissionDialog() {
|
||||||
dialogShower.show(
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
KiwixDialog.ManageExternalFilesPermissionDialog,
|
dialogShower.show(
|
||||||
{
|
KiwixDialog.ManageExternalFilesPermissionDialog,
|
||||||
this.activity?.let(FragmentActivity::navigateToSettings)
|
{
|
||||||
}
|
this.activity?.let(FragmentActivity::navigateToSettings)
|
||||||
)
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user