#!/bin/bash

# Android Setup Script for {{PROJECT_NAME}}
echo "🤖 Setting up Android development environment for {{PROJECT_NAME}}..."

# Check if Android Studio is installed
if [ ! -d "/Applications/Android Studio.app" ] && [ ! -d "$HOME/Library/Android/sdk" ]; then
    echo "❌ Android Studio not found!"
    echo "Please install Android Studio from: https://developer.android.com/studio"
    echo "Then run this script again."
    exit 1
fi

# Set Android environment variables
export ANDROID_HOME="$HOME/Library/Android/sdk"

# Check if Android SDK exists
if [ ! -d "$ANDROID_HOME" ]; then
    echo "❌ Android SDK not found at $ANDROID_HOME"
    echo "Please install Android SDK via Android Studio SDK Manager"
    exit 1
fi

echo "✅ Android SDK found at $ANDROID_HOME"

# Check if NDK is installed
if [ ! -d "$ANDROID_HOME/ndk" ]; then
    echo "❌ Android NDK not found!"
    echo "Please install Android NDK via Android Studio:"
    echo "  1. Open Android Studio"
    echo "  2. SDK Manager → SDK Tools tab"
    echo "  3. Check 'Android NDK (Side by side)'"
    echo "  4. Click Apply"
    exit 1
fi

# Find NDK version
NDK_VERSIONS=($(ls "$ANDROID_HOME/ndk" 2>/dev/null))
if [ ${#NDK_VERSIONS[@]} -eq 0 ]; then
    echo "❌ No NDK versions found in $ANDROID_HOME/ndk"
    echo "Please install Android NDK via Android Studio SDK Manager"
    exit 1
fi

# Use the first (or latest) NDK version found
NDK_VERSION=${NDK_VERSIONS[0]}
export NDK_HOME="$ANDROID_HOME/ndk/$NDK_VERSION"

echo "✅ Android NDK found: $NDK_VERSION"

# Add to PATH
export PATH="$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools"

echo "✅ Environment variables set:"
echo "   ANDROID_HOME=$ANDROID_HOME"
echo "   NDK_HOME=$NDK_HOME"

# Check if tools exist
if [ ! -f "$ANDROID_HOME/platform-tools/adb" ]; then
    echo "❌ ADB not found. Please install Android SDK Platform-Tools"
    exit 1
fi

echo "✅ ADB found"

# Add to shell profile for persistence
SHELL_PROFILE=""
if [ -f "$HOME/.zshrc" ]; then
    SHELL_PROFILE="$HOME/.zshrc"
elif [ -f "$HOME/.bashrc" ]; then
    SHELL_PROFILE="$HOME/.bashrc"
elif [ -f "$HOME/.bash_profile" ]; then
    SHELL_PROFILE="$HOME/.bash_profile"
fi

if [ -n "$SHELL_PROFILE" ]; then
    echo ""
    echo "📝 Adding environment variables to $SHELL_PROFILE..."
    
    # Remove any existing Android entries
    grep -v "ANDROID_HOME\|NDK_HOME" "$SHELL_PROFILE" > "${SHELL_PROFILE}.tmp" && mv "${SHELL_PROFILE}.tmp" "$SHELL_PROFILE"
    
    # Add new entries
    echo "" >> "$SHELL_PROFILE"
    echo "# Android Development Environment" >> "$SHELL_PROFILE"
    echo "export ANDROID_HOME=\"$ANDROID_HOME\"" >> "$SHELL_PROFILE"
    echo "export NDK_HOME=\"$NDK_HOME\"" >> "$SHELL_PROFILE"
    echo "export PATH=\"\$PATH:\$ANDROID_HOME/platform-tools:\$ANDROID_HOME/tools\"" >> "$SHELL_PROFILE"
    
    echo "✅ Environment variables added to $SHELL_PROFILE"
    echo ""
    echo "🔄 Please run: source $SHELL_PROFILE"
    echo "   Or restart your terminal for changes to take effect"
else
    echo "⚠️  Could not detect shell profile. Please manually add these to your shell config:"
    echo "   export ANDROID_HOME=\"$ANDROID_HOME\""
    echo "   export NDK_HOME=\"$NDK_HOME\""
    echo "   export PATH=\"\$PATH:\$ANDROID_HOME/platform-tools:\$ANDROID_HOME/tools\""
fi

echo ""
echo "🚀 Android setup complete!"
echo "   Run: pnpm tauri android init"
echo "   Then: pnpm tauri android dev"