#!/usr/bin/env bash
set -e

help="
Usage:
  -s <ssid> WiFi ssid
  -p <psk> WiFi Password

Example:
  $ ./tools/configure-network -s <ssid> -p <psk>
"

ssid=""
psk=""
while [ $# -gt 0 ]; do
  case "$1" in
    -s)
      ssid="$2"
      shift
      ;;
    -p)
      psk="$2"
      shift
      ;;
    --help)
      printf "$help"
      exit
      ;;
    -h)
      printf "$help"
      exit
      ;;
    --*)
      echo "Illegal option $1"
      ;;
  esac
  shift $(( $# > 0 ? 1 : 0 ))
done


adb shell "mount -o remount,rw /"


# MARK: - Setup Network
if ! test -z "$ssid" && ! test -z "$psk"; then
  set +e
  content="$(adb shell cat /data/system/wpa_supplicant.conf | grep ssid)"
  set -e
  if test -z "$content"; then
    adb shell << EOC
cat >> /data/system/wpa_supplicant.conf <<- EOS
network={
  ssid="$ssid"
  psk="$psk"
}
EOS
EOC
  else
    printf "Device already configured WiFi connection. No network modification was made.\n"
  fi
else
  printf "No network modification was made for no ssid or psk specified.\n$help\n"
fi

adb shell wpa_cli reconfigure
