Merge "Ignore the first time inject if it is form Afw."
This commit is contained in:
commit
f5f74198b5
3 changed files with 26 additions and 6 deletions
|
@ -70,7 +70,9 @@ LocEngAdapter::LocEngAdapter(LOC_API_ADAPTER_EVENT_MASK_T mask,
|
||||||
mOwner(owner), mInternalAdapter(new LocInternalAdapter(this)),
|
mOwner(owner), mInternalAdapter(new LocInternalAdapter(this)),
|
||||||
mUlp(new UlpProxyBase()), mNavigating(false),
|
mUlp(new UlpProxyBase()), mNavigating(false),
|
||||||
mSupportsAgpsRequests(false),
|
mSupportsAgpsRequests(false),
|
||||||
mSupportsPositionInjection(false), mPowerVote(0)
|
mSupportsPositionInjection(false),
|
||||||
|
mSupportsTimeInjection(false),
|
||||||
|
mPowerVote(0)
|
||||||
{
|
{
|
||||||
memset(&mFixCriteria, 0, sizeof(mFixCriteria));
|
memset(&mFixCriteria, 0, sizeof(mFixCriteria));
|
||||||
mFixCriteria.mode = LOC_POSITION_MODE_INVALID;
|
mFixCriteria.mode = LOC_POSITION_MODE_INVALID;
|
||||||
|
@ -341,6 +343,24 @@ void LocEngAdapter::handleEngineUpEvent()
|
||||||
sendMsg(new LocEngUp(mOwner));
|
sendMsg(new LocEngUp(mOwner));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum loc_api_adapter_err LocEngAdapter::setTime(GpsUtcTime time,
|
||||||
|
int64_t timeReference,
|
||||||
|
int uncertainty)
|
||||||
|
{
|
||||||
|
loc_api_adapter_err result = LOC_API_ADAPTER_ERR_SUCCESS;
|
||||||
|
|
||||||
|
LOC_LOGD("%s:%d]: mSupportsTimeInjection is %d",
|
||||||
|
__func__, __LINE__, mSupportsTimeInjection);
|
||||||
|
|
||||||
|
if (mSupportsTimeInjection) {
|
||||||
|
LOC_LOGD("%s:%d]: Injecting time", __func__, __LINE__);
|
||||||
|
result = mLocApi->setTime(time, timeReference, uncertainty);
|
||||||
|
} else {
|
||||||
|
mSupportsTimeInjection = true;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
enum loc_api_adapter_err LocEngAdapter::setXtraVersionCheck(int check)
|
enum loc_api_adapter_err LocEngAdapter::setXtraVersionCheck(int check)
|
||||||
{
|
{
|
||||||
enum loc_api_adapter_err ret;
|
enum loc_api_adapter_err ret;
|
||||||
|
|
|
@ -85,6 +85,7 @@ class LocEngAdapter : public LocAdapterBase {
|
||||||
public:
|
public:
|
||||||
bool mSupportsAgpsRequests;
|
bool mSupportsAgpsRequests;
|
||||||
bool mSupportsPositionInjection;
|
bool mSupportsPositionInjection;
|
||||||
|
bool mSupportsTimeInjection;
|
||||||
|
|
||||||
LocEngAdapter(LOC_API_ADAPTER_EVENT_MASK_T mask,
|
LocEngAdapter(LOC_API_ADAPTER_EVENT_MASK_T mask,
|
||||||
void* owner, ContextBase* context,
|
void* owner, ContextBase* context,
|
||||||
|
@ -136,11 +137,6 @@ public:
|
||||||
{
|
{
|
||||||
return mLocApi->injectPosition(latitude, longitude, accuracy);
|
return mLocApi->injectPosition(latitude, longitude, accuracy);
|
||||||
}
|
}
|
||||||
inline enum loc_api_adapter_err
|
|
||||||
setTime(GpsUtcTime time, int64_t timeReference, int uncertainty)
|
|
||||||
{
|
|
||||||
return mLocApi->setTime(time, timeReference, uncertainty);
|
|
||||||
}
|
|
||||||
inline enum loc_api_adapter_err
|
inline enum loc_api_adapter_err
|
||||||
setXtraData(char* data, int length)
|
setXtraData(char* data, int length)
|
||||||
{
|
{
|
||||||
|
@ -256,6 +252,9 @@ public:
|
||||||
{
|
{
|
||||||
return mLocApi->getBestAvailableZppFix(zppLoc, tech_mask);
|
return mLocApi->getBestAvailableZppFix(zppLoc, tech_mask);
|
||||||
}
|
}
|
||||||
|
enum loc_api_adapter_err setTime(GpsUtcTime time,
|
||||||
|
int64_t timeReference,
|
||||||
|
int uncertainty);
|
||||||
enum loc_api_adapter_err setXtraVersionCheck(int check);
|
enum loc_api_adapter_err setXtraVersionCheck(int check);
|
||||||
inline virtual void installAGpsCert(const DerEncodedCertificate* pData,
|
inline virtual void installAGpsCert(const DerEncodedCertificate* pData,
|
||||||
size_t length,
|
size_t length,
|
||||||
|
|
|
@ -326,6 +326,7 @@ static int loc_init(GpsCallbacks* callbacks)
|
||||||
loc_afw_data.adapter->requestUlp(gps_conf.CAPABILITIES);
|
loc_afw_data.adapter->requestUlp(gps_conf.CAPABILITIES);
|
||||||
loc_afw_data.adapter->mSupportsAgpsRequests = !loc_afw_data.adapter->hasAgpsExtendedCapabilities();
|
loc_afw_data.adapter->mSupportsAgpsRequests = !loc_afw_data.adapter->hasAgpsExtendedCapabilities();
|
||||||
loc_afw_data.adapter->mSupportsPositionInjection = !loc_afw_data.adapter->hasCPIExtendedCapabilities();
|
loc_afw_data.adapter->mSupportsPositionInjection = !loc_afw_data.adapter->hasCPIExtendedCapabilities();
|
||||||
|
loc_afw_data.adapter->mSupportsTimeInjection = !loc_afw_data.adapter->hasCPIExtendedCapabilities();
|
||||||
|
|
||||||
if(retVal) {
|
if(retVal) {
|
||||||
LOC_LOGE("loc_eng_init() fail!");
|
LOC_LOGE("loc_eng_init() fail!");
|
||||||
|
|
Loading…
Reference in a new issue