refactor: Move isShizukuInstalled check

This commit is contained in:
Ahmad Ansori Palembani 2024-12-23 08:50:32 +07:00
parent bcf21858ee
commit 3fa475c1cf
Signed by: null2264
GPG key ID: BA64F8B60AF3EFB6
2 changed files with 6 additions and 4 deletions

View file

@ -15,7 +15,7 @@ import yokai.util.lang.getString
import dev.icerock.moko.resources.compose.stringResource
import eu.kanade.tachiyomi.extension.util.ExtensionInstaller.Companion.EXTRA_DOWNLOAD_ID
import eu.kanade.tachiyomi.util.system.getUriSize
import eu.kanade.tachiyomi.util.system.isPackageInstalled
import eu.kanade.tachiyomi.util.system.isShizukuInstalled
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.SupervisorJob
@ -23,7 +23,6 @@ import kotlinx.coroutines.cancel
import kotlinx.coroutines.launch
import rikka.shizuku.Shizuku
import rikka.shizuku.ShizukuRemoteProcess
import rikka.sui.Sui
import uy.kohesive.injekt.injectLazy
import java.io.BufferedReader
import java.io.InputStream
@ -75,7 +74,7 @@ class ShizukuInstaller(private val context: Context, val finishedQueue: (Shizuku
init {
Shizuku.addBinderDeadListener(shizukuDeadListener)
require(Shizuku.pingBinder() && (context.isPackageInstalled(shizukuPkgName) || Sui.isSui())) {
require(Shizuku.pingBinder() && context.isShizukuInstalled) {
finishedQueue(this)
context.getString(MR.strings.ext_installer_shizuku_stopped)
}

View file

@ -47,6 +47,7 @@ import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.NonCancellable
import kotlinx.coroutines.delay
import kotlinx.coroutines.withContext
import rikka.sui.Sui
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import yokai.i18n.MR
@ -207,11 +208,13 @@ fun Context.isPackageInstalled(packageName: String): Boolean {
return try {
packageManager.getApplicationInfoCompat(packageName, 0)
true
} catch (_: Exception) {
} catch (_: PackageManager.NameNotFoundException) {
false
}
}
val Context.isShizukuInstalled get() = isPackageInstalled("moe.shizuku.privileged.api") || Sui.isSui()
/**
* Property to get the notification manager from the context.
*/