diff options
| author | Michael Bestas <mkbestas@gmail.com> | 2023-05-05 20:09:13 +0300 |
|---|---|---|
| committer | Nolen Johnson <johnsonnolen@gmail.com> | 2023-06-09 19:49:54 +0200 |
| commit | e797527c68904ba32a47bab7b9e549498c72de88 (patch) | |
| tree | c317bcc2f123e8d65a2ef7f0f086637ea786814a | |
| parent | 2def3e5f02578dcefdbae47efcf5cead01bb9066 (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.cpp | 11 | ||||
| -rw-r--r-- | rootdir/etc/init.qcom.rc | 3 |
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 |
