#!/system/bin/sh

grep -oE 'init_[0-9_]+' /vendor/etc/selinux/nonplat_sepolicy.cil | \
	uniq | \
	sort -n | \
	head -n 1 | \
	sed -E 's/.*init_([0-9]+).*/\1/g' | \
while read version;do
	setprop persist.sys.vndk $version
done

mount -o bind /system/bin/adbd /sbin/adbd
if ( getprop ro.hardware | grep -qE '(kirin970|hi3660|hi6250|hi3670)' );then
	FOUND_HUAWEI=1
	setprop persist.sys.bt_acl_bypass true
	setprop persist.sys.camera.huawei true
	setprop persist.sys.radio.huawei true
fi

if getprop ro.vendor.build.fingerprint |grep -qiE '(huawei|honor|hi3660)' || [ -n "$FOUND_HUAWEI" ];then
	FOUND_HUAWEI=1
	setprop persist.sys.overlay.huawei true
fi

if [ -n "$FOUND_HUAWEI" ];then
	setprop debug.hwui.profile true
fi

if getprop ro.hardware |grep -qiE -e qcom -e judyln;then
	FOUND_QCOM=1
	setprop persist.sys.overlay.devinputjack true
fi

