#!/system/bin/sh
# call a userinit.sh script if it's present on the sdcard

TESTVAR=$(getprop init.userinit);
if [ "$TESTVAR" = "" ];
then
setprop init.userinit 1;

LOG="/system/bin/log -p w userinit: ";
$LOG "Start userinit handling"

SEQUENCEVAR=$(getprop init.mountsdext.done);
while [ "$SEQUENCEVAR" = "" ]
do
	$LOG "SD-ext still running, postponing"
	sleep 1;
	SEQUENCEVAR=$(getprop init.mountsdext.done);
done

$LOG "Userinit active!"

# EliteMod Tweaks
if [ -e /system/etc/elitemod.sh ];
then
		log -p i -t userinit "Executing /system/etc/elitemod.sh";
		logwrapper /system/bin/sh /system/etc/elitemod.sh;
fi;

# EliteKernel Tweaks
if [ -e /system/etc/elitemod_kernel.sh ];
then
  	log -p i -t userinit "Executing /system/etc/elitemod_kernel.sh";
		logwrapper /system/bin/sh /system/etc/elitemod_kernel.sh;
fi;

if [ "$SD_EXT_DIRECTORY" = "" ];
then
    SD_EXT_DIRECTORY=/sd-ext;
fi;

if [ -e $SD_EXT_DIRECTORY/userinit.sh ];
then
   log -p i -t userinit "Executing $SD_EXT_DIRECTORY/userinit.sh";
   busybox chmod +x $SD_EXT_DIRECTORY/userinit.sh;
   logwrapper /system/bin/sh $SD_EXT_DIRECTORY/userinit.sh;
   setprop cm.userinit.active 1;
fi;

if [ -d $SD_EXT_DIRECTORY/userinit.d ];
then
   logwrapper busybox run-parts $SD_EXT_DIRECTORY/userinit.d;
   setprop cm.userinit.active 1;
fi;

if [ -e /data/local/userinit.sh ];
then
   log -p i -t userinit "Executing /data/local/userinit.sh";
   busybox chmod +x /data/local/userinit.sh;
   logwrapper /system/bin/sh /data/local/userinit.sh;
   setprop cm.userinit.active 1;
fi;

if [ -d /data/local/userinit.d ];
then
   logwrapper busybox run-parts /data/local/userinit.d;
   setprop cm.userinit.active 1;
fi;

setprop init.userinit.done 1;
fi;
