diff --git a/anykernel.sh b/anykernel.sh index 35b6e59..b6adbbe 100755 --- a/anykernel.sh +++ b/anykernel.sh @@ -45,6 +45,44 @@ esac ui_print " " " -> Wild Kernels Supported: $ksu_supported" $ksu_supported || abort " -> Non-GKI device, abort." +choose_flash_mode() { + ui_print "Press Volume Up = Bypass, Volume Down = Normal, Power = Cancel" + raw_events="/tmp/ak3_raw_events" + events="/tmp/ak3_events" + : > "$raw_events" + : > "$events" + getevent -lc 1 2>&1 > "$raw_events" & + pid=$! + sleep 1 + kill -0 $pid 2>/dev/null && kill $pid 2>/dev/null + grep VOLUME "$raw_events" | grep " DOWN" > "$events" 2>/dev/null || true + + if grep -q "VOLUMEUP" "$events" 2>/dev/null; then + ui_print " -> Selected: Bypass" + if [ -f "$AKHOME/Bypass-Image" ]; then + cp -f "$AKHOME/Bypass-Image" "$AKHOME/Image" || abort " -> ERROR: Failed to copy Bypass-Image. Abort." + ui_print " -> Using Bypass" + return 0 + else + abort " -> ERROR: Bypass-Image not found. Abort." + fi + elif grep -q "VOLUMEDOWN" "$events" 2>/dev/null; then + ui_print " -> Selected: Normal" + if [ -f "$AKHOME/Image" ]; then + return 0 + else + abort " -> ERROR: Image not found. Abort." + fi + elif grep -q "POWER" "$raw_events" 2>/dev/null; then + abort " -> Cancelled by Power button. Abort." + else + abort " -> No input detected. Abort." + fi +} + +# Ask user which mode to use +choose_flash_mode + # boot install split_boot