#!/bin/sh

PKG_NAME="GoogleDriveClient"
OLD_PKG_NAME="GoogleDrive"
ETC_INITD="/usr/local/zy-pkgs/etc/init.d/${PKG_NAME}"
DO_NOT_CLEAR_GRIVE_CONFIG="/usr/local/zy-pkgs/config/${PKG_NAME}/DO_NOT_CLEAR_GRIVE_CONFIG"
CONFIG_DB="/usr/local/zy-pkgs/config/${PKG_NAME}/GoogleDrive.db"
OLD_CONFIG_DB="/usr/local/zy-pkgs/config/${OLD_PKG_NAME}/GoogleDrive.db"
EXEPATH="/usr/local/zy-pkgs/gui/${PKG_NAME}/pkgexe"
TOKEN=".grive"
STATE=".grive_state"
STATE_DRY=".grive_state_dry"
USER=".grive_user"
UPDATE=".grive_update"
LAST_SYNC=".grive_last_sync"
RESET_FLAG="/tmp/PKG_RESET"

$ETC_INITD shutdown

# Check need or not to reset config
if [ -f "${RESET_FLAG}" ]; then
	IS_RESET=`cat "${RESET_FLAG}" | grep "${PKG_NAME}"`
fi

if [ "${IS_RESET}" != "" ]; then
	# Remove config
	ACCOUNT_TABLE_EXIST=`sqlite3 ${CONFIG_DB} "SELECT COUNT(*) FROM sqlite_master WHERE type='table' and name='Account_Info'"`
	if [ $ACCOUNT_TABLE_EXIST -ne 0 ]; then
		ACCOUNT_COUNT=`sqlite3 ${CONFIG_DB} "SELECT COUNT(*) FROM Account_Info"`
		if [ $ACCOUNT_COUNT -ne 0 ]; then
			for index in `seq 1 $ACCOUNT_COUNT`; do
				SYNC_PATH=`sqlite3 ${CONFIG_DB} "SELECT sync_path FROM Account_Info ORDER BY rowid ASC LIMIT 1 OFFSET $(($index-1))"`
				rm "${SYNC_PATH}/${TOKEN}" > /dev/null 2>&1
				rm "${SYNC_PATH}/${USER}" > /dev/null 2>&1
				rm "${SYNC_PATH}/${STATE}" > /dev/null 2>&1
				rm "${SYNC_PATH}/${STATE_DRY}" > /dev/null 2>&1
				rm "${SYNC_PATH}/${UPDATE}" > /dev/null 2>&1
				rm "${SYNC_PATH}/${LAST_SYNC}" > /dev/null 2>&1
				$EXEPATH "pkg_gdrive_set_watch_path remove \"${SYNC_PATH}\""
			done
		fi
	fi
	rm -f ${CONFIG_DB}
	rm -f ${OLD_CONFIG_DB}
	rm -f ${DO_NOT_CLEAR_GRIVE_CONFIG}
fi

$EXEPATH "pkg_gdrive_set_fileye_status disable"
$EXEPATH "pkg_gdrive_set_grace_period 15"

exit 0
