#!/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="anydesk"
latest_package_version="6.4.2"
package_installation_directory="/opt/$package_name"
command_install_package="tar -vzxf "
package_files_installation="$(echo $package_name)-$(echo $latest_package_version)-amd64.tar.gz"
package_download_name="$(echo $package_name)-$(echo $latest_package_version)-amd64.tar.gz"
download_link="https://download.anydesk.com/linux/$(echo $package_name)-$(echo $latest_package_version)-amd64.tar.gz"
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
    # 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

    #Extract the main package
    cd $package_installation_directory/

    #Install package
    $command_install_package $package_files_installation -C $package_installation_directory/
else
    #Get the app
    mkdir -p $package_installation_directory/
    wget --no-check-certificate -O $package_installation_directory/$package_download_name $download_link

    #Extract the main package
    cd $package_installation_directory/

    #Install package
    $command_install_package $package_files_installation -C $package_installation_directory/
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 "/usr/bin/anydesk" ; then
		update_app
	else
		echo "App version: $latest_package_version. The application appears to be updated. Nothing to do."
	fi
fi
