44 lines
		
	
	
		
			746 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			746 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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
 | |
| 		printf "unknown: $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)
 | |
| 	if [[ "$out" =~ "command not found" ]]; then
 | |
| 		err "$out"
 | |
| 	fi
 | |
| 	if [[ "$out" =~ "stopped" ]]; then
 | |
| 		break
 | |
| 	fi
 | |
| 	exp=$(explain "$out")
 | |
| 	let "r = sec % 5"
 | |
| 	if [[ $r -eq 0 ]]; then
 | |
| 		echo "Waiting for emulator to start: $exp"
 | |
| 	fi
 | |
| 	sleep 1
 | |
| 	let "sec++"
 | |
| done
 | |
| 
 | |
| echo "Emulator is ready"
 | 
