mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-10 07:48:30 -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,8 +281,8 @@ class LocalLibraryFragment : BaseFragment() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequiresApi(Build.VERSION_CODES.R)
|
|
||||||
private fun showManageExternalStoragePermissionDialog() {
|
private fun showManageExternalStoragePermissionDialog() {
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
dialogShower.show(
|
dialogShower.show(
|
||||||
KiwixDialog.ManageExternalFilesPermissionDialog,
|
KiwixDialog.ManageExternalFilesPermissionDialog,
|
||||||
{
|
{
|
||||||
@ -282,6 +290,7 @@ class LocalLibraryFragment : BaseFragment() {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun getBottomNavigationView() =
|
private fun getBottomNavigationView() =
|
||||||
requireActivity().findViewById<BottomNavigationView>(R.id.bottom_nav_view)
|
requireActivity().findViewById<BottomNavigationView>(R.id.bottom_nav_view)
|
||||||
@ -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,15 +577,14 @@ 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() {
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
dialogShower.show(
|
dialogShower.show(
|
||||||
KiwixDialog.ManageExternalFilesPermissionDialog,
|
KiwixDialog.ManageExternalFilesPermissionDialog,
|
||||||
{
|
{
|
||||||
@ -596,3 +593,4 @@ class OnlineLibraryFragment : BaseFragment(), FragmentActivityExtensions {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user