diff --git a/CHANGELOG.md b/CHANGELOG.md index 272eaa2829..b61c1d508c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,7 @@ The format is simplified version of [Keep a Changelog](https://keepachangelog.co - Handle some uncaught crashes - Fixed crashes due to GestureDetector's firstEvent is sometimes null on some devices - Fixed download failed caused by invalid XML 1.0 character +- Fixed issues with shizuku in a multi user setup (@Redjard) ### Other - Simplify network helper code diff --git a/app/src/main/java/eu/kanade/tachiyomi/extension/ShizukuInstaller.kt b/app/src/main/java/eu/kanade/tachiyomi/extension/ShizukuInstaller.kt index e1abdca969..304b2e47b5 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/extension/ShizukuInstaller.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/extension/ShizukuInstaller.kt @@ -6,6 +6,7 @@ import android.content.Intent import android.content.pm.PackageManager import android.net.Uri import android.os.Build +import android.os.Process import androidx.localbroadcastmanager.content.LocalBroadcastManager import co.touchlab.kermit.Logger import eu.kanade.tachiyomi.R @@ -92,7 +93,8 @@ class ShizukuInstaller(private val context: Context, val finishedQueue: (Shizuku val size = context.getUriSize(entry.uri) ?: throw IllegalStateException() context.contentResolver.openInputStream(entry.uri)!!.use { val createCommand = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { - "pm install-create --user current -r -i ${context.packageName} -S $size" + val userId = Process.myUserHandle().hashCode() + "pm install-create --user $userId current -r -i ${context.packageName} -S $size" } else { "pm install-create -r -i ${context.packageName} -S $size" }