diff --git a/app/src/main/java/org/andbootmgr/app/DeviceLogic.kt b/app/src/main/java/org/andbootmgr/app/DeviceLogic.kt index 7ca93a28..64fbd442 100644 --- a/app/src/main/java/org/andbootmgr/app/DeviceLogic.kt +++ b/app/src/main/java/org/andbootmgr/app/DeviceLogic.kt @@ -26,6 +26,8 @@ class DeviceLogic(private val ctx: Context) { val abmDb = File(abmBootset, "db") val abmEntries = File(abmDb, "entries") val abmDbConf = File(abmDb, "db.conf") + val lkBackupPrimary = File(fileDir, "backup_lk1.img") + val lkBackupSecondary = File(fileDir, "backup_lk.img") var mounted = false fun mountBootset(d: DeviceInfo): Boolean { if (checkMounted()) return true diff --git a/app/src/main/java/org/andbootmgr/app/DroidBootFlow.kt b/app/src/main/java/org/andbootmgr/app/DroidBootFlow.kt index a78020a8..a0795d6e 100644 --- a/app/src/main/java/org/andbootmgr/app/DroidBootFlow.kt +++ b/app/src/main/java/org/andbootmgr/app/DroidBootFlow.kt @@ -337,11 +337,10 @@ private fun Flash(d: DroidBootFlowDataHolder) { entry.exportToFile(File(vm.logic.abmEntries, "real.conf")) if (!vm.deviceInfo.isBooted(vm.logic)) { terminal.add(vm.activity.getString(R.string.term_flashing_droidboot)) - val backupLk = File(vm.logic.fileDir, "backup_lk1.img") val f = SuFile.open(vm.deviceInfo.blBlock) if (!f.canWrite()) terminal.add(vm.activity.getString(R.string.term_cant_write_bl)) - vm.copyPriv(SuFileInputStream.open(vm.deviceInfo.blBlock), backupLk) + vm.copyPriv(SuFileInputStream.open(vm.deviceInfo.blBlock), vm.logic.lkBackupPrimary) try { vm.copyPriv(vm.chosen["droidboot"]!!.openInputStream(vm), File(vm.deviceInfo.blBlock)) } catch (e: IOException) { @@ -355,6 +354,7 @@ private fun Flash(d: DroidBootFlowDataHolder) { terminal.add(vm.activity.getString(R.string.term_device_setup)) vm.logic.runShFileWithArgs( "BOOTED=${vm.deviceInfo.isBooted(vm.logic)} SETUP=true " + + "BL_BACKUP=${vm.logic.lkBackupPrimary.absolutePath} " + "${tmpFile!!.absolutePath} real" ).to(terminal).exec() tmpFile.delete() diff --git a/app/src/main/java/org/andbootmgr/app/FixDroidBootFlow.kt b/app/src/main/java/org/andbootmgr/app/FixDroidBootFlow.kt index e1676b4a..1d48df4f 100644 --- a/app/src/main/java/org/andbootmgr/app/FixDroidBootFlow.kt +++ b/app/src/main/java/org/andbootmgr/app/FixDroidBootFlow.kt @@ -68,11 +68,10 @@ private fun Flash(vm: WizardState) { } } else null terminal.add(vm.activity.getString(R.string.term_flashing_droidboot)) - val backupLk = File(vm.logic.fileDir, "backup_lk.img") val f = SuFile.open(vm.deviceInfo.blBlock) if (!f.canWrite()) terminal.add(vm.activity.getString(R.string.term_cant_write_bl)) - vm.copyPriv(SuFileInputStream.open(vm.deviceInfo.blBlock), backupLk) + vm.copyPriv(SuFileInputStream.open(vm.deviceInfo.blBlock), vm.logic.lkBackupSecondary) try { vm.copyPriv(vm.chosen["droidboot"]!!.openInputStream(vm), File(vm.deviceInfo.blBlock)) } catch (e: IOException) { @@ -84,7 +83,8 @@ private fun Flash(vm: WizardState) { if (vm.deviceInfo.postInstallScript) { terminal.add(vm.activity.getString(R.string.term_device_setup)) vm.logic.runShFileWithArgs( - "BOOTED=${vm.deviceInfo.isBooted(vm.logic)} SETUP=true " + + "BOOTED=${vm.deviceInfo.isBooted(vm.logic)} SETUP=false " + + "BL_BACKUP=${vm.logic.lkBackupSecondary.absolutePath} " + "${tmpFile!!.absolutePath} real" ).to(terminal).exec() tmpFile.delete()