#!/system/bin/sh

function mount_pdm()
{
	#Try to mount device
	mkdir /mnt/obb/pdm
	if [ $? -eq 0 ]; then
		log "production mkdir /mnt/pdm OK"
	else
		log "production mkdir /mnt/pdm failed" 
	fi

	for i in $(busybox seq 10)
	do 
		mount -t ext4 /dev/block/mtd/by-name/factory /mnt/obb/pdm
		if [ $? -eq 0 ]; then
			log "production mount -t factory OK"
			break;
		else
			log "production try $i time, mount factory failed;" 
			busybox usleep 1000000
		fi
		
	done

}

function unmount_pdm()
{
	umount /mnt/obb/pdm
	rmdir /mnt/obb/pdm
}
log "production service"
case $1 in 
check)  if [ -e /data/PDM_CHECKED ]; then
		if [ -e /data/PDM.ini ]; then
		setprop sys.kh.production_mode true
		setprop sys.kh.production_mode_check true
		setprop ro.test_harness true
		log "production checked; production_mode true"
		else
		setprop sys.kh.production_mode false
		log "production checked; production_mode false"
		fi
	else
		mount_pdm
		if [ -e /mnt/obb/pdm/PDM.ini ]; then
		setprop sys.kh.production_mode true
		setprop sys.kh.production_mode_check true
		setprop ro.test_harness true
		log "production set production_mode true"
		cp /mnt/obb/pdm/PDM.ini /data/PDM.ini
		else
		setprop sys.kh.production_mode false
		setprop sys.kh.production_mode_check false
		log "set production_mode false"
		fi
		echo hahaha > /data/PDM_CHECKED
		unmount_pdm
	fi

	
	if [ -e /data/sensor_acc.dat1 ]; then
		log "have sensor acc cali"
	else
		mount_pdm
		if [ -e /mnt/obb/pdm/sensor_acc.dat1 ]; then
		cp /mnt/obb/pdm/sensor_acc.dat1 /data/sensor_acc.dat1
		chown system:system /data/sensor_acc.dat1
		log "get sensor acc cali"
		else
		log "no sensor acc cali"
		fi
		unmount_pdm
	fi
	;;
clear)  mount_pdm
	if [ -e /mnt/obb/pdm/PDM.ini ]; then
	setprop sys.kh.production_mode false
	setprop sys.kh.production_mode_check false
	setprop sys.pm.service.set false
	setprop ro.test_harness false
	rm /mnt/obb/pdm/PDM.ini
	log "set production_mode false and rm PDM.ini"
	fi
	unmount_pdm
	;;
set) 	mount_pdm
	if [ !  -e /mnt/obb/pdm/PDM.ini ]; then
	echo PDM > /mnt/obb/pdm/PDM.ini
	cp /mnt/obb/pdm/PDM.ini /data/PDM.ini
	setprop sys.kh.production_mode true
	setprop sys.kh.production_mode_check true
	setprop ro.test_harness true
	log "echo  > PDM.ini and set production_mode true"
	fi
	unmount_pdm
	;;
root)   setprop sys.kh.production_mode true
	setprop sys.kh.production_mode_check true
	log "echo  > sdcard set production_mode true"
	;;
netcfg_ww) mount_pdm
	if [ -e /mnt/obb/pdm/PDM.ini ]; then
	netcfg wwan0 dhcp
	fi
	unmount_pdm
	;;
*) log "Inputting error parameter";;
esac
sync

