Files
vision_bench/capture_situations.sh
2026-10-06 23:43:27 -07:00

69 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
# Capture diverse Android situations with ground truth dumps. Usage: ./capture_situations.sh <adb_serial>
set -e
export PATH=$PATH:/opt/homebrew/bin
A="adb -s ${1:-10.30.20.26:5555}"
D=~/vision_bench
capture() { # $1=name
local name=$1
sleep 2
$A exec-out screencap -p > "$D/$name.png"
$A shell uiautomator dump /sdcard/ui_tmp.xml >/dev/null 2>&1 || true
$A pull /sdcard/ui_tmp.xml "$D/$name.xml" >/dev/null 2>&1 || true
local sz=$(stat -f%z "$D/$name.png")
echo "$name captured ($sz bytes)"
}
echo "--- dismiss launcher dialog if present ---"
$A shell uiautomator dump /sdcard/ui_tmp.xml >/dev/null 2>&1 || true
$A shell cat /sdcard/ui_tmp.xml > /tmp/cur.xml 2>/dev/null
if grep -q "ALWAYS" /tmp/cur.xml 2>/dev/null; then
$A shell input tap 701 599 # ALWAYS button, screen coords (+24 status bar)
sleep 3
fi
echo "--- s_home: launcher home ---"
$A shell input keyevent 3
capture s_home
echo "--- s_settings: settings main ---"
$A shell am start -a android.settings.SETTINGS
capture s_settings
echo "--- s_calc: calculator ---"
$A shell am start -n com.android.calculator2/.Calculator 2>/dev/null || $A shell monkey -p com.android.calculator2 1 2>/dev/null || echo "no calculator app"
capture s_calc
echo "--- s_article: chrome wikipedia ---"
$A shell am start -a android.intent.action.VIEW -d "https://en.wikipedia.org/wiki/Linux"
sleep 8
# accept chrome welcome if present
$A shell uiautomator dump /sdcard/ui_tmp.xml >/dev/null 2>&1 || true
$A shell cat /sdcard/ui_tmp.xml > /tmp/cur.xml 2>/dev/null
if grep -q "Accept" /tmp/cur.xml 2>/dev/null; then
$A shell input tap 511 681 # Accept & continue (+24 offset)
sleep 8
$A shell am start -a android.intent.action.VIEW -d "https://en.wikipedia.org/wiki/Linux"
sleep 8
fi
capture s_article
echo "--- s_keyboard: settings search with keyboard ---"
$A shell am start -a android.settings.SETTINGS
sleep 2
$A shell input tap 512 100 # search box area
sleep 3
$A shell input text "wifi"
sleep 2
capture s_keyboard
echo "--- s_yt or app drawer: home with drawer open ---"
$A shell input keyevent 3
sleep 1
$A shell input swipe 512 700 512 100 300
sleep 2
capture s_drawer
ls -la $D/s_*.png