on late-fs
    # boot time fs tune
    write /sys/block/sda/queue/iostats 0
    write /sys/block/sda/queue/scheduler cfq
    write /sys/block/sda/queue/iosched/slice_idle 0
    write /sys/block/sda/queue/read_ahead_kb 2048
    write /sys/block/sda/queue/nr_requests 256
    write /sys/block/sde/queue/iostats 0
    write /sys/block/sde/queue/scheduler cfq
    write /sys/block/sde/queue/iosched/slice_idle 0
    write /sys/block/sde/queue/read_ahead_kb 2048
    write /sys/block/sde/queue/nr_requests 256
    write /sys/block/dm-0/queue/read_ahead_kb 2048
    write /sys/block/dm-1/queue/read_ahead_kb 2048

on property:sys.boot_completed=1
    # end boot time fs tune
    write /sys/block/sda/queue/read_ahead_kb 128
    write /sys/block/sda/queue/nr_requests 128
    write /sys/block/sda/queue/iostats 1
    write /sys/block/sde/queue/read_ahead_kb 128
    write /sys/block/sde/queue/nr_requests 128
    write /sys/block/sde/queue/iostats 1
    write /sys/block/dm-0/queue/read_ahead_kb 128
    write /sys/block/dm-1/queue/read_ahead_kb 128

on boot
    # Allow ftm4 autotune from adb shell
    chown system shell /sys/devices/virtual/input/ftm4_touch/autotune

on init && property:ro.boot.revision=*
    setprop ro.boot.hardware.revision ${ro.boot.revision}

on property:init.svc.vendor.fps_hal=running && property:ro.boot.revision=rev_0
    stop vendor.fps_hal

on property:sys.all.modules.ready=1
    # Update touch firmware if required
    write /sys/devices/virtual/input/ftm4_touch/check_fw 1

on property:ro.boot.hardware.display=2-1
    setprop sys.display.low_persistence_mode_brightness 255

on property:persist.vendor.charge.stop.level=* && property:sys.all.modules.ready=1
    write /sys/module/lge_battery/parameters/charge_stop_level ${persist.vendor.charge.stop.level}

on property:persist.vendor.charge.start.level=* && property:sys.all.modules.ready=1
    write /sys/module/lge_battery/parameters/charge_start_level ${persist.vendor.charge.start.level}

on late-init && property:ro.boot.revision=rev_a
    setprop vendor.thermal.config thermal_info_config_evt.json

on late-init && property:ro.boot.revision=rev_b
    setprop vendor.thermal.config thermal_info_config_evt.json

# Write the dark theme magic (`theme-dark`, or 0x7468656d652d6461726b in hex string) to /misc
# partition. Offset 0 in vendor space is effectively offset 2048 in /misc partition.
service vendor.theme_set /vendor/bin/misc_writer --vendor-space-offset 0 --hex-string 0x7468656d652d6461726b
    disabled
    oneshot

# Clear the 10-byte dark theme magic in /misc partition. Offset 0 in vendor space is effectively
# offset 2048 in /misc partition.
service vendor.theme_clear /vendor/bin/misc_writer --vendor-space-offset 0 --hex-string 0x00000000000000000000
    disabled
    oneshot

# Set the dark boot flag on dark mode (UiModeManager.MODE_NIGHT_YES == 2).
on property:persist.sys.theme=2
    start vendor.theme_set

# Clear the dark theme flag on light mode (UiModeManager.MODE_NIGHT_NO == 1) or auto mode
# (UiModeManager.MODE_NIGHT_AUTO == 0).
on property:persist.sys.theme=1
    start vendor.theme_clear

on property:persist.sys.theme=0
    start vendor.theme_clear
