#!/system/bin/sh  
RED='\033[1;31m'      
GREEN='\033[1;32m'      
YELLOW='\033[1;33m'      
BLUE='\033[1;34m'      
PURPLE='\033[1;35m'      
CYAN='\033[1;36m'      
WHITE='\033[1;37m'      
NC='\033[1m' # 无颜色      
  
CONFIG_FILE="/data/adb/teesim/config.json"      
PKG_FILE="$1"      
  
# 检查文件是否存在      
if [ ! -f "$CONFIG_FILE" ]; then      
    echo "错误: TEE模块 $CONFIG_FILE 未创建"    
     rm -rf /data/local/tmp/* 
    exit 1      
fi      
  
if [ ! -f "$PKG_FILE" ]; then      
    echo -e "\033[1;31m  ❌ 错误未获取到包名文件\033[0m"
    rm -rf /data/local/tmp/*
        
    exit 1      
fi      
  
# 统计总行数（非空行）      
total=$(grep -c '[^[:space:]]' "$PKG_FILE")      
echo -e "${CYAN}共读取到 $total 个包名${NC}"      
echo ""     
echo -e "\033[1;32m模块已有包名被跳过\033[0m"  
  
# 计数器      
added=0      
skipped=0      
current=0      
  
# 逐行读取文件并追加      
while IFS= read -r pkg || [ -n "$pkg" ]; do      
    # 跳过空行和注释行      
    [ -z "$pkg" ] && continue      
    echo "$pkg" | grep -q '^#' && continue      
          
    # 去除首尾空格      
    pkg=$(echo "$pkg" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')      
          
    current=$((current + 1))      
          
    # 计算百分比      
    percent=$((current * 100 / total))      
          
    # 根据进度选择颜色    
    if [ $percent -lt 10 ]; then    
        color=$RED    
        bar_color=$RED  
    elif [ $percent -lt 20 ]; then    
        color=$YELLOW    
        bar_color=$YELLOW  
    elif [ $percent -lt 30 ]; then    
        color=$BLUE    
        bar_color=$BLUE  
    elif [ $percent -lt 40 ]; then    
        color=$WHITE    
        bar_color=$WHITE  
    elif [ $percent -lt 50 ]; then    
        color=$BLUE    
        bar_color=$BLUE      
    elif [ $percent -lt 60 ]; then    
        color=$CYAN    
        bar_color=$CYAN      
    elif [ $percent -lt 70 ]; then    
        color=$YELLOW    
        bar_color=$YELLOW      
    elif [ $percent -lt 80 ]; then    
        color=$CYAN    
        bar_color=$CYAN  
    else    
        color=$GREEN    
        bar_color=$GREEN  
    fi  
          
    # 在原行显示带颜色的百分比（\r 回到行首覆盖）  
    printf "\r${color}[%3d%%]${NC}  [%d/%d]  ✅已追加:%d  ⏭️跳过:%d" "$percent" "$current" "$total" "$added" "$skipped"      
          
    # 去重检查      
    if grep -q "\"$pkg\"" "$CONFIG_FILE" 2>/dev/null; then      
        skipped=$((skipped + 1))      
        continue      
    fi      
          
    # 找到 ] 所在行号      
    line_num=$(grep -n '^[[:space:]]*\]' "$CONFIG_FILE" | head -1 | cut -d: -f1)      
          
    if [ -n "$line_num" ]; then      
        # 给 ] 的上一行（最后一个元素）加逗号      
        prev_line=$((line_num - 1))      
        sed -i "${prev_line}s/$/,/" "$CONFIG_FILE"      
              
        # 在 ] 前面插入新包名      
        sed -i "${line_num}i\\        \"$pkg\"" "$CONFIG_FILE"      
        added=$((added + 1))      
    else      
        printf "\n${RED}❌ 错误: 找不到配置文件中 ]${NC}\n"      
        exit 1      
    fi      
done < "$PKG_FILE"      
  
echo ""      
echo ""      
echo -e "${GREEN}╔══════════════════════════════╗${NC}"      
echo -e "${GREEN}║       操作完成               ║${NC}"      
echo -e "${GREEN}╠══════════════════════════════╣${NC}"      
echo -e "${GREEN}║  ✅ 成功追加: $added 个包名${NC}"      
echo -e "${GREEN}║  ⚠️  跳过重复: $skipped 个包名${NC}"      
echo -e "${GREEN}╚══════════════════════════════╝${NC}"      
rm -rf /data/local/tmp/*