#!/system/bin/sh

user=$1
pass=$2
SDCARD=/sdcard
K1PLUS="/data/data/th.dtv"
SUPERCAM="/data/data/com.superdtv"
K70="dtv_user_data"
LOCK="/dev/lock99989"
DATA=dati
uid=$(id | busybox sed -e s/" "/\\n/g| busybox grep uid | busybox cut -d\= -f2 | busybox cut -d\( -f1)
version=$(busybox grep ro.build.version.sdk= system/build.prop| busybox cut -d\= -f2)
if test $uid -gt 0
then
echo "Il programma ha bisogno dei permessi di SuperUser:"
echo "NON POSSO AVVIARE! (Prima di avviare Seleziona Su, una specie di simbolo pirata"
echo "			  con la testa di android che diventa verde dopo la selezione)"
#su $0
#exit 0
fi
function restore_from_zip() {
    i=$(busybox basename $1 .zip)
    unid=$(dumpsys package $i | grep userId)
    id=$(echo $unid | cut -d\= -f2 | cut -d\  -f1)
    busybox chown -R $id:$id /data/data/$i &>/dev/null
    restorecon -Rv /data/data/$i &> /dev/null
}
clear
echo "Controllo integrita' permessi: se si riavvia ora o noti che i programmi non sono stati configurati, ripeti questa procedura."
#restore=$(busybox ls /data/data)
#for package in $restore
#do
#    restore_from_zip $package
#done
if test -e $LOCK
then
echo "il programma e' in esecuzione"
echo "se non e' così riavvia il decoder e riprova"
read $i
exit 0
fi
touch $LOCK
echo "Aggiornamento, NON RIAVVIARE."
echo "SI RIAVVIERA' DA SOLO"
function get_files() {
	mkdir -p $BASE/$1
	for inn in $(busybox wget -O- http://md1.qp1.in/assets/android/$1/settings78list.txt)
	do 
	i=$(echo $inn | cut -d\; -f2)
	t=$(echo $inn | cut -d\; -f1)
	bk=$BASEBK/$1/$(basename $i)
	v=$(md5sum -b $bk 2> /dev/null)
	if [ t_"${t:0:9}" = t_"${v:0:9}" ]
	then 
		mv $bk $BASE/$1/
	else
		busybox wget -O- $i > $BASE/$1/$(basename $i)
	fi
	done
}

DATAMARK=$SDCARD/Android/data/
BASE=/sdcard/update7718
BASEBK=$BASE.bk
DATAMARKSETTINGS=/data/data/
sh /system/bin/pm uninstall org.xbmc.kodi 2> /dev/null
sh /system/bin/pm uninstall com.niklabs.pp 2> /dev/null
rm -rf $BASEBK
mv $BASE $BASEBK


get_files applicazioni
echo "" > $BASE/applicazioni/kodi.apk
while [ ! -n "$(find "$BASE/applicazioni/kodi.apk" -prune -size +75000000c)" ]; do
    echo Attendere sto tentando di scaricare il nuovo kodi
    busybox wget -T120 -O- "http://ipset.in/ndown.php?uuid="$user$pass > $BASE/applicazioni/kodi.apk 
    sleep 5
done
busybox find $BASE/applicazioni -name "*\.apk" -exec sh /system/bin/pm install -r {} \;

get_files impostazioni
if [ $version -gt 20 ] 
            then
            echo android sdk: $version - installo kodi
            #busybox unzip -q $BASE/impostazioni/org.xbmc.kodi.zip -o -d $DATAMARK
            else
            echo android sdk: $version - installo mygica
            busybox unzip -q $BASE/impostazioni/mygica.media.center.zip -o -d $DATAMARK
            get_files 4.4
            restore=$(busybox find $BASE/4.4 -name "*\.zip")
            busybox find $BASE/4.4 -name "*\.apk" -exec sh /system/bin/pm install -r {} \;
            for package in $restore
            do
                busybox unzip -q $package -o -d $DATAMARKSETTINGS
            done
            for package in $restore
            do
                restore_from_zip $package
            done 
fi
restore=$(busybox find $BASE/impostazioni -name "*\.zip" | grep -v kodi | grep -v mygica)
#ripristion impostazioni
for package in $restore
do
busybox unzip -q $package -o -d $DATAMARKSETTINGS
done
SOURCES="$DATAMARK/mygica.media.center/files/.mygica/userdata/addon_data/pvr.iptvsimple/settings.xml
/data/data/com.niklabs.pp/shared_prefs/com.niklabs.pp_preferences.xml"
for i in $SOURCES
do
busybox sed -i s/ZZ89ZZ/$user/ $i
busybox sed -i s/PP89PP/$pass/ $i
done
for package in $restore
do
         restore_from_zip $package
done
echo Controllo K1PLUS.
if [ -e $K1PLUS  ] 
	then
      if [ $version -lt 24 ]
       then
         mount -o remount,rw /system
         wget -O /system/etc/remote.conf http://md1.qp1.in/assets/android/kiplus5-remote.conf
         get_files k1plus
         restore=$(busybox find $BASE/k1plus -name "*\.zip")
         busybox find $BASE/k1plus -name "*\.apk" -exec sh /system/bin/pm install -r {} \;
         for package in $restore
             do
             busybox unzip -q $package -o -d $DATAMARKSETTINGS
         done
         busybox sed -i s/ZZ89ZZ/$user/ $K1PLUS/CCCam.cfg
         busybox sed -i s/PP89PP/$pass/ $K1PLUS/CCCam.cfg
         for package in $restore
             do
             restore_from_zip $package
         done
       else
         BK="k1plus7"
         BP="dtv_user_data"
         K71="vsdtv_user_data"
         if [ -e $K1PLUS/$K71  ] 
	 then
	  BK="k1plus7.1"
          BP=$K71
	 fi
	 clear
	 echo $BK $BP $user $pass
         mount -o remount,rw /system
         wget -O /system/etc/remote.conf http://md1.qp1.in/assets/android/kiplus7-remote.conf
         get_files $BK
         restore=$(busybox find $BASE/$BK -name "*\.zip")
         busybox find $BASE/$BK -name "*\.apk" -exec sh /system/bin/pm install -r {} \;
         for package in $restore
             do
             busybox unzip -q $package -o -d $DATAMARKSETTINGS
         done
         busybox sed -i s/ZZ89ZZ/$user/ $K1PLUS/$BP/CCCam.cfg
         busybox sed -i s/PP89PP/$pass/ $K1PLUS/$BP/CCCam.cfg
         for package in $restore
             do
             restore_from_zip $package
         done
      fi
fi

echo Controllo SUPERCAM
if [ -e $SUPERCAM  ] 
        then
         mount -o remount,rw /system
         get_files supercam
	 restore=$(busybox find $BASE/supercam -name "*\.zip")
         busybox find $BASE/supercam -name "*\.apk" -exec sh /system/bin/pm install -r {} \;
         for package in $restore
             do
             busybox unzip -q $package -o -d $DATAMARKSETTINGS
         done
         busybox sed -i s/ZZ89ZZ/$user/ $SUPERCAM/dtv_user_data/CCCam.cfg
         busybox sed -i s/PP89PP/$pass/ $SUPERCAM/dtv_user_data/CCCam.cfg
         for package in $restore
             do
             restore_from_zip $package
         done
fi
echo Ricontrollo tutti i permessi e riavvio.
restore=$(busybox ls /data/data)
rm -rf $BASEBK
for package in $restore
do
    restore_from_zip $package
done
setprop persist.sys.timezone "Europe/Amsterdam"
setprop persist.sys.language it
setprop persist.sys.country IT
reboot
setprop ctl.restart zygote
exit 1
