From 984f32f9947dd75cb67fa0a32212e78bc1f77a30 Mon Sep 17 00:00:00 2001 From: vvb2060 Date: Sat, 19 Dec 2020 13:58:53 -0800 Subject: [PATCH] Move copy_sepolicy_rules to manager MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We don’t need it when patch boot --- .../magisk/core/tasks/MagiskInstaller.kt | 15 ++++++++++++--- scripts/boot_patch.sh | 3 --- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/topjohnwu/magisk/core/tasks/MagiskInstaller.kt b/app/src/main/java/com/topjohnwu/magisk/core/tasks/MagiskInstaller.kt index acdfb8e6a..9d6ea3ddd 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/tasks/MagiskInstaller.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/tasks/MagiskInstaller.kt @@ -10,6 +10,7 @@ import androidx.core.os.postDelayed import androidx.localbroadcastmanager.content.LocalBroadcastManager import com.topjohnwu.magisk.R import com.topjohnwu.magisk.core.Config +import com.topjohnwu.magisk.core.Info import com.topjohnwu.magisk.core.utils.MediaStoreUtils import com.topjohnwu.magisk.core.utils.MediaStoreUtils.inputStream import com.topjohnwu.magisk.core.utils.MediaStoreUtils.outputStream @@ -339,6 +340,13 @@ abstract class MagiskInstallImpl : KoinComponent { return true } + private fun copySepolicyRules(): Boolean { + if (Info.remote.magisk.versionCode >= 21100) return true + // Copy existing rules for migration + "copy_sepolicy_rules".sh() + return true + } + private fun flashBoot(): Boolean { if (!"direct_install $installDir $srcBoot".sh().isSuccess) return false @@ -373,10 +381,11 @@ abstract class MagiskInstallImpl : KoinComponent { protected fun doPatchFile(patchFile: Uri) = extractZip() && handleFile(patchFile) - protected fun direct() = findImage() && extractZip() && patchBoot() && flashBoot() + protected fun direct() = findImage() && extractZip() && patchBoot() && + copySepolicyRules() && flashBoot() - protected suspend fun secondSlot() = - findSecondaryImage() && extractZip() && patchBoot() && flashBoot() && postOTA() + protected suspend fun secondSlot() = findSecondaryImage() && extractZip() && + patchBoot() && copySepolicyRules() && flashBoot() && postOTA() protected fun fixEnv(zip: Uri): Boolean { installDir = SuFile("/data/adb/magisk") diff --git a/scripts/boot_patch.sh b/scripts/boot_patch.sh index 2b25942c4..8b9c49783 100644 --- a/scripts/boot_patch.sh +++ b/scripts/boot_patch.sh @@ -185,8 +185,5 @@ ui_print "- Repacking boot image" # Sign chromeos boot $CHROMEOS && sign_chromeos -# Copy existing rules for migration -$BOOTMODE && copy_sepolicy_rules - # Reset any error code true