#!/system/bin/sh
#
# initial idea taken from "screenstate_scaling" by florian.schaefer & "battery tweak" by collin_ph@xda
# by freeza for freEVO LTE ROM

AWAKE_MODE() # Screen-ON
{
# VM parameters
	echo 512,1024,1280,2048,3072,4096 > /sys/module/lowmemorykiller/parameters/minfree;
}

SLEEP_MODE()# Screen-OFF
{
# VM parameters
	echo 2560,4096,6144,7680,8704,10240 > /sys/module/lowmemorykiller/parameters/minfree;
}
	
MAX_PHONE() # remove lag when answering phone calls
{
pidphone=`pidof com.android.phone`;
if [ $pidphone ];
then
	echo -17 > /proc/$pidphone/oom_adj; # exclude com.android.phone from oom-killer
	renice -20 $pidphone; # set highest nice level for com.android.phone
	exit;
else
	sleep 1;
	MAX_PHONE;
fi;
}

# Background process to check screen state
	(while [ 1 ]; 
	do
		cat /sys/power/wait_for_fb_wake;
		AWAKE_MODE;

		cat /sys/power/wait_for_fb_sleep;
		SLEEP_MODE;
	done &);

# One-time process to optimize com.android.phone
	(while [ 1 ];
	do
		sleep 10;
		MAX_PHONE;
	done &);
