#!/bin/bash
# This script only helps to update applications that have already been installed by the user,
# but that are not found in software repositories.

# Package information
package_name="genymotion"
latest_package_version="3.9.0"
package_installation_directory="/opt/genymobile"
executable_file="/opt/genymobile/genymotion/genymotion"
package_download_name="$package_name-$latest_package_version-linux_x64.bin"
download_link="https://dl.genymotion.com/releases/genymotion-$latest_package_version/$package_download_name"
command_install_package="/bin/bash $package_installation_directory/$package_download_name --yes"
expected_package_version=$(echo $latest_package_version | cut -d"-" -f -1 | sed "s/\.//g")
installed_package_version=$(rpm -qi $package_name-updater | grep Ver | awk '{print $3}' | sed "s/\.//g")

# If necessary, update the application installation
function update_app() {
ps -C regataos-store > /dev/null
if [ $? = 0 ]
then
    if test -e "/tmp/progressbar-store/installing-$package_name" ; then
        # Prepare the progress bar and downloading
        rm -f "/tmp/progressbar-store/progress-movement"
        echo "0%" > /tmp/progressbar-store/progress
        echo "Downloading..." > /tmp/progressbar-store/status
        chmod 777 /tmp/progressbar-store/*
        sleep 1
        echo "show progress bar" > /tmp/progressbar-store/progressbar
        chmod 777 /tmp/progressbar-store/*

        echo "/tmp/progressbar-store/$package_download_name" > /tmp/progressbar-store/file-download-size
        chmod 777 /tmp/progressbar-store/*
        echo "wget --no-check-certificate -O $package_installation_directory/$package_download_name $download_link" > /tmp/progressbar-store/get-pid
        mkdir -p $package_installation_directory/
        wget --no-check-certificate -O $package_installation_directory/$package_download_name $download_link 2>&1 | (pv -n > /tmp/progressbar-store/download-percentage)
        echo 100% > /tmp/progressbar-store/progress
        chmod 777 /tmp/progressbar-store/*
        sleep 1
        #Clear cache
        rm -f "/tmp/progressbar-store/download-percentage"
        rm -f "/tmp/progressbar-store/download-size"
        rm -f "/tmp/progressbar-store/download-speed"
        rm -f "/tmp/progressbar-store/file-size"
        rm -f "/tmp/progressbar-store/eta"

        # Install app
        #Prepare the progress bar and install
        chmod 777 /tmp/progressbar-store/*
        echo "Installing..." > /tmp/progressbar-store/status
        echo "" > /tmp/progressbar-store/progress
        echo "installing" > /tmp/progressbar-store/progress-movement

        #Install package
        binary=$(echo $package_installation_directory/$package_download_name) 
        chmod +x $binary
        $command_install_package

    else
        #Get the app
        mkdir -p $package_installation_directory/
        wget --no-check-certificate -O $package_installation_directory/$package_download_name $download_link

        #Install package
        binary=$(echo $package_installation_directory/$package_download_name) 
        chmod +x $binary
        $command_install_package
    fi
else
    #Get the app
    mkdir -p $package_installation_directory/
    wget --no-check-certificate -O $package_installation_directory/$package_download_name $download_link

    #Install package
    binary=$(echo $package_installation_directory/$package_download_name) 
    chmod +x $binary
    $command_install_package
fi
}

# Check the package version
#Check the main version of the application
if [ $expected_package_version -gt $installed_package_version ]
then
    echo "Updating app"
    update_app
else
	if test ! -e "$executable_file" ; then
		echo "Installing app"
		update_app
	else
		echo "App version: $latest_package_version. The application appears to be updated. Nothing to do."
	fi
fi
