#!/usr/bin/env bash set -euo pipefail ROOT="$(cd "$(dirname "$0")/.." && pwd)" ANDROID_DIR="$ROOT/native/android" ADB="${ADB:-adb}" DEVICE="${ANDROID_SERIAL:-emulator-5554}" API_BASE_URL="${API_BASE_URL:-https://www.matchlivetv.it}" export ANDROID_SERIAL="$DEVICE" echo "==> Device: $DEVICE" "$ADB" -s "$DEVICE" get-state cd "$ANDROID_DIR" chmod +x gradlew echo "==> Build debug + androidTest APK (API_BASE_URL=$API_BASE_URL)" ./gradlew assembleDebug assembleDebugAndroidTest -PAPI_BASE_URL="$API_BASE_URL" echo "==> Reset app state on $DEVICE" "$ADB" -s "$DEVICE" shell am force-stop com.matchlivetv.match_live_tv "$ADB" -s "$DEVICE" shell pm clear com.matchlivetv.match_live_tv "$ADB" -s "$DEVICE" shell pm grant com.matchlivetv.match_live_tv android.permission.CAMERA "$ADB" -s "$DEVICE" shell pm grant com.matchlivetv.match_live_tv android.permission.RECORD_AUDIO "$ADB" -s "$DEVICE" shell pm grant com.matchlivetv.match_live_tv android.permission.POST_NOTIFICATIONS echo "==> Install on $DEVICE" "$ADB" -s "$DEVICE" install -r app/build/outputs/apk/debug/app-debug.apk "$ADB" -s "$DEVICE" install -r app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk echo "==> Run E2E tests" ./gradlew connectedDebugAndroidTest \ -Pandroid.testInstrumentationRunnerArguments.class=com.matchlivetv.match_live_tv.E2EWizardFlowTest \ -PAPI_BASE_URL="$API_BASE_URL" echo "==> E2E completato"