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/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/dm-0/queue/read_ahead_kb 128
    write /sys/block/dm-1/queue/read_ahead_kb 128

on property:sys.boot_completed=1 && property:ro.build.type=user
    write /proc/sys/kernel/modules_disabled 1

on init && property:ro.boot.revision=EVM
    setprop ro.boot.hardware.revision 0.5

on init && property:ro.boot.revision=EVT0
    setprop ro.boot.hardware.revision 0.6

on init && property:ro.boot.revision=EVT1
    setprop ro.boot.hardware.revision 0.7

on init && property:ro.boot.revision=EVT2
    setprop ro.boot.hardware.revision 0.8

on init && property:ro.boot.revision=DVT
    setprop ro.boot.hardware.revision 1.0

on init && property:ro.boot.revision=MP0 # PVT
    setprop ro.boot.hardware.revision 1.0

on init && property:ro.boot.revision=MP1
    setprop ro.boot.hardware.revision 1.0

on boot && property:ro.build.type=userdebug
   write /sys/class/uio/uio1/device/rtel/rtel 1

on property:persist.vendor.charge.stop.level=* && property:sys.all.modules.ready=1
    write /sys/module/htc_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/htc_battery/parameters/charge_start_level ${persist.vendor.charge.start.level}

# Write the dark theme magic to /misc partition. Offset 12360 (0x3048) in vendor space is
# effectively offset 14408 (0x3848) in /misc partition.
service vendor.darkboot /vendor/bin/misc_writer --set-dark-theme --override-vendor-space-offset 12360
    disabled
    oneshot

# Clear the dark theme magic in /misc partition.
service vendor.darkboot_clear --clear-dark-theme --override-vendor-space-offset 12360
    disabled
    oneshot

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

# 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.darkboot_clear

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