33 lines
994 B
Bash
33 lines
994 B
Bash
#!/bin/bash
|
|
error_msg=$((
|
|
echo "auth $(cat ~/.emulator_console_auth_token)"
|
|
echo "geo fix $1 $2 0.0"
|
|
sleep 0.2
|
|
) | telnet localhost 5554 2> /dev/null | grep KO: );
|
|
|
|
sleep 1
|
|
# Technically the phone supports (prints) 6 digits of precision,
|
|
# but the last one is subject to weird rounding, so just checking the first 5
|
|
new_1=$(printf "%.5f" $1)
|
|
new_2=$(printf "%.5f" $2)
|
|
correct=${new_2},${new_1}
|
|
|
|
if [ -z "${error_msg}" ]; then
|
|
# Check if the location was actually set, for some reason the location moching doesn't work,
|
|
# unless google maps is launched first, and is given access to the phone location
|
|
out=$(. /conf/get_location.sh);
|
|
|
|
curr_1=$(printf "%.5f" $(echo $out | sed 's/.*,//'))
|
|
curr_2=$(printf "%.5f" $(echo $out | sed 's/,.*//'))
|
|
|
|
if [[ "$curr_1" != "$new_1" || "$curr_2" != "$new_2" ]]; then
|
|
echo Failed to actually set the location, but detected a prev location set
|
|
exit 1
|
|
fi
|
|
echo Succesfully set the coordinates to: $out
|
|
exit 0
|
|
else
|
|
echo "$error_msg"
|
|
exit 2;
|
|
fi
|