#!/sbin/sh

#################
# Initialization
#################

umask 022

# echo before loading util_functions
ui_print() { echo "$1"; }

require_new_root() {
  ui_print "************************************"
  ui_print " Magisk v20.4+ / KernelSU / APatch  "
  ui_print "   with ReZygisk support required!  "
  ui_print "************************************"
  exit 1
}

#########################
# Load util_functions.sh
#########################

OUTFD=$2
ZIPFILE=$3

mount /data 2>/dev/null

# Support Magisk, KernelSU, and APatch (ReZygisk runs on all three)
if [ -f /data/adb/magisk/util_functions.sh ]; then
  # Magisk
  . /data/adb/magisk/util_functions.sh
  [ $MAGISK_VER_CODE -lt 20400 ] && require_new_root
  install_module
elif [ -f /data/adb/ksud ]; then
  # KernelSU / APatch
  /data/adb/ksud module install "$ZIPFILE"
else
  require_new_root
fi
exit 0
