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"
 |