taler-android

Android apps for GNU Taler (wallet, PoS, cashier)
Log | Files | Refs | README | LICENSE

capture-screenshots.sh (1011B)


      1 #!/usr/bin/env bash
      2 
      3 set -euo pipefail
      4 
      5 SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
      6 REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
      7 OUT_DIR="${1:-$REPO_ROOT/merchant-terminal/build/screenshots}"
      8 shift || true
      9 
     10 if [[ $# -gt 0 ]]; then
     11   SCENARIOS=("$@")
     12 else
     13   SCENARIOS=("amount-entry" "order" "payment" "payment-success")
     14 fi
     15 
     16 APP_ID="net.taler.merchantpos"
     17 ACTIVITY="$APP_ID/.MainActivity"
     18 EXTRA_KEY="taler_pos_screenshot_scenario"
     19 
     20 mkdir -p "$OUT_DIR"
     21 
     22 if ! command -v adb >/dev/null 2>&1; then
     23   echo "adb is required" >&2
     24   exit 1
     25 fi
     26 
     27 if ! adb get-state >/dev/null 2>&1; then
     28   echo "No Android device or emulator detected" >&2
     29   exit 1
     30 fi
     31 
     32 "$REPO_ROOT/gradlew" :merchant-terminal:installDebug
     33 
     34 for scenario in "${SCENARIOS[@]}"; do
     35   echo "Capturing $scenario"
     36   adb shell am force-stop "$APP_ID" >/dev/null 2>&1 || true
     37   adb shell am start -W -n "$ACTIVITY" --es "$EXTRA_KEY" "$scenario" >/dev/null
     38   sleep 2
     39   adb exec-out screencap -p > "$OUT_DIR/$scenario.png"
     40 done
     41 
     42 echo "Saved screenshots to $OUT_DIR"