mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 10:44:42 +00:00
Double check if Shizuku is running before attempting to silently install updates
This commit is contained in:
parent
b3ad1afd9a
commit
e2b47c6599
3 changed files with 10 additions and 4 deletions
|
@ -472,10 +472,13 @@ class ExtensionManager(
|
|||
}
|
||||
|
||||
companion object {
|
||||
fun canAutoInstallUpdates(context: Context): Boolean {
|
||||
fun canAutoInstallUpdates(context: Context, checkIfShizukuIsRunning: Boolean = false): Boolean {
|
||||
val prefs = PreferenceManager.getDefaultSharedPreferences(context)
|
||||
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.S ||
|
||||
prefs.getBoolean(PreferenceKeys.useShizuku, false)
|
||||
(
|
||||
prefs.getBoolean(PreferenceKeys.useShizuku, false) &&
|
||||
(!checkIfShizukuIsRunning || ShizukuInstaller.isShizukuRunning())
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -69,7 +69,7 @@ class ExtensionUpdateJob(private val context: Context, workerParams: WorkerParam
|
|||
extensions.filter { Injekt.get<ExtensionManager>().isInstalledByApp(it) }
|
||||
}
|
||||
}
|
||||
if (ExtensionManager.canAutoInstallUpdates(context) &&
|
||||
if (ExtensionManager.canAutoInstallUpdates(context, true) &&
|
||||
inputData.getBoolean(RUN_AUTO, true) &&
|
||||
preferences.autoUpdateExtensions() != AutoAppUpdaterJob.NEVER &&
|
||||
!ExtensionInstallService.isRunning() &&
|
||||
|
@ -127,7 +127,7 @@ class ExtensionUpdateJob(private val context: Context, workerParams: WorkerParam
|
|||
context
|
||||
)
|
||||
)
|
||||
if (ExtensionManager.canAutoInstallUpdates(context) &&
|
||||
if (ExtensionManager.canAutoInstallUpdates(context, true) &&
|
||||
extensions.size == extensionsList.size
|
||||
) {
|
||||
val intent = ExtensionInstallService.jobIntent(context, extensions)
|
||||
|
|
|
@ -217,5 +217,8 @@ class ShizukuInstaller(private val context: Context, val finishedQueue: (Shizuku
|
|||
const val downloadLink = "https://shizuku.rikka.app/download"
|
||||
private const val SHIZUKU_PERMISSION_REQUEST_CODE = 14045
|
||||
private val SESSION_ID_REGEX = Regex("(?<=\\[).+?(?=])")
|
||||
fun isShizukuRunning(): Boolean {
|
||||
return Shizuku.pingBinder() && Shizuku.checkSelfPermission() == PackageManager.PERMISSION_GRANTED
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue