Detect Shizuku with permission check (#3565)

Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
This commit is contained in:
Small_Ku
2026-07-16 21:52:09 +08:00
committed by GitHub
parent 98bb731b4d
commit 493140c7ff
2 changed files with 11 additions and 2 deletions
@@ -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 {