#!/bin/bash

#================================================================================
# Инициализация
#================================================================================

# Определяем местоположение скрипта
SCRIPT_PATH=$(dirname "$(readlink -f "$0")")
# Импортируем функции
source $SCRIPT_PATH/ini_reader

KIOSK_CONFIG_PATH='/etc/mobile-kiosk/mobile-kiosk.conf'
WAYDROID_SESSION_CONFIG_PATH='/etc/astra-mobile/astra-mobile-waydroid.ini'

#================================================================================
# Функции
#================================================================================

function isKiosk() {
    iniSectionExists "$USER" "$KIOSK_CONFIG_PATH"
}

function isKioskSingleMode() {
    local single=$(iniGetValue "$USER" 'SingleMode' 'false' "$KIOSK_CONFIG_PATH")
    [ "$single" == "true" ]
}

function getKioskSingleModeApp() {
    local appsStr=$(iniGetValue "$USER" 'Applications' '' "$KIOSK_CONFIG_PATH")
    echo $appsStr | awk -F ',' '{ print $1 }'
}

function isKioskSingleModeWaydroidApp() {
    local app=''

    if $(isKiosk) && $(isKioskSingleMode); then
        app=$(getKioskSingleModeApp)
    fi

    [[ $app == waydroid.* ]]
}

function isWaydroidSessionAutoStart() {
    local autoStart=$(iniGetValue "Session" 'autoStart' 'true' "$WAYDROID_SESSION_CONFIG_PATH")
    [ "$autoStart" == "true" ]

}

function startWaydroidSessionIfNeed() {
    if $(isWaydroidSessionAutoStart); then
        waydroid session start &

        for ((i = 1; i <= 20; i++)); do
            echo "wait $i" >> /tmp/waydroid_wait_success.log
            if waydroid iplatform status 2>&1 | grep -qi "success"; then
                sleep 1
                return
            fi
        done

        echo restart >> /tmp/waydroid_wait_success.log

        waydroid session stop &
        sleep 1
        waydroid session start &
    fi
}

#================================================================================
# main
#================================================================================

function main() {
    if ! $(isKioskSingleModeWaydroidApp); then
        startWaydroidSessionIfNeed
    fi
}

main
