summaryrefslogtreecommitdiff
path: root/.gitlab/wait-for-emulator.sh
diff options
context:
space:
mode:
authorfupduck <fupduck@riseup.net>2018-02-06 05:53:09 -0800
committerfupduck <fupduck@riseup.net>2018-02-06 05:53:09 -0800
commitedd34192484f4eb618fdcc2a68b18168c155d63c (patch)
treed884f63e74911d2ea2cf7bc864414a623e15a2b3 /.gitlab/wait-for-emulator.sh
parentc0848bac7ac44f4b09f9e5d66ab71f079cb0f514 (diff)
parentd2d61a16fd2a3ea0fd42073de98d1311b184444d (diff)
Merge branch '#8832_update_ics-openvpn' into '0.9.8'
#8832 update ics openvpn See merge request leap/bitmask_android!33
Diffstat (limited to '.gitlab/wait-for-emulator.sh')
-rwxr-xr-x.gitlab/wait-for-emulator.sh44
1 files changed, 44 insertions, 0 deletions
diff --git a/.gitlab/wait-for-emulator.sh b/.gitlab/wait-for-emulator.sh
new file mode 100755
index 00000000..cd51428a
--- /dev/null
+++ b/.gitlab/wait-for-emulator.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+# from https://gitlab.com/fdroid/fdroidclient
+
+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
+ printf "$1"
+ fi
+}
+
+while true; do
+ if [[ $sec -ge $timeout ]]; then
+ err "Timeout ($timeout seconds) reached - Failed to start emulator"
+ fi
+ out=$(adb -e shell getprop init.svc.bootanim 2>&1 | grep -v '^\*')
+ if [[ "$out" =~ "command not found" ]]; then
+ err "$out"
+ fi
+ if [[ "$out" =~ "stopped" ]]; then
+ break
+ fi
+ let "r = sec % 5"
+ if [[ $r -eq 0 ]]; then
+ echo "Waiting for emulator to start: $(explain "$out")"
+ fi
+ sleep 1
+ let "sec++"
+done
+
+echo "Emulator is ready"