Andrii Dokhniak f458b38ffd upd
2025-07-08 10:13:24 +02:00

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