Merge "Drop SUPL URL dup check in set and update command"

This commit is contained in:
qctecmdr 2019-07-18 09:49:38 -07:00 committed by Gerrit - the friendly Code Review server
commit 3e3390bbd5
2 changed files with 21 additions and 32 deletions

View file

@ -666,17 +666,15 @@ GnssAdapter::setSuplHostServer(const char* server, int port, LocServerType type)
} }
if (LOC_AGPS_SUPL_SERVER != type && LOC_AGPS_MO_SUPL_SERVER != type) { if (LOC_AGPS_SUPL_SERVER != type && LOC_AGPS_MO_SUPL_SERVER != type) {
LOC_LOGe("Invalid type=%d", type); LOC_LOGe("Invalid type=%d", type);
} else { } else if (length >= 0) {
string& url = (LOC_AGPS_SUPL_SERVER == type) ? getServerUrl() : getMoServerUrl();
if (length >= 0 && strncasecmp(url.c_str(), serverUrl, sizeof(serverUrl)) != 0) {
url.assign(serverUrl);
if (LOC_AGPS_SUPL_SERVER == type) { if (LOC_AGPS_SUPL_SERVER == type) {
getServerUrl().assign(serverUrl);
strlcpy(ContextBase::mGps_conf.SUPL_HOST, server, LOC_MAX_PARAM_STRING); strlcpy(ContextBase::mGps_conf.SUPL_HOST, server, LOC_MAX_PARAM_STRING);
ContextBase::mGps_conf.SUPL_PORT = port; ContextBase::mGps_conf.SUPL_PORT = port;
} else {
if (strncasecmp(getMoServerUrl().c_str(), serverUrl, sizeof(serverUrl)) != 0) {
getMoServerUrl().assign(serverUrl);
} }
LOC_LOGv("serverUrl=%s length=%d type=%d", serverUrl, length, type);
} }
} }
} }
@ -709,7 +707,6 @@ GnssAdapter::setConfigCommand()
} }
mAdapter.mNmeaMask= mask; mAdapter.mNmeaMask= mask;
std::string oldServerUrl = mAdapter.getServerUrl();
std::string oldMoServerUrl = mAdapter.getMoServerUrl(); std::string oldMoServerUrl = mAdapter.getMoServerUrl();
mAdapter.setSuplHostServer(ContextBase::mGps_conf.SUPL_HOST, mAdapter.setSuplHostServer(ContextBase::mGps_conf.SUPL_HOST,
ContextBase::mGps_conf.SUPL_PORT, ContextBase::mGps_conf.SUPL_PORT,
@ -750,10 +747,8 @@ GnssAdapter::setConfigCommand()
gnssConfigRequested.blacklistedSvIds.assign(adapter.mBlacklistedSvIds.begin(), gnssConfigRequested.blacklistedSvIds.assign(adapter.mBlacklistedSvIds.begin(),
adapter.mBlacklistedSvIds.end()); adapter.mBlacklistedSvIds.end());
mApi.sendMsg(new LocApiMsg( mApi.sendMsg(new LocApiMsg(
[&adapter, gpsConf, sapConf, oldServerUrl, [&adapter, gpsConf, sapConf, oldMoServerUrl, gnssConfigRequested] () {
oldMoServerUrl, gnssConfigRequested] () { adapter.gnssUpdateConfig(oldMoServerUrl, gnssConfigRequested, gnssConfigRequested);
adapter.gnssUpdateConfig(oldServerUrl, oldMoServerUrl, gnssConfigRequested,
gnssConfigRequested);
// set nmea mask type // set nmea mask type
uint32_t mask = 0; uint32_t mask = 0;
@ -812,8 +807,8 @@ GnssAdapter::setConfigCommand()
sendMsg(new MsgSetConfig(*this, *mLocApi)); sendMsg(new MsgSetConfig(*this, *mLocApi));
} }
std::vector<LocationError> GnssAdapter::gnssUpdateConfig(const std::string& oldServerUrl, std::vector<LocationError> GnssAdapter::gnssUpdateConfig(const std::string& oldMoServerUrl,
const std::string& oldMoServerUrl, const GnssConfig& gnssConfigRequested, const GnssConfig& gnssConfigRequested,
const GnssConfig& gnssConfigNeedEngineUpdate, size_t count) { const GnssConfig& gnssConfigNeedEngineUpdate, size_t count) {
loc_gps_cfg_s gpsConf = ContextBase::mGps_conf; loc_gps_cfg_s gpsConf = ContextBase::mGps_conf;
size_t index = 0; size_t index = 0;
@ -846,14 +841,11 @@ std::vector<LocationError> GnssAdapter::gnssUpdateConfig(const std::string& oldS
GNSS_CONFIG_FLAGS_SET_ASSISTANCE_DATA_VALID_BIT) { GNSS_CONFIG_FLAGS_SET_ASSISTANCE_DATA_VALID_BIT) {
if (gnssConfigNeedEngineUpdate.assistanceServer.type == if (gnssConfigNeedEngineUpdate.assistanceServer.type ==
GNSS_ASSISTANCE_TYPE_SUPL) { GNSS_ASSISTANCE_TYPE_SUPL) {
if (0 != oldServerUrl.compare(serverUrl)) {
err = mLocApi->setServerSync( err = mLocApi->setServerSync(
serverUrl.c_str(), serverUrlLen, LOC_AGPS_SUPL_SERVER); serverUrl.c_str(), serverUrlLen, LOC_AGPS_SUPL_SERVER);
if (index < count) { if (index < count) {
errsList[index] = err; errsList[index] = err;
} }
}
if (0 != oldMoServerUrl.compare(moServerUrl)) { if (0 != oldMoServerUrl.compare(moServerUrl)) {
LocationError locErr = LocationError locErr =
mLocApi->setServerSync(moServerUrl.c_str(), mLocApi->setServerSync(moServerUrl.c_str(),
@ -1069,7 +1061,6 @@ GnssAdapter::gnssUpdateConfigCommand(GnssConfig config)
size_t countOfConfigs = mCount; size_t countOfConfigs = mCount;
GnssConfig gnssConfigRequested = mConfig; GnssConfig gnssConfigRequested = mConfig;
GnssConfig gnssConfigNeedEngineUpdate = mConfig; GnssConfig gnssConfigNeedEngineUpdate = mConfig;
std::string oldServerUrl = mAdapter.getServerUrl();
std::vector<uint32_t> sessionIds; std::vector<uint32_t> sessionIds;
sessionIds.assign(mIds, mIds + mCount); sessionIds.assign(mIds, mIds + mCount);
@ -1162,11 +1153,9 @@ GnssAdapter::gnssUpdateConfigCommand(GnssConfig config)
mApi.sendMsg(new LocApiMsg( mApi.sendMsg(new LocApiMsg(
[&adapter, gnssConfigRequested, gnssConfigNeedEngineUpdate, [&adapter, gnssConfigRequested, gnssConfigNeedEngineUpdate,
countOfConfigs, configCollectiveResponse, errs, oldServerUrl] () { countOfConfigs, configCollectiveResponse, errs] () {
std::string serverUrl = adapter.getServerUrl(); std::vector<LocationError> errsList = adapter.gnssUpdateConfig("",
int serverUrlLen = serverUrl.length(); gnssConfigRequested, gnssConfigNeedEngineUpdate, countOfConfigs);
std::vector<LocationError> errsList = adapter.gnssUpdateConfig(oldServerUrl,
"", gnssConfigRequested, gnssConfigNeedEngineUpdate, countOfConfigs);
configCollectiveResponse->returnToSender(errsList); configCollectiveResponse->returnToSender(errsList);
})); }));

View file

@ -289,8 +289,8 @@ public:
uint32_t gnssDeleteAidingDataCommand(GnssAidingData& data); uint32_t gnssDeleteAidingDataCommand(GnssAidingData& data);
void deleteAidingData(const GnssAidingData &data, uint32_t sessionId); void deleteAidingData(const GnssAidingData &data, uint32_t sessionId);
void gnssUpdateXtraThrottleCommand(const bool enabled); void gnssUpdateXtraThrottleCommand(const bool enabled);
std::vector<LocationError> gnssUpdateConfig(const std::string& oldServerUrl, std::vector<LocationError> gnssUpdateConfig(const std::string& oldMoServerUrl,
const std::string& oldMoServerUrl, const GnssConfig& gnssConfigRequested, const GnssConfig& gnssConfigRequested,
const GnssConfig& gnssConfigNeedEngineUpdate, size_t count = 0); const GnssConfig& gnssConfigNeedEngineUpdate, size_t count = 0);
/* ==== GNSS SV TYPE CONFIG ============================================================ */ /* ==== GNSS SV TYPE CONFIG ============================================================ */