summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Bestas <mkbestas@gmail.com>2023-05-05 20:09:13 +0300
committerNolen Johnson <johnsonnolen@gmail.com>2023-06-09 19:49:54 +0200
commite797527c68904ba32a47bab7b9e549498c72de88 (patch)
treec317bcc2f123e8d65a2ef7f0f086637ea786814a
parent2def3e5f02578dcefdbae47efcf5cead01bb9066 (diff)
msm8998-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
-rw-r--r--gps/utils/loc_cfg.cpp11
-rw-r--r--rootdir/etc/init.qcom.rc3
2 files changed, 14 insertions, 0 deletions
diff --git a/gps/utils/loc_cfg.cpp b/gps/utils/loc_cfg.cpp
index 9c1f0b35..77eff6c5 100644
--- a/gps/utils/loc_cfg.cpp
+++ b/gps/utils/loc_cfg.cpp
@@ -94,6 +94,11 @@ bool isVendorEnhanced() {
void setVendorEnhanced(bool vendorEnhanced) {
sVendorEnhanced = vendorEnhanced;
}
+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_get_datum_type
@@ -784,6 +789,12 @@ 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;
+ }
+
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 66f354f9..6b46945c 100644
--- a/rootdir/etc/init.qcom.rc
+++ b/rootdir/etc/init.qcom.rc
@@ -958,6 +958,9 @@ service vendor.loc_launcher /vendor/bin/loc_launcher
user gps
group gps
+on property:persist.sys.xtra-daemon.enabled=*
+ restart vendor.loc_launcher
+
service vendor.qcom-sh /vendor/bin/init.qcom.sh
class late_start
user root