aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gps/utils/loc_cfg.cpp13
-rw-r--r--rootdir/etc/init.qcom.rc3
2 files changed, 16 insertions, 0 deletions
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