Move more logic to core module

This commit is contained in:
topjohnwu 2018-12-24 21:16:51 +08:00
parent 2c42c79482
commit 01344c451f
2 changed files with 30 additions and 23 deletions

View File

@ -19,7 +19,6 @@ import com.topjohnwu.core.utils.Utils;
import com.topjohnwu.magisk.components.BaseActivity; import com.topjohnwu.magisk.components.BaseActivity;
import com.topjohnwu.superuser.CallbackList; import com.topjohnwu.superuser.CallbackList;
import com.topjohnwu.superuser.Shell; import com.topjohnwu.superuser.Shell;
import com.topjohnwu.superuser.ShellUtils;
import java.io.File; import java.io.File;
import java.io.FileWriter; import java.io.FileWriter;
@ -211,13 +210,7 @@ public class FlashActivity extends BaseActivity {
@Override @Override
protected boolean operations() { protected boolean operations() {
console.add("- Detecting target image"); return findImage() && extractZip() && patchBoot() && flashBoot();
srcBoot = ShellUtils.fastCmd("find_boot_image", "echo \"$BOOTIMAGE\"");
if (srcBoot.isEmpty()) {
console.add("! Unable to detect target image");
return false;
}
return extractZip() && patchBoot() && flashBoot();
} }
} }
@ -225,21 +218,7 @@ public class FlashActivity extends BaseActivity {
@Override @Override
protected boolean operations() { protected boolean operations() {
String slot = ShellUtils.fastCmd("echo $SLOT"); return findSecondaryImage() && extractZip() && patchBoot() && flashBoot() && postOTA();
String target = (TextUtils.equals(slot, "_a") ? "_b" : "_a");
console.add("- Target slot: " + target);
console.add("- Detecting target image");
srcBoot = ShellUtils.fastCmd(
"SLOT=" + target,
"find_boot_image",
"SLOT=" + slot,
"echo \"$BOOTIMAGE\""
);
if (srcBoot.isEmpty()) {
console.add("! Unable to detect target image");
return false;
}
return extractZip() && patchBoot() && flashBoot() && postOTA();
} }
} }

View File

@ -79,6 +79,34 @@ public abstract class MagiskInstaller {
installDir.mkdirs(); installDir.mkdirs();
} }
protected boolean findImage() {
console.add("- Detecting target image");
srcBoot = ShellUtils.fastCmd("find_boot_image", "echo \"$BOOTIMAGE\"");
if (srcBoot.isEmpty()) {
console.add("! Unable to detect target image");
return false;
}
return true;
}
protected boolean findSecondaryImage() {
String slot = ShellUtils.fastCmd("echo $SLOT");
String target = (TextUtils.equals(slot, "_a") ? "_b" : "_a");
console.add("- Target slot: " + target);
console.add("- Detecting target image");
srcBoot = ShellUtils.fastCmd(
"SLOT=" + target,
"find_boot_image",
"SLOT=" + slot,
"echo \"$BOOTIMAGE\""
);
if (srcBoot.isEmpty()) {
console.add("! Unable to detect target image");
return false;
}
return true;
}
protected boolean extractZip() { protected boolean extractZip() {
String arch; String arch;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {