#!/bin/sh

# Wait for the property system to be up.
while [ ! -e /dev/socket/property_service ]; do sleep 0.1; done

# Wait for nvram to be loaded.
while [ "$(getprop vendor.service.nvram_init)" != "Ready" ]; do sleep 0.2; done
while [ "$(getprop vendor.mtk.nvram.ready)" != "1" ]; do sleep 0.2; done

# enable Wi-Fi adapter in client mode
while [ ! -e /dev/wmtWifi ]; do sleep 0.2; done
echo S > /dev/wmtWifi

# enable WDS
# setprop ubuntu.widi.supported 1

# set wifi.interface property since urfkill.conf expects that
setprop wifi.interface wlan0

# Enable WoWLAN to avoid network disconnect before suspend
while [ ! -e /sys/class/ieee80211/phy0 ]; do sleep 1; done
iw phy phy0 wowlan enable magic-packet

# Zram
swapoff /dev/zram0
zramctl -s 3000M /dev/zram0
mkswap /dev/zram0
swapon /dev/zram0

setprop ctl.stop time_daemon

# Stop an endless cycle of restarting and failing 'vendor.camera-provider-2-4',
# as Waydroid connects to the one on the host-side binder interface
if [ ! -f /var/lib/waydroid/overlay/vendor/etc/init/camera-provider-hack.rc ]; then
    mkdir -p /var/lib/waydroid/overlay/vendor/etc/init
    echo "on property:sys.boot_completed=1" > /var/lib/waydroid/overlay/vendor/etc/init/camera-provider-hack.rc
    echo "  stop vendor.camera-provider-2-4" >> /var/lib/waydroid/overlay/vendor/etc/init/camera-provider-hack.rc
fi

# Set a wake lock while running Waydroid
# Opportunistic autosuspend blocks Waydroid and waydroid-sensors
# from processing events, leading to lockups and unrecoverable restarts
echo -e '#!/bin/sh\necho waydroid > /sys/power/wake_lock' > /tmp/waydroid-start-hook
echo -e '#!/bin/sh\necho waydroid > /sys/power/wake_unlock' > /tmp/waydroid-stop-hook
chmod 755 /tmp/waydroid-start-hook
chmod 755 /tmp/waydroid-stop-hook
cat /usr/lib/waydroid/data/configs/config_base > /tmp/waydroid_config_base
echo "lxc.hook.start-host = /tmp/waydroid-start-hook" >> /tmp/waydroid_config_base
echo "lxc.hook.stop = /tmp/waydroid-stop-hook" >> /tmp/waydroid_config_base
mount -o bind /tmp/waydroid_config_base /usr/lib/waydroid/data/configs/config_base

