#!/sbin/sh
# ══════════════════════════════════════════════
# Universal Installer — By_Rafael System
# Compatible: Magisk · KernelSU · APatch
# ══════════════════════════════════════════════
SKIPUNZIP=1
OUTFD=$2
ZIPFILE=$3

ui_print() { echo "$1"; }
abort()    { ui_print "! $1"; exit 1; }

# ── Detectar gestor de root ──────────────────
detect_manager() {
    if [ -f /data/adb/magisk/util_functions.sh ]; then
        ROOT_MANAGER="Magisk"
        . /data/adb/magisk/util_functions.sh
        [ $MAGISK_VER_CODE -lt 20400 ] && abort "Magisk v20.4+ requerido"
        install_module
    elif [ -f /data/adb/ksu/util_functions.sh ]; then
        ROOT_MANAGER="KernelSU"
        . /data/adb/ksu/util_functions.sh
        install_module
    elif [ -f /data/adb/ap/util_functions.sh ]; then
        ROOT_MANAGER="APatch"
        . /data/adb/ap/util_functions.sh
        install_module
    else
        # Fallback manual
        ROOT_MANAGER="Unknown"
        MODPATH=/data/adb/modules_update/$(grep_prop id "$ZIPFILE")
        mkdir -p "$MODPATH"
        unzip -o "$ZIPFILE" -x "META-INF/*" -d "$MODPATH" >&2
        [ -f "$MODPATH/customize.sh" ] && . "$MODPATH/customize.sh"
    fi
}

detect_manager
exit 0

