#!/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
for dir in app app-private dalvik-cache;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
			rm /data/${dir}
			install -m 771 -o 1000 -g 1000 -d /data/${dir}
		fi
		if [ "${dir}" = "dalvik-cache" ];
		then
			if [ ! -L "/data/${dir}" ];
			then
				rm -rf /data/${dir}
				install -m 771 -o 1000 -g 1000 -d /data/${dir}
			fi
		fi
		if [ "${dir}" = "app" -o "${dir}" = "app-private" ];
		then
			for app in `find /data/${dir} -type f -iname "*.apk" -o -iname "*.zip"`;do
				mv ${app} ${SD_EXT_DIRECTORY}/${dir}/
			done
		fi
		mount -o bind ${SD_EXT_DIRECTORY}/${dir}/ /data/${dir}
	fi
done
rm -rf ${SD_EXT_DIRECTORY}/download
install -m 775 -o 1000 -g 2001 -d ${SD_EXT_DIRECTORY}/download
mount -o bind ${SD_EXT_DIRECTORY}/download /cache/download
