diff --git a/gps/utils/loc_cfg.cpp b/gps/utils/loc_cfg.cpp index bb09ed4..0742dfc 100644 --- a/gps/utils/loc_cfg.cpp +++ b/gps/utils/loc_cfg.cpp @@ -94,6 +94,12 @@ const char LOC_PATH_SLIM_CONF[] = LOC_PATH_SLIM_CONF_STR; const char LOC_PATH_VPE_CONF[] = LOC_PATH_VPE_CONF_STR; const char LOC_PATH_QPPE_CONF[] = LOC_PATH_QPPE_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; +} + bool isVendorEnhanced() { return sVendorEnhanced; } @@ -818,6 +824,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 (!isVendorEnhanced() && (conf.vendor_enhanced_process != 0)) { LOC_LOGD("%s:%d]: Process %s is disabled via vendor enhanced process check", __func__, __LINE__, conf.proc_name); diff --git a/rootdir/etc/init.xiaomi_sm8450.rc b/rootdir/etc/init.xiaomi_sm8450.rc index b57894b..8742c3c 100644 --- a/rootdir/etc/init.xiaomi_sm8450.rc +++ b/rootdir/etc/init.xiaomi_sm8450.rc @@ -223,6 +223,9 @@ on property:vendor.audio.cit.spkcal.copy=true chmod 666 /mnt/vendor/persist/audio/aw_calr.bin chmod 666 /mnt/vendor/persist/audio/aw_calr.txt +on property:persist.sys.xtra-daemon.enabled=* + restart loc_launcher + service vendor.nv_mac /vendor/bin/nv_mac class late_start user system