sm8450-common: gps: Support WiFi RTT position injection for non ES case

Change-Id: I92248c5a95c042c90164308d0617d9197625e6dd
CRs-Fixed: 3432072
このコミットが含まれているのは:
haohuang
2023-02-08 17:49:17 +08:00
committed by Arian
コミット 7def8dd105
10個のファイルの変更244行の追加30行の削除

ファイルの表示

@@ -79,6 +79,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <loc_misc_utils.h>
#include <queue>
#include <NativeAgpsHandler.h>
#include <unordered_map>
#define MAX_URL_LEN 256
#define NMEA_SENTENCE_MAX_LENGTH 200
@@ -303,6 +304,7 @@ class GnssAdapter : public LocAdapterBase {
OdcpiPrioritytype mCallbackPriority;
OdcpiTimer mOdcpiTimer;
OdcpiRequestInfo mOdcpiRequest;
std::unordered_map<OdcpiPrioritytype, OdcpiRequestCallback> mNonEsOdcpiReqCbMap;
void odcpiTimerExpire();
std::function<void(const Location&)> mAddressRequestCb;
@@ -344,8 +346,16 @@ class GnssAdapter : public LocAdapterBase {
int totalSvCntInThisConstellation);
/* ======== UTILITIES ================================================================== */
inline void initOdcpi(const OdcpiRequestCallback& callback, OdcpiPrioritytype priority);
inline void initOdcpi(const OdcpiRequestCallback& callback,
OdcpiPrioritytype priority,
OdcpiCallbackTypeMask typeMask);
inline void deRegisterOdcpi(OdcpiPrioritytype priority, OdcpiCallbackTypeMask typeMask) {
if (typeMask & NON_EMERGENCY_ODCPI) {
mNonEsOdcpiReqCbMap.erase(priority);
}
}
inline void injectOdcpi(const Location& location);
void fireOdcpiRequest(const OdcpiRequestInfo& request);
inline void setAddressRequestCb(const std::function<void(const Location&)>& addressRequestCb)
{ mAddressRequestCb = addressRequestCb;}
inline void injectLocationAndAddr(const Location& location, const GnssCivicAddress& addr)
@@ -523,7 +533,10 @@ public:
/* ========= ODCPI ===================================================================== */
/* ======== COMMANDS ====(Called from Client Thread)==================================== */
void initOdcpiCommand(const OdcpiRequestCallback& callback, OdcpiPrioritytype priority);
void initOdcpiCommand(const OdcpiRequestCallback& callback,
OdcpiPrioritytype priority,
OdcpiCallbackTypeMask typeMask);
void deRegisterOdcpiCommand(OdcpiPrioritytype priority, OdcpiCallbackTypeMask typeMask);
void injectOdcpiCommand(const Location& location);
void setAddressRequestCbCommand(const std::function<void(const Location&)>& addressRequestCb);
void injectLocationAndAddrCommand(const Location& location, const GnssCivicAddress& addr);