diff --git a/CHANGELOG.md b/CHANGELOG.md index 107a95f69..3d8ee9fda 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,9 @@ The format is a modified version of [Keep a Changelog](https://keepachangelog.co - Support resumable image downloads if supported by source ([@xMohnad](https://github.com/xMohnad)) ([#3167](https://github.com/mihonapp/mihon/pull/3167)) - Fix HTTP Error 416 not being handled properly ([@AntsyLich](https://github.com/AntsyLich)) ([#3563](https://github.com/mihonapp/mihon/pull/3563)) +### Changed +- Detect Shizuku with permission check ([@Small-Ku](https://github.com/Small-Ku)) ([#3565](https://github.com/mihonapp/mihon/pull/3565)) + ### Fixed - Fixed app bars remaining visible after changing pages by tapping in the paged reader after using the chapter navigator slider ([@AntsyLich](https://github.com/AntsyLich)) ([#3567](https://github.com/mihonapp/mihon/pull/3567)) - Fixed MangaBaka User Agent string ([@MajorTanya](https://github.com/MajorTanya)) ([#3578](https://github.com/mihonapp/mihon/pull/3578)) diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt b/app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt index ef0e41a41..d3b15a5ec 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt @@ -21,7 +21,7 @@ import eu.kanade.tachiyomi.ui.base.delegate.ThemingDelegate import eu.kanade.tachiyomi.ui.reader.setting.ReaderPreferences import eu.kanade.tachiyomi.util.lang.truncateCenter import logcat.LogPriority -import rikka.sui.Sui +import rikka.shizuku.ShizukuProvider import tachiyomi.core.common.i18n.stringResource import tachiyomi.core.common.util.system.logcat import tachiyomi.i18n.MR @@ -154,7 +154,13 @@ fun Context.isPackageInstalled(packageName: String): Boolean { val Context.hasMiuiPackageInstaller get() = isPackageInstalled("com.miui.packageinstaller") -val Context.isShizukuInstalled get() = isPackageInstalled("moe.shizuku.privileged.api") || Sui.isSui() +val Context.isShizukuInstalled: Boolean + get() = try { + packageManager.getPermissionInfo(ShizukuProvider.PERMISSION, 0) + true + } catch (e: PackageManager.NameNotFoundException) { + false + } fun Context.launchRequestPackageInstallsPermission() { Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES).apply {