#!/bin/bash
#
#This script MUST be started detached, otherwise it'll never finish
#log_name="/Users/$(whoami)/Library/Application\ Support/Resilio\ Connect\ Agent/update-$(date '+%Y-%m-%d').log"
log_name="/Users/$(whoami)/Library/Application Support/Resilio Connect Agent/update-$(date '+%Y-%m-%d').log"
touch "$log_name"
exec > "$log_name"
exec 2>&1

osascript -e 'display notification "Your administrator started Resilio Connect Update. \nDo not reboot your computer" with title "Resilio Update"'

echo "Mounting disk image file"
hdiutil unmount "/Volumes/Resilio Connect Agent"/
hdiutil attach Resilio-Connect-Agent.dmg 

echo "Waiting Agent to shut down"
PID=$(cat ~/Library/Application\ Support/Resilio\ Connect\ Agent/sync.pid)
kill $PID
while ps -p $PID; do sleep 1;done;

echo "Promp user for admin password"
pw="$(osascript -e 'Tell application "System Events" to display dialog "Please enter your password to update Resilio Agent:" default answer "" with hidden answer' -e 'text returned of result' 2>/dev/null)" && /

echo "Removing existing Agent installation"
echo "$pw" | sudo -S rm -r -f /Applications/Resilio\ Connect\ Agent.app

echo -ne "Copy new Agent to Applications folder"
echo "$pw" | sudo cp -R /Volumes/Resilio\ Connect\ Agent/Resilio\ Connect\ Agent.app /Applications/
hdiutil unmount "/Volumes/Resilio Connect Agent"/

echo "Remove PID file before starting of agent "
echo "$pw" | sudo -S rm -f /Users/$(whoami)/Library/Application\ Support/Resilio\ Connect\ Agent/sync.pid

echo "Start new Agent, delay 10 seconds"
sleep 10
/Applications/Resilio\ Connect\ Agent.app/Contents/MacOS/Resilio\ Connect\ Agent &
osascript -e 'display notification "Resilio Connect Update complete. Restarting the agent..." with title "Resilio Update"'
osascript -e 'tell application "Resilio Connect Agent"' -e 'quit' -e 'end tell'
osascript -e 'delay 3'
osascript -e 'tell application "Resilio Connect Agent" to activate'
