#!/bin/bash

echo -e "\e[1;93mExample :- \e[1;92m/home/user/Desktop/example.apk]"

adb devices | sed -n '2,$p' | awk '{ print $1 }' > .temp/dev_list_temp 2> /dev/null
dev=(`cat .temp/dev_list_temp`)
dev=("${dev[@]}")
dev_1=$(echo "${dev[0]}")
dev_2=$(echo "${dev[1]}")
dev_3=$(echo "${dev[2]}")

## DEVICE MODEL EXTARCT ##

adb devices -l | grep model > .temp/dev_list_model_temp 2> /dev/null
model=(`cat .temp/dev_list_model_temp`)
model=("${model[@]}")
mod_1=$(echo "${model[4]}" | cut -c 7- )
mod_2=$(echo "${model[11]}" | cut -c 7- )
mod_3=$(echo "${model[18]}" | cut -c 7- )


if [ "$dev_1" == "" ]
    then
        total_dev=0
    else
        total_dev=1
        if [ "$dev_2" == "" ]
            then
                total_dev=1
            else
                total_dev=2
                if [ "$dev_3" == "" ]
                    then
                        total_dev=2
                    else
                        total_dev=3
                fi
        fi        
fi

apk_install () {

        if [ "$to_install" == "0" ]
            then
                adb -s $devv install -r $apk_file_paths &> /dev/null
                if [ "$?" == "0" ]
                    then
                        echo -e "\n\e[1;92mSuccessfully installed the 'apk' into device $modd\n"
                    else
                        echo -e "\n\e[1;91mFailed installing the 'apk' into device $modd\n"
                fi
        fi
}

apk_file_selector () {

  read -p $'\e[1;91mEnter the path of the apk file\e[0m \e[24;1;97m : ' apk_file_paths
  if [ "$apk_file_paths" = "" ]
    then
          echo -e "No path provided please provide the path to the apk file."
          apk_file_selector
    else
         if [ -f $apk_file_paths ]
           then
               echo -e "\n\nUsing the provided file.\n\n"
               apk_install
               to_install=0
           else
               echo -e "The provided file does not exist please provide another pdf file or check the entered path\n"
               to_install=1
               apk_file_selector
         fi
  fi

}



dev_1_inst () {

                echo -e "\n\e[1;92mInstalling the 'apk' into device $mod_1\n"
                devv=$(echo $dev_1)
                modd=$(echo $mod_1)                
                apk_file_selector
                apk_install

}

dev_2_inst () {

                echo -e "\n\e[1;92mInstalling the 'apk' into device $mod_2\n"
                devv=$(echo $dev_2)
                modd=$(echo $mod_2)
                apk_file_selector
                apk_install
                
}

dev_3_inst () {

                echo -e "\n\e[1;92mInstalling the 'apk' into device $mod_3\n"
                devv=$(echo $dev_3)
                modd=$(echo $mod_3)
                apk_file_selector
                apk_install
                
}

if [ "$total_dev" ==  "0" ]
    then
        echo -e "\e[91;1mNO DEVICE CONNECTED"
    else
        if [ "$total_dev" == "1" ]
            then
                
                dev_1_inst

            else
                if [ "$total_dev" == "2" ]
                    then
                        echo -e "\e[93mSelect the device to install 'apk' :- \e[92m\n"
                        echo -e "\e[93m1. \e[92m$dev_1 , \e[93mModel : \e[92m$mod_1"
                        echo -e "\e[93m2. \e[92m$dev_2 , \e[93mModel : \e[92m$mod_2"
                        while [ 1 ]; do
                            read -p $'\n\e[1;4;91mEnter here\e[0m\e[24;1;97m : ' options
                            case $options in
                            "1") dev_1_inst; break;;
                            "2") dev_2_inst; break;;
                              *) echo -e "\n\e[1;4;91mENTER THE RIGHT OPTION BRO :- (1/2)\n";;
                            esac
                        done
                    else
                        if [ "$total_dev" == "3" ]
                            then
                                echo -e "\e[93mSelect the device to install 'apk' :- \e[92m\n"
                                echo -e "\e[93m1. \e[92m$dev_1 , \e[93mModel : \e[92m$mod_1"
                                echo -e "\e[93m1. \e[92m$dev_2 , \e[93mModel : \e[92m$mod_2"
                                echo -e "\e[93m1. \e[92m$dev_3 , \e[93mModel : \e[92m$mod_3"
                        while [ 1 ]; do
                            read -p $'\n\e[1;4;91mEnter here\e[0m\e[24;1;97m : ' options
                            case $options in
                            "1") dev_1_inst; break;;
                            "2") dev_2_inst; break;;
                            "3") dev_3_inst; break;;
                              *) echo -e "\n\e[1;4;91mENTER THE RIGHT OPTION BRO :- (1/2/3/)\n";;
                            esac
                        done
                        fi
                fi  
                        
        fi
fi


read -p $'\n\e[93;1mDo you want to clear the screen \e[1;97m (y/N) \e[93;1m? : \e[1;91m' yn
case $yn in
  [Yy]* ) clear; bash modules/funtion.sh;;
  [Nn]* ) bash modules/funtion.sh;;
  * ) bash modules/funtion.sh;;
esac
