# Raven specific init.rc
import /vendor/etc/init/hw/init.gs101.rc
import /vendor/etc/init/hw/init.raviole.rc

on init
    # logbuffer
    chown system system /dev/logbuffer_5-0057
    # nvmem dump
    chown system system /sys/bus/nvmem/devices/5-00500/nvmem

    # Power Stats HAL
    chown system system /sys/devices/platform/10d30000.spi/spi_master/spi10/spi10.0/uwb/power_stats

on fs
    # Face
    exec_background - system shell -- /vendor/bin/trusty_apploader /vendor/firmware/faceauth.app

on property:vendor.mfgapi.touchpanel.permission=1
    chmod 0600 /sys/devices/virtual/sec/tsp/cmd
    chown system system /sys/devices/virtual/sec/tsp/cmd

# Toggle glove_mode according to touch_sensitivity_mode
on property:persist.vendor.touch_sensitivity_mode=0 && property:sys.boot_completed=1
    write /sys/devices/virtual/sec/tsp/cmd "glove_mode,0"

on property:persist.vendor.touch_sensitivity_mode=1 && property:sys.boot_completed=1
    write /sys/devices/virtual/sec/tsp/cmd "glove_mode,1"

# Display
on property:graphics.display.kernel_idle_timer.enabled=true
    # Enable aggressive idle mode switching
    write /sys/devices/platform/exynos-drm/primary-panel/panel_idle "1"

on property:graphics.display.kernel_idle_timer.enabled=false
    write /sys/devices/platform/exynos-drm/primary-panel/panel_idle "0"

# Bluetooth
on post-fs-data
    chown bluetooth system /proc/bluetooth/timesync

# For Japan sku, always enforce camera shutter sound
# Since this property is read by the audio server in system service,
# it should be written by the system init.
on property:ro.boot.hardware.sku=GF5KQ
    setprop audio.camerasound.force true
