# Copyright (C) 2012 The Android Open Source Project
#
# IMPORTANT: Do not create world writable files or directories.
# This is a common source of Android security bugs.
#

# service can not be overwritten except SPRINT
# Thus, rilcarrier is imported before common rc, like init.rilchip.rc

on post-fs-data
    mkdir /data/vendor/secradio 0770 radio radio
    restorecon -R /data/vendor/secradio

on property:ro.vendor.multisim.simslotcount=1
    stop ril-daemon1

service network_config /vendor/bin/secril_config_svc NetworkConfig
    user radio
    group radio
    oneshot
    disabled

service sim_config /vendor/bin/secril_config_svc SimConfig
    user radio
    group radio
    oneshot
    disabled

on fs
    exec_start sim_config

on post-fs-data
    exec_start network_config
