#!/bin/bash
set -euo pipefail

# ------------------------------------------------------------------
# setup-adb.sh — Install Android platform-tools (ADB) on macOS/Linux
# ------------------------------------------------------------------

RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
NC='\033[0m'

# Check if ADB is already installed
if command -v adb &>/dev/null; then
    echo -e "${GREEN}ADB is already installed:${NC}"
    adb version
    exit 0
fi

OS="$(uname -s)"
ARCH="$(uname -m)"

case "$OS" in
    Darwin)
        # macOS — try Homebrew first, fall back to manual install
        if command -v brew &>/dev/null; then
            echo -e "${YELLOW}Installing via Homebrew...${NC}"
            brew install android-platform-tools
        else
            echo -e "${YELLOW}Downloading Android platform-tools for macOS...${NC}"
            DOWNLOAD_URL="https://dl.google.com/android/repository/platform-tools-latest-darwin.zip"
            INSTALL_DIR="$HOME/platform-tools"

            curl -fSL -o /tmp/platform-tools.zip "$DOWNLOAD_URL"
            unzip -o /tmp/platform-tools.zip -d "$HOME"
            rm /tmp/platform-tools.zip

            # Add to PATH
            SHELL_RC="$HOME/.zshrc"
            [[ "$SHELL" == */bash ]] && SHELL_RC="$HOME/.bashrc"

            if ! grep -q "platform-tools" "$SHELL_RC" 2>/dev/null; then
                echo "" >> "$SHELL_RC"
                echo "# Android platform-tools (ADB)" >> "$SHELL_RC"
                echo "export PATH=\"\$HOME/platform-tools:\$PATH\"" >> "$SHELL_RC"
            fi

            export PATH="$INSTALL_DIR:$PATH"
        fi
        ;;
    Linux)
        echo -e "${YELLOW}Downloading Android platform-tools for Linux...${NC}"
        DOWNLOAD_URL="https://dl.google.com/android/repository/platform-tools-latest-linux.zip"
        INSTALL_DIR="$HOME/platform-tools"

        curl -fSL -o /tmp/platform-tools.zip "$DOWNLOAD_URL"
        unzip -o /tmp/platform-tools.zip -d "$HOME"
        rm /tmp/platform-tools.zip

        SHELL_RC="$HOME/.bashrc"
        [[ "$SHELL" == */zsh ]] && SHELL_RC="$HOME/.zshrc"

        if ! grep -q "platform-tools" "$SHELL_RC" 2>/dev/null; then
            echo "" >> "$SHELL_RC"
            echo "# Android platform-tools (ADB)" >> "$SHELL_RC"
            echo "export PATH=\"\$HOME/platform-tools:\$PATH\"" >> "$SHELL_RC"
        fi

        export PATH="$INSTALL_DIR:$PATH"
        ;;
    *)
        echo -e "${RED}Unsupported OS: $OS${NC}"
        echo "Download manually from: https://developer.android.com/tools/releases/platform-tools"
        exit 1
        ;;
esac

# Verify
if command -v adb &>/dev/null; then
    echo ""
    echo -e "${GREEN}ADB installed successfully:${NC}"
    adb version
    echo ""
    echo -e "${YELLOW}Note: restart your terminal or run 'source ~/.zshrc' if adb is not found.${NC}"
else
    echo -e "${RED}ADB installation failed. Download manually from:${NC}"
    echo "https://developer.android.com/tools/releases/platform-tools"
    exit 1
fi
