mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-02-22 21:18:30 +00:00
Enhance EMUI 9 user experience
This commit is contained in:
parent
3c6c0e6700
commit
8d210b5e37
@ -46,7 +46,7 @@ public class FlashActivity extends BaseActivity {
|
|||||||
|
|
||||||
@OnClick(R.id.reboot)
|
@OnClick(R.id.reboot)
|
||||||
void reboot() {
|
void reboot() {
|
||||||
Shell.su("/system/bin/reboot").submit();
|
Utils.reboot();
|
||||||
}
|
}
|
||||||
|
|
||||||
@OnClick(R.id.save_logs)
|
@OnClick(R.id.save_logs)
|
||||||
@ -74,9 +74,8 @@ public class FlashActivity extends BaseActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@OnClick(R.id.close)
|
@OnClick(R.id.close)
|
||||||
@Override
|
public void close() {
|
||||||
public void finish() {
|
finish();
|
||||||
super.finish();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -109,7 +109,7 @@ public class ModulesFragment extends BaseFragment implements Topic.Subscriber {
|
|||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
switch (item.getItemId()) {
|
switch (item.getItemId()) {
|
||||||
case R.id.reboot:
|
case R.id.reboot:
|
||||||
Shell.su("/system/bin/reboot").submit();
|
Utils.reboot();
|
||||||
return true;
|
return true;
|
||||||
case R.id.reboot_recovery:
|
case R.id.reboot_recovery:
|
||||||
Shell.su("/system/bin/reboot recovery").submit();
|
Shell.su("/system/bin/reboot recovery").submit();
|
||||||
@ -118,7 +118,7 @@ public class ModulesFragment extends BaseFragment implements Topic.Subscriber {
|
|||||||
Shell.su("/system/bin/reboot bootloader").submit();
|
Shell.su("/system/bin/reboot bootloader").submit();
|
||||||
return true;
|
return true;
|
||||||
case R.id.reboot_download:
|
case R.id.reboot_download:
|
||||||
Shell.su("/system/bin/reboot upgrade").submit();
|
Shell.su("/system/bin/reboot download").submit();
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
|
@ -37,6 +37,7 @@ public class Data {
|
|||||||
// Install flags
|
// Install flags
|
||||||
public static boolean keepVerity = false;
|
public static boolean keepVerity = false;
|
||||||
public static boolean keepEnc = false;
|
public static boolean keepEnc = false;
|
||||||
|
public static boolean recovery = false;
|
||||||
|
|
||||||
// Configs
|
// Configs
|
||||||
public static boolean isDarkTheme;
|
public static boolean isDarkTheme;
|
||||||
|
@ -42,6 +42,7 @@ public class RootUtils extends Shell.Initializer {
|
|||||||
|
|
||||||
Data.keepVerity = Boolean.parseBoolean(ShellUtils.fastCmd("echo $KEEPVERITY"));
|
Data.keepVerity = Boolean.parseBoolean(ShellUtils.fastCmd("echo $KEEPVERITY"));
|
||||||
Data.keepEnc = Boolean.parseBoolean(ShellUtils.fastCmd("echo $KEEPFORCEENCRYPT"));
|
Data.keepEnc = Boolean.parseBoolean(ShellUtils.fastCmd("echo $KEEPFORCEENCRYPT"));
|
||||||
|
Data.recovery = Boolean.parseBoolean(ShellUtils.fastCmd("echo $RECOVERYMODE"));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -122,4 +122,8 @@ public class Utils {
|
|||||||
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.N ?
|
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.N ?
|
||||||
App.self.createDeviceProtectedStorageContext() : App.self;
|
App.self.createDeviceProtectedStorageContext() : App.self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void reboot() {
|
||||||
|
Shell.su("/system/bin/reboot" + (Data.recovery ? " recovery" : "")).submit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -95,7 +95,16 @@ static void parse_cmdline(struct cmdline *cmd) {
|
|||||||
kirin = strstr(tok, "kirin") != nullptr;
|
kirin = strstr(tok, "kirin") != nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
cmd->early_boot = skip_initramfs || (kirin && enter_recovery);
|
|
||||||
|
if (kirin && enter_recovery) {
|
||||||
|
// Inform that we are actually booting as recovery
|
||||||
|
FILE *f = fopen("/.backup/.magisk", "a");
|
||||||
|
fprintf(f, "RECOVERYMODE=true\n");
|
||||||
|
fclose(f);
|
||||||
|
cmd->early_boot = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd->early_boot |= skip_initramfs;
|
||||||
|
|
||||||
if (cmd->dt_dir[0] == '\0')
|
if (cmd->dt_dir[0] == '\0')
|
||||||
strcpy(cmd->dt_dir, DEFAULT_DT_DIR);
|
strcpy(cmd->dt_dir, DEFAULT_DT_DIR);
|
||||||
|
@ -116,6 +116,7 @@ get_flags() {
|
|||||||
# override variables
|
# override variables
|
||||||
getvar KEEPVERITY
|
getvar KEEPVERITY
|
||||||
getvar KEEPFORCEENCRYPT
|
getvar KEEPFORCEENCRYPT
|
||||||
|
getvar RECOVERYMODE
|
||||||
if [ -z $KEEPVERITY ]; then
|
if [ -z $KEEPVERITY ]; then
|
||||||
if $SYSTEM_ROOT; then
|
if $SYSTEM_ROOT; then
|
||||||
KEEPVERITY=true
|
KEEPVERITY=true
|
||||||
@ -135,6 +136,7 @@ get_flags() {
|
|||||||
KEEPFORCEENCRYPT=false
|
KEEPFORCEENCRYPT=false
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
[ -z $RECOVERYMODE ] && RECOVERYMODE=false
|
||||||
}
|
}
|
||||||
|
|
||||||
grep_cmdline() {
|
grep_cmdline() {
|
||||||
@ -153,7 +155,7 @@ grep_prop() {
|
|||||||
getvar() {
|
getvar() {
|
||||||
local VARNAME=$1
|
local VARNAME=$1
|
||||||
local VALUE=
|
local VALUE=
|
||||||
VALUE=`grep_prop $VARNAME /sbin/.magisk/config /.backup/.magisk /data/.magisk /cache/.magisk`
|
VALUE=`grep_prop $VARNAME /sbin/.magisk/config /data/.magisk /cache/.magisk`
|
||||||
[ ! -z $VALUE ] && eval $VARNAME=\$VALUE
|
[ ! -z $VALUE ] && eval $VARNAME=\$VALUE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user