2015-09-01 21:43:46 -07:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
sec=0
|
|
|
|
timeout=360
|
|
|
|
|
|
|
|
err() {
|
|
|
|
echo "$@"
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
explain() {
|
|
|
|
if [[ "$1" =~ "not found" ]]; then
|
|
|
|
printf "device not found"
|
|
|
|
elif [[ "$1" =~ "offline" ]]; then
|
|
|
|
printf "device offline"
|
|
|
|
elif [[ "$1" =~ "running" ]]; then
|
|
|
|
printf "booting"
|
|
|
|
else
|
2016-04-29 20:49:19 +01:00
|
|
|
printf "$1"
|
2015-09-01 21:43:46 -07:00
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
while true; do
|
|
|
|
if [[ $sec -ge $timeout ]]; then
|
|
|
|
err "Timeout ($timeout seconds) reached - Failed to start emulator"
|
|
|
|
fi
|
2016-04-29 20:46:25 +01:00
|
|
|
out=$(adb -e shell getprop init.svc.bootanim 2>&1 | grep -v '^\*')
|
2015-09-01 21:43:46 -07:00
|
|
|
if [[ "$out" =~ "command not found" ]]; then
|
|
|
|
err "$out"
|
|
|
|
fi
|
|
|
|
if [[ "$out" =~ "stopped" ]]; then
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
let "r = sec % 5"
|
|
|
|
if [[ $r -eq 0 ]]; then
|
2016-04-29 20:49:19 +01:00
|
|
|
echo "Waiting for emulator to start: $(explain "$out")"
|
2015-09-01 21:43:46 -07:00
|
|
|
fi
|
|
|
|
sleep 1
|
|
|
|
let "sec++"
|
|
|
|
done
|
|
|
|
|
|
|
|
echo "Emulator is ready"
|