#!/system/bin/sh

if [ "$SD_EXT_DIRECTORY" = "" ];
then
	SD_EXT_DIRECTORY=/sd-ext
fi
if [ "`egrep -q $SD_EXT_DIRECTORY /proc/mounts;echo $?`" != "0" ];
then
	echo "$SD_EXT_DIRECTORY not mounted.. skipping a2sd"
	exit
fi
umount /system/vendor/app
for dir in app app-private dalvik-cache vendor/app;do
	if [ "`egrep -q \"/data/${dir}\" /proc/mounts;echo $?`" != "0" ];
	then	
		if [ ! -e "${SD_EXT_DIRECTORY}/${dir}" ];
		then
			install -m 771 -o 1000 -g 1000 -d ${SD_EXT_DIRECTORY}/${dir}
		fi
		if [ -L "/data/${dir}" ];
		then
			busybox rm /data/${dir}
			install -m 771 -o 1000 -g 1000 -d /data/${dir}
		fi
		if [ "${dir}" = "dalvik-cache" ];
		then
			if [ ! -L "/data/${dir}" ];
			then
				busybox rm -rf /data/${dir}
				install -m 771 -o 1000 -g 1000 -d /data/${dir}
			fi
		fi
		if [ "${dir}" = "app" ] || [ "${dir}" = "app-private" ] || [ "${dir}" = "vendor/app" ];
		then
			for app in `find /data/${dir} -type f -iname "*.apk" -o -iname "*.zip"`;do
				busybox mv ${app} ${SD_EXT_DIRECTORY}/${dir}/
			done
		fi
		mount -o bind ${SD_EXT_DIRECTORY}/${dir}/ /data/${dir}
	fi
done
mount -o bind ${SD_EXT_DIRECTORY}/vendor/app /system/vendor/app
