#!/bin/bash

machines=("MIGT8X.amd64.v2.rev51 MIGT10X.amd64.v2.rev1 MIGT8X.amd64.v2.rev50 ZHISD.amd64.v1.rev1 IRUONYX.amd64.v1.rev1 \
LENOVOURU.amd64.v1.rev1 LENOVOERU.amd64.v1.rev1 CHUWIHI10X.amd64.v1.rev1 CHUWIUBOOKXPRO.amd64.v1.rev1 generic")
# LT11.arm64.v1.rev1 PINEPRO.arm64.v1.rev1 LIBREM5.arm64.v1.rev1")

#export TUIMODE="1"
LISTD="/tmp/instdev.list"
MENUFILE="/tmp/menu"
find /dev/ -name "*mmcblk[0-9]" > $LISTD 2> /dev/null
find /dev/ -name "nvme[0-9]n[0-9]" >> $LISTD 2> /dev/null
find /dev/ -name "*sd[a-z]" >> $LISTD 2> /dev/null
find /dev/ -name "*hd[a-z]" >> $LISTD 2> /dev/null

echo "Install" > $MENUFILE
echo "FactoryReset" >> $MENUFILE
echo "Exit" >> $MENUFILE
echo "Shutdown" >> $MENUFILE

CH=$(dialog --noitem --stdout --cancel-label "Exit" --backtitle "Astra Mobile Installer" --title " Action selection " --menu "Select action" 30 60 30 $(cat ${MENUFILE}) )
if [[ "$?" == "255" || "$?" == "1" ]] ;then
    echo "ESC/Exit pressed .. exit.."
    exit 1
fi
echo "The user choice action $CH"

if [ $CH == "Install" ] ;then
    DEV=$(dialog --noitem --stdout --cancel-label "Exit" --backtitle "Astra Mobile Installer" --title " Device selection "  --menu "Choose device to install" 30 60 30 $(cat ${LISTD}) )
    if [[ "$?" == "255" || "$?" == "1" ]] ;then
        echo "ESC/Exit pressed .. exit.."
        exit 1
    fi
    echo "Install device: $DEV"
    MTYPE=$(dialog --noitem --stdout --cancel-label "Exit" --backtitle "Astra Mobile Installer" --title " Machine selection "  --menu "Choose machine" 30 60 30 ${machines} )
    if [[ "$?" == "255" || "$?" == "1" ]] ;then
        echo "ESC/Exit pressed .. exit.."
        exit 1
    fi
    echo "Machine type:  $MTYPE"
    /opt/astra-mobile-install -s -d $DEV -m $MTYPE
    #nohup /opt/astra-mobile-install -s -d $DEV &
    #ILOG=$(find /var/log/ -type f -name astra-mobile-install.*log)
    #dialog --title " Installer log " --exit-label " Close log " --tailbox $ILOG 30 60
    dialog --msgbox "System Installed. \nPress OK to shutdown system. \nDon't forget to remove USB after shutdown." 30 60
    shutdown -h now
elif [ $CH == "FactoryReset" ] ;then
    DEV=$(dialog --noitem --stdout --cancel-label "Exit" --backtitle "Astra Mobile Installer" --title " Device selection "  --menu "Choose device for reset" 30 60 30 $(cat ${LISTD}) )
    if [[ "$?" == "255" || "$?" == "1" ]] ;then
        echo "ESC/Exit pressed .. exit.."
        exit 1
    fi
    echo "FactoryReset - device $DEV"
    /opt/astra-mobile-install -f -d $DEV
    dialog --msgbox "System Factory Reset done. \nPress OK to shutdown system. \nDon't forget to remove USB after shutdown." 30 60
    if [[ "$?" == "255" || "$?" == "1" ]] ;then
        echo "ESC/Exit pressed .. exit.."
        exit 1
    fi
    shutdown -h now
elif [ $CH == "Exit" ] ;then
    echo "Exit.."
    exit 0
elif [ $CH == "Shutdown" ] ;then
    echo "Shutdown"
    shutdown -h now
fi
