#!/sbin/sh

##############################################################################
# Universal update-binary
# - Magisk (官方/Alpha): loads util_functions.sh → install_module → customize.sh
# - Recovery without Magisk: manual extraction → source customize.sh
# - Note: KSU/APatch ignore this file entirely, they run customize.sh directly
##############################################################################

umask 022

ui_print() { echo "$1"; }

OUTFD=$2
ZIPFILE=$3

mount /data 2>/dev/null

# Try Magisk's standard install flow
if [ -f /data/adb/magisk/util_functions.sh ]; then
  . /data/adb/magisk/util_functions.sh
  [ $MAGISK_VER_CODE -lt 20400 ] && {
    ui_print "需要 Magisk v20.4+ !"
    exit 1
  }
  install_module
  exit 0
fi

# Fallback for recovery flash without Magisk (rare but possible)
ui_print "- 未检测到 Magisk, 使用通用安装模式"
MODPATH=/data/adb/modules/buou_env_bundle
mkdir -p "$MODPATH"
unzip -oq "$ZIPFILE" -d "$MODPATH"
if [ -f "$MODPATH/customize.sh" ]; then
  . "$MODPATH/customize.sh"
fi
exit 0
