FROM registry.kshaitry.com/flutter:4.41.6

# Android SDK 35 (latest - 1), plus SDK 36 and build-tools required by Flutter
ENV ANDROID_SDK_VERSION=35
ENV ANDROID_HOME=/opt/android-sdk
ENV ANDROID_SDK_ROOT=/opt/android-sdk
ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-arm64
ENV PATH="${PATH}:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools"

# Install required system packages
RUN rm -rf /var/lib/apt/lists/* && \
    apt-get clean && \
    apt-get update && apt-get install -y --no-install-recommends \
    openjdk-17-jdk-headless \
    wget \
    && rm -rf /var/lib/apt/lists/*

# Download and install Android command-line tools
RUN mkdir -p ${ANDROID_HOME}/cmdline-tools && \
    cd /tmp && \
    wget -q "https://dl.google.com/android/repository/commandlinetools-linux-13114758_latest.zip" -O cmdline-tools.zip && \
    unzip -q cmdline-tools.zip -d ${ANDROID_HOME}/cmdline-tools && \
    mv ${ANDROID_HOME}/cmdline-tools/cmdline-tools ${ANDROID_HOME}/cmdline-tools/latest && \
    rm cmdline-tools.zip

# Accept licenses and install SDK components
# API 35 = target (latest - 1), API 36 + build-tools required by Flutter toolchain
RUN yes | sdkmanager --licenses > /dev/null 2>&1 && \
    sdkmanager \
    "platforms;android-${ANDROID_SDK_VERSION}" \
    "platforms;android-36" \
    "build-tools;${ANDROID_SDK_VERSION}.0.0" \
    "build-tools;36.0.0" \
    "platform-tools"

# Configure Flutter for Android development
RUN flutter config --android-sdk ${ANDROID_HOME} && \
    yes | flutter doctor --android-licenses > /dev/null 2>&1 && \
    flutter precache --android

WORKDIR /workspace
