#!/usr/bin/env bash

if [[ `id -u` -ne 0 ]]; then
    for group in dialout lock; do
	if ! groups $USER | grep -q " : .*\b$group\b"; then
	    missing_groups="$missing_groups\n$group"
	fi
    done

    if [[ -n $missing_groups ]] && zenity --title=Arduino --window-icon=/usr/share/icons/hicolor/16x16/apps/arduino.png --question --text "You need to be a member of the following groups to upload code to an Arduino microcontroller over the USB or serial ports:\n$missing_groups" --ok-label='Add' --cancel-label='Ignore'; then
	pkexec /usr/bin/arduino-add-groups \
	&& zenity --title=Arduino --window-icon=/usr/share/icons/hicolor/16x16/apps/arduino.png --info --text "You must log out and log in again before any changes will take effect."
    fi
fi

. /usr/share/java-utils/java-functions
MAIN_CLASS=processing.app.Base
set_classpath bcprov bcpg commons-codec commons-compress commons-exec commons-httpclient commons-lang3 commons-logging ecj guava jackson-annotations jackson-core jackson-databind jackson-modules-base jmdns jna jsch jsemver jssc objectweb-asm rsyntaxtextarea
for lib in /usr/share/arduino/lib/*.jar; do
    CLASSPATH="$CLASSPATH:$lib"
done

if [[ "$@" == *"--upload"* || "$@" == *"--verify"* || "$@" == *"--get-pref"* || "$@" == *"--install-board"* || "$@" == *"--install-library"* ]] ; then
	SPLASH=""
else
	SPLASH="-splash:./lib/splash.png"
fi

export JAVA_TOOL_OPTIONS=`echo $JAVA_TOOL_OPTIONS | sed 's|-javaagent:/usr/share/java/jayatanaag.jar||g'`

set_flags -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel $SPLASH
cd /usr/share/arduino
run "$@"
