#!/sbin/sh
umask 022
TMPDIR=/dev/tmp
PERSISTDIR=/sbin/.magisk/mirror/persist
rm -rf $TMPDIR 2>/dev/null
mkdir -p $TMPDIR
LATESTARTSERVICE=true
PROPFILE=true
OUTFD=$2
ZIPFILE=$3
unzip -oj "$ZIPFILE" module.prop 'common/*' -d $TMPDIR >&2
var_version="`getprop ro.build.version.release`"
var_miui_version="`getprop ro.miui.ui.version.code`"
print_modname() {
 ui_print "---------------------------------------------"
 ui_print "- MIUI完美图标补全计划"
 ui_print "- MIUI-Adapted-Icons-Complement-Project"
 ui_print ""
 ui_print "  888b     d888   888   888     888   888  "
 ui_print "  8888b   d8888   888   888     888   888"
 ui_print "  88888b.d88888   888   888     888   888"
 ui_print "  888Y88888P888   888   888     888   888"
 ui_print "  888 Y888P 888   888   888     888   888"
 ui_print "  888  Y8P  888   888   888     888   888"
 ui_print "  888   \"   888   888   Y88b. .d88P   888"
 ui_print "  888       888   888    \"Y88888P\"    888  "
 ui_print ""
 ui_print "  8888888"
 ui_print "    888"
 ui_print "    888"
 ui_print "    888   .d8888b .d88b.  88888b.  .d8888b"
 ui_print "    888  d88P\"   d88\"\"88b 888 \"88b 88K"
 ui_print "    888  888     888  888 888  888 \"Y8888b. "
 ui_print "    888  Y88b.   Y88..88P 888  888      X88 "
 ui_print "  8888888 \"Y8888P \"Y88P\"  888  888  88888P' "
 ui_print "---------------------------------------------"
}
on_install() {
  if [ $var_version -lt 10 ]; then 
    ui_print "- 您的 Android 版本不符合要求，即将退出安装。"
    rm -rf $TMPDIR
    exit 1
  elif [ $var_miui_version -ge 10 ]; then
  ui_print "- 模块可以在您设备上运行，准备安装..."
  ui_print "- 正在解压，请稍候..."
  unzip -oj "$ZIPFILE" icons.tar.xz -d $TMPDIR >&2
  tar -xf "$TMPDIR/icons.tar.xz" -C "$TMPDIR/" >&2
ui_print ""
  KEYSEL=$TMPDIR/key_selector
  chmod 755 $KEYSEL
  zip=$TMPDIR/zip
  chmod 755 $zip
  REPLACE="/system/media/theme/miui_mod_icons"
  $KEYSEL
  VARIANT=$?
  ui_print ""
if [ $VARIANT == 17 ]; then 
    var_theme="MIUI经典主题"
    var_themeid="2"
    MODAUTHOR="@潮留美海かり @PedroZ"
elif [ $VARIANT == 18 ]; then 
    var_theme="探界主题"
    var_themeid="3"
    MODAUTHOR="@潮留美海かり @PedroZ"
else
    ui_print "- 出现未知错误，安装无法继续，即将退出安装..."
    rm -rf $TMPDIR
    exit 1
fi    
    ui_print "- 模块开发：@PedroZ"
    ui_print "- 图标绘制：$MODAUTHOR"
    ui_print "- 模块版本：$MODVERSION"
    ui_print ""
    ui_print "- 正在安装 $var_theme 并补全完美图标..."
    echo "description=使用$var_theme并补全完美图标" >> $TMPDIR/module.prop
    echo "author=$MODAUTHOR" >> $TMPDIR/module.prop
    mkdir -p $MODPATH/system/media/theme/miui_mod_icons/
    mkdir -p $MODPATH/system/media/theme/default/
    cp -r $TMPDIR/icons/$var_themeid/* $MODPATH/system/media/theme/
    cp -r $TMPDIR/icons/1/* $MODPATH/system/media/theme/
    cd $TMPDIR/icons/0/
    $zip -m -r $MODPATH/system/media/theme/default/icons *  >/dev/null
    mv $MODPATH/system/media/theme/default/icons.zip $MODPATH/system/media/theme/default/icons
    cp $TMPDIR/module.prop $MODPATH/module.prop
  else
    ui_print "- 你的系统不符合要求，即将退出安装。"
    rm -rf $TMPDIR
    exit 1
  fi
}
require_new_magisk() {
  echo
  echo "- 当前模块不支持此Magisk版本"
  echo
  echo "- 请安装最新的 Magisk ！"
  echo
  exit 1
}
mount /data 2>/dev/null
[ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk
. /data/adb/magisk/util_functions.sh
[ $MAGISK_VER_CODE -gt 18100 ] || require_new_magisk
setup_flashable
mount_partitions
api_level_arch_detect
$BOOTMODE && boot_actions || recovery_actions
$BOOTMODE && MODDIRNAME=modules_update || MODDIRNAME=modules
MODULEROOT=$NVBASE/$MODDIRNAME
MODID=`grep_prop id $TMPDIR/module.prop`
MODPATH=$MODULEROOT/$MODID
MODNAME=`grep_prop name $TMPDIR/module.prop`
MODVERSION=`grep_prop version $TMPDIR/module.prop`
rm -rf $MODPATH 2>/dev/null
mkdir -p $MODPATH
print_modname
on_install
ui_print ""
ui_print "- 注意"
ui_print "- 仅在 MIUI经典主题 下有效"
ui_print "- 请在 主题壁纸 中，切换回 MIUI经典 主题"
ui_print ""
ui_print "- 关注 Telegram 频道 @miuiicons 获得测试版本"
ui_print "- 欢迎加入 Telegram 群组讨论参与开发"
ui_print ""
ui_print "- 马上就好..."
if ! grep -q '^SKIPUNZIP=1$' $MODPATH/customize.sh 2>/dev/null; then
  set_perm_recursive $MODPATH 0 0 0755 0644
fi
[ -f $MODPATH/customize.sh ] && . $MODPATH/customize.sh
for TARGET in $REPLACE; do
  mktouch $MODPATH$TARGET/.replace
done
if $BOOTMODE; then
  mktouch $NVBASE/modules/$MODID/update
  cp -af $MODPATH/module.prop $NVBASE/modules/$MODID/module.prop
fi
rm -rf \
$MODPATH/system/placeholder $MODPATH/customize.sh \
$MODPATH/README.md $MODPATH/.git* 2>/dev/null
cd /
$BOOTMODE || recovery_cleanup
rm -rf $TMPDIR
ui_print ""
ui_print "- 安装成功，请重启设备 (^_^) "
ui_print "---------------------------------------------"
exit 0