From 28ac45f2dbe7d59d520face7453040702bb2fb85 Mon Sep 17 00:00:00 2001 From: Michael Bestas Date: Fri, 5 May 2023 20:09:13 +0300 Subject: msm8996-common: Implement xtra-daemon control via property Default to false if the property is not set. Device init scripts will need to be adapted to restart loc_launcher service when property change is detected. Change-Id: Icbda789cd2a9a3391f437af2c07fc5127f2f09ab --- gps/utils/loc_cfg.cpp | 13 +++++++++++++ rootdir/etc/init.qcom.rc | 3 +++ 2 files changed, 16 insertions(+) diff --git a/gps/utils/loc_cfg.cpp b/gps/utils/loc_cfg.cpp index d7adad1..1c6a2e0 100644 --- a/gps/utils/loc_cfg.cpp +++ b/gps/utils/loc_cfg.cpp @@ -87,6 +87,12 @@ const char LOC_PATH_APDR_CONF[] = LOC_PATH_APDR_CONF_STR; const char LOC_PATH_XTWIFI_CONF[] = LOC_PATH_XTWIFI_CONF_STR; const char LOC_PATH_QUIPC_CONF[] = LOC_PATH_QUIPC_CONF_STR; +bool isXtraDaemonEnabled() { + bool enabled = property_get_bool("persist.sys.xtra-daemon.enabled", false); + LOC_LOGe("xtra-daemon enabled: %d\n", enabled); + return enabled; +} + /*=========================================================================== FUNCTION loc_modem_emulator_enabled @@ -810,6 +816,13 @@ int loc_read_process_conf(const char* conf_file_name, uint32_t * process_count_p continue; } + if (strcmp(conf.proc_name, "xtra-daemon") == 0 && !isXtraDaemonEnabled()) { + LOC_LOGE("%s:%d]: Process xtra-daemon is disabled via property", + __func__, __LINE__); + child_proc[j].proc_status = DISABLED_FROM_CONF; + continue; + } + if(strcmp(conf.proc_status, "DISABLED") == 0) { LOC_LOGD("%s:%d]: Process %s is disabled in conf file", __func__, __LINE__, conf.proc_name); diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 49e1184..17d7dd3 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -416,6 +416,9 @@ service loc_launcher /vendor/bin/loc_launcher group gps writepid /dev/cpuset/system-background/tasks +on property:persist.sys.xtra-daemon.enabled=* + restart vendor.loc_launcher + service qcom-sh /vendor/bin/init.qcom.sh class late_start user root -- cgit v1.2.3