#!/system/bin/sh

SETTING_FILE="/data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml"

cat /sys/class/net/eth0/flags | grep -q 0x1003
ret=$?
prop="$(getprop persist.eth.disabled_manually)"
if [ $ret -ne 0 -a "$prop" = "true" ] ; then
	echo "ethernet not enabled: stopping now"
	exit 0
fi

# the settings file exists
if [ -e "$SETTING_FILE" ] ; then
	# the Ethernet configuration was touched
	grep -q "ethernet_mode_select" "$SETTING_FILE"
	if [ $? -eq 0 ] ; then
		# it's not in DHCP
		grep -q "ethernet_mode_select.*DHCP" "$SETTING_FILE"
		ret=$?
		if [ $ret -ne 0 ] ; then
			echo "not set in DHCP: stopping now"
			exit 0
		fi
	fi
fi

ip route | grep -q 'dev eth0'
has_eth0_route=$?
eth0_rules="$(ip route show table eth0 2> /dev/null)"
if [ $has_eth0_route -eq 0 -a -n "$eth0_rules" ] ; then
	echo "IP and routing for eth0 already present"
	exit 0
fi

am broadcast -a set_ethernet_power --es power_key "off"
sleep 5
am broadcast -a set_ethernet_power --es power_key "on"

echo "done"

exit 0
