#!/bin/bash

# Автоматическая сборка, установка APK на LG G6 и мониторинг логов
# Использование: ./install_to_lg_g6.sh

# Принудительно используем Java 17 - ту же версию что в gradle.properties
export JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
export GRADLE_OPTS="-Dorg.gradle.java.home=/usr/lib/jvm/java-17-openjdk-amd64 -Dorg.gradle.jvmargs=-Xmx2048m"
export PATH="/usr/lib/jvm/java-17-openjdk-amd64/bin:$PATH"

# Проверяем что Java 17 доступна
if [ ! -d "$JAVA_HOME" ]; then
    echo "❌ Java 17 не найдена в $JAVA_HOME"
    echo "Проверим доступные версии Java:"
    ls -la /usr/lib/jvm/
    exit 1
fi

echo "🔧 GodEye APK Builder & Installer для LG G6"
echo "=============================================="
echo "🔧 JAVA_HOME: $JAVA_HOME"
echo "🔧 Java версия: $($JAVA_HOME/bin/java -version 2>&1 | head -1)"

APK_PATH="/home/trevor/AndroidStudioProjects/GodEye/app/build/outputs/apk/debug/app-debug.apk"
LG_G6_DEVICE="LGMG600S9b4da66b"
APP_PACKAGE="com.example.godeye"
MAIN_ACTIVITY=".LegacyMainActivity"

# Функция для логирования с временными метками
log() {
    echo "[$(date '+%H:%M:%S')] $1"
}

# Проверяем подключение LG G6
log "🔍 Проверяю подключение LG G6..."
if ! adb devices | grep -q "$LG_G6_DEVICE.*device"; then
    echo "❌ LG G6 не найден!"
    echo ""
    echo "📱 Убедитесь что:"
    echo "1. LG G6 подключен USB-кабелем"
    echo "2. Включена отладка по USB"
    echo "3. Разрешена отладка на устройстве"
    echo ""
    echo "Подключенные устройства:"
    adb devices
    exit 1
fi

log "✅ LG G6 найден: $LG_G6_DEVICE"

# Собираем проект
log "🔨 Собираю проект..."
if ! JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 ./gradlew assembleDebug --no-daemon; then
    echo "❌ Ошибка сборки проекта!"
    exit 1
fi

# Проверяем существование APK файла
if [ ! -f "$APK_PATH" ]; then
    echo "❌ APK файл не найден после сборки: $APK_PATH"
    exit 1
fi

log "✅ APK файл успешно собран: $(ls -lh $APK_PATH | awk '{print $5}')"

# Устанавливаем APK на LG G6
log "📱 Устанавливаю APK на LG G6..."
if adb -s "$LG_G6_DEVICE" install -r "$APK_PATH"; then
    log "✅ APK успешно установлен на LG G6!"
else
    echo "❌ Ошибка установки APK"
    exit 1
fi

# Очищаем логи
log "🧹 Очищаю старые логи..."
adb -s "$LG_G6_DEVICE" logcat -c

# Запускаем приложение
log "🚀 Запускаю приложение GodEye..."
adb -s "$LG_G6_DEVICE" shell am start -n ${APP_PACKAGE}/${MAIN_ACTIVITY}

# Ждем немного для инициализации
sleep 2

log "📊 Запускаю мониторинг логов..."
log "==============================="
log "🔍 Отслеживаю все события приложения GodEye"
log "💡 Для остановки нажмите Ctrl+C"
log "==============================="

# Запускаем мониторинг логов с фильтрацией
adb -s "$LG_G6_DEVICE" logcat -s GodEye System.out | while read line; do
    # Добавляем цветную индикацию важных событий
    if echo "$line" | grep -q "STEP\|EVENT\|CAMERA\|SESSION\|CONNECT"; then
        echo -e "\033[1;32m[$(date '+%H:%M:%S')] $line\033[0m"
    elif echo "$line" | grep -q "ERROR"; then
        echo -e "\033[1;31m[$(date '+%H:%M:%S')] $line\033[0m"
    elif echo "$line" | grep -q "AUTO-ACCEPT"; then
        echo -e "\033[1;33m[$(date '+%H:%M:%S')] $line\033[0m"
    else
        echo "[$(date '+%H:%M:%S')] $line"
    fi
done
