#!/system/bin/sh

configfs="$(getprop sys.usb.configfs)"
export configfs

setprop service.adb.root 1

if [ "$configfs" == 1 ];then
	mount -t configfs none /config
	rm -Rf /config/usb_gadget
	mkdir -p /config/usb_gadget/g1

	echo 0x12d1 > /config/usb_gadget/g1/idVendor
	echo 0x103A > /config/usb_gadget/g1/idProduct
	mkdir -p /config/usb_gadget/g1/strings/0x409
	echo phh > /config/usb_gadget/g1/strings/0x409/serialnumber
	echo phh > /config/usb_gadget/g1/strings/0x409/manufacturer
	echo phh > /config/usb_gadget/g1/strings/0x409/product

	mkdir /config/usb_gadget/g1/functions/ffs.adb
	mkdir /config/usb_gadget/g1/functions/mtp.gs0
	mkdir /config/usb_gadget/g1/functions/ptp.gs1

	mkdir /config/usb_gadget/g1/configs/c.1/
	mkdir /config/usb_gadget/g1/configs/c.1/strings/0x409
	echo 'ADB MTP' > /config/usb_gadget/g1/configs/c.1/strings/0x409/configuration

	mkdir /dev/usb-ffs
	chmod 0770 /dev/usb-ffs
	chown shell:shell /dev/usb-ffs
	mkdir /dev/usb-ffs/adb/
	chmod 0770 /dev/usb-ffs/adb
	chown shell:shell /dev/usb-ffs/adb

	mount -t functionfs -o uid=2000,gid=2000 adb /dev/usb-ffs/adb

	/system/bin/adbd &

	sleep 1
	echo none > /config/usb_gadget/g1/UDC
	ln -s /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/c.1/f1
	echo ff100000.dwc3 > /config/usb_gadget/g1/UDC

	sleep 2
	echo 2 > /sys/devices/virtual/android_usb/android0/port_mode
else
	mkdir /dev/usb-ffs
	chmod 0770 /dev/usb-ffs
	chown shell:shell /dev/usb-ffs
	mkdir /dev/usb-ffs/adb/
	chmod 0770 /dev/usb-ffs/adb
	chown shell:shell /dev/usb-ffs/adb

	mount -t functionfs -o uid=2000,gid=2000 adb /dev/usb-ffs/adb
	echo adb > /sys/class/android_usb/android0/f_ffs/aliases
	setprop sys.usb.config adb

	echo 0 > /sys/class/android_usb/android0/enable
	echo 18d1 > /sys/class/android_usb/android0/idVendor
	echo 4EE7 > /sys/class/android_usb/android0/idProduct 4EE7
	echo adb > /sys/class/android_usb/android0/functions
	getprop ro.boot.serialno |tr -d '\n' |cat > /sys/class/android_usb/android0/iSerial
	echo phh > /sys/class/android_usb/android0/iManufacturer
	echo phh > /sys/class/android_usb/android0/iProduct
	echo 1 > /sys/class/android_usb/android0/enable

	/system/bin/adbd &
fi

sleep 30
