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 1e17df18b..cea284f7a 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 @@ -496,7 +496,7 @@ class OnlineLibraryFragment : BaseFragment(), FragmentActivityExtensions { private fun onBookItemClick(item: LibraryListItem.BookItem) { if (checkExternalStorageWritePermission()) { downloadBookItem = item - if (requireActivity().hasNotificationPermission()) { + if (requireActivity().hasNotificationPermission(sharedPreferenceUtil)) { when { isNotConnected -> { noInternetSnackbar() diff --git a/app/src/main/java/org/kiwix/kiwixmobile/webserver/ZimHostFragment.kt b/app/src/main/java/org/kiwix/kiwixmobile/webserver/ZimHostFragment.kt index 7119a06c8..89879b658 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/webserver/ZimHostFragment.kt +++ b/app/src/main/java/org/kiwix/kiwixmobile/webserver/ZimHostFragment.kt @@ -148,7 +148,7 @@ class ZimHostFragment : BaseFragment(), ZimHostCallbacks, ZimHostContract.View { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU || checkNearbyWifiDevicesPermission() ) { - if (requireActivity().hasNotificationPermission()) { + if (requireActivity().hasNotificationPermission(sharedPreferenceUtil)) { startStopServer() } else { requestNotificationPermission() diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/extensions/ActivityExtensions.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/extensions/ActivityExtensions.kt index a90d83418..55227f711 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/extensions/ActivityExtensions.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/extensions/ActivityExtensions.kt @@ -42,6 +42,7 @@ import androidx.navigation.NavDirections import org.kiwix.kiwixmobile.core.di.components.CoreActivityComponent import org.kiwix.kiwixmobile.core.main.CoreMainActivity import org.kiwix.kiwixmobile.core.utils.REQUEST_POST_NOTIFICATION_PERMISSION +import org.kiwix.kiwixmobile.core.utils.SharedPreferenceUtil object ActivityExtensions { @@ -144,8 +145,10 @@ object ActivityExtensions { ) } - fun Activity.hasNotificationPermission() = - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + fun Activity.hasNotificationPermission(sharedPreferenceUtil: SharedPreferenceUtil?) = + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU && + sharedPreferenceUtil?.prefIsTest == false + ) { ContextCompat.checkSelfPermission( this, POST_NOTIFICATIONS diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreReaderFragment.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreReaderFragment.kt index 838c0acf2..9472ef18c 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreReaderFragment.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreReaderFragment.kt @@ -1103,7 +1103,7 @@ abstract class CoreReaderFragment : @Suppress("NestedBlockDepth") override fun onReadAloudMenuClicked() { - if (requireActivity().hasNotificationPermission()) { + if (requireActivity().hasNotificationPermission(sharedPreferenceUtil)) { ttsControls?.let { ttsControls -> when (ttsControls.visibility) { View.GONE -> {