#!/sbin/sh
# =========================================================================================
#  ██████╗ ██████╗ ██╗   ██╗ ██████╗     ██╗ ██████╗███████╗
# ██╔════╝ ██╔══██╗╚██╗ ██╔╝██╔═══██╗    ██║██╔════╝██╔════╝
# ██║      ██████╔╝ ╚████╔╝ ██║   ██║    ██║██║     █████╗  
# ██║      ██╔══██╗  ╚██╔╝  ██║   ██║    ██║██║     ██╔══╝  
#  ██████╗ ██║  ██║   ██║   ╚██████╔╝    ██║╚██████╗███████╗
#  ╚═════╝ ╚═╝  ╚═╝   ╚═╝    ╚═════╝     ╚═╝ ╚═════╝╚══════╝
# =========================================================================================
# UNIVERSAL INSTALLER BINARY - MAGIC RANDOM PRO V15
# THEME     : Columbia Cryo Absolute Zero
# DEVELOPER : Nabil Irza Prawira (@n4bilirz)
# SUPPORT   : Magisk, KernelSU, APatch, OrangeFox (OFox), TWRP, PBRP
# =========================================================================================

OUTFD=$2
ZIPFILE=$3

# 1. Mendeteksi Mode: Berjalan di Android (App) atau Recovery (TWRP/OFox)
ps | grep zygote | grep -v grep >/dev/null && BOOTMODE=true || BOOTMODE=false
$BOOTMODE || ps -A 2>/dev/null | grep zygote | grep -v grep >/dev/null && BOOTMODE=true

# 2. Setup fungsi Print UI Universal
ui_print() {
  if $BOOTMODE; then
    echo "$1"
  else
    echo -n -e "ui_print $1\n" > /proc/self/fd/$OUTFD
    echo -n -e "ui_print\n" > /proc/self/fd/$OUTFD
  fi
}

# 3. Mount Partisi Wajib (Khusus jika di-flash lewat TWRP / OFox)
if ! $BOOTMODE; then
  ui_print " "
  ui_print "==========================================="
  ui_print " ❄️ CUSTOM RECOVERY (TWRP/OFOX) DETECTED "
  ui_print "==========================================="
  ui_print "- Membuka Gerbang Irminsul..."
  
  mount /data 2>/dev/null
  mount /cache 2>/dev/null
  mount -o rw,remount /system 2>/dev/null
  mount -o rw,remount /system_root 2>/dev/null
fi

# 4. Inisiasi Jalur Akar (Root Path)
ADB_DIR="/data/adb"
MODPATH="$ADB_DIR/modules/magic_random_pro"

ui_print " "
ui_print "- Menjalankan Cryo Installer Engine..."

# Pastikan device sudah pernah di-root
if [ ! -d $ADB_DIR/modules ]; then
  ui_print "❌ ERROR FATAL:"
  ui_print "Sistem Root (Magisk/KSU/APatch) tidak ditemukan!"
  ui_print "Harap instal Root terlebih dahulu ke sistem HP ini."
  exit 1
fi

ui_print "- Membersihkan sisa resonansi versi lama..."
rm -rf $MODPATH 2>/dev/null
mkdir -p $MODPATH

ui_print "- Mengekstrak Delusion Hydro Catalyst B5..."
unzip -o "$ZIPFILE" -x 'META-INF/*' -d $MODPATH >&2

# 5. Eksekusi file customize.sh milik lu agar animasi log-nya jalan
if [ -f $MODPATH/customize.sh ]; then
  # Daftarkan variabel yang dibutuhkan customize.sh
  export MODPATH
  export BOOTMODE
  export ZIPFILE
  
  # Beri izin jalan dan eksekusi
  chmod 755 $MODPATH/customize.sh
  sh $MODPATH/customize.sh
else
  ui_print "! Peringatan: File customize.sh lu tidak ditemukan di dalam ZIP!"
fi

# 6. Setel Izin Mutlak untuk Folder Modul (Safety Net)
ui_print "- Menyelaraskan Izin Eksekusi Sistem (CHMOD)..."
chmod -R 755 $MODPATH
chmod 644 $MODPATH/system.prop 2>/dev/null
chmod 644 $MODPATH/module.prop 2>/dev/null

# 7. Penanda sukses instalasi untuk Root Manager
touch $MODPATH/update

ui_print " "
ui_print "==========================================="
if ! $BOOTMODE; then
  ui_print " INSTALASI VIA OFOX/TWRP SELESAI! REBOOT!  "
else
  ui_print " INSTALASI SELESAI! SILAKAN REBOOT HP!     "
fi
ui_print "==========================================="
exit 0
 
