summaryrefslogtreecommitdiff
path: root/gnss
diff options
context:
space:
mode:
authorqctecmdr <qctecmdr@localhost>2019-05-09 05:22:11 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2019-05-09 05:22:10 -0700
commit7e44d369797748812140b7631b7c5a2b9d443cb2 (patch)
tree61a6951c6ad224cec6fa28ce758466ca290ba4ac /gnss
parent2cdb08453e2a57dd720b5451816cedbc81c9a024 (diff)
parentaa95ca27f8db9f0a47116344ca4d12042acdb63b (diff)
downloadgps-7e44d369797748812140b7631b7c5a2b9d443cb2.tar.gz
Merge "Process CP_MTLR in emergency in different conditions"
Diffstat (limited to 'gnss')
-rw-r--r--gnss/GnssAdapter.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/gnss/GnssAdapter.cpp b/gnss/GnssAdapter.cpp
index ea757a8..549c845 100644
--- a/gnss/GnssAdapter.cpp
+++ b/gnss/GnssAdapter.cpp
@@ -3535,16 +3535,20 @@ GnssAdapter::requestNiNotifyEvent(const GnssNiNotification &notify, const void*
mNotify(notify),
mData(data) {}
inline virtual void proc() const {
- if (GNSS_NI_TYPE_EMERGENCY_SUPL == mNotify.type ||
- GNSS_NI_TYPE_CONTROL_PLANE == mNotify.type) {
+ if (GNSS_NI_TYPE_EMERGENCY_SUPL == mNotify.type) {
if (mAdapter.getE911State() ||
- ((GNSS_CONFIG_SUPL_EMERGENCY_SERVICES_NO == ContextBase::mGps_conf.SUPL_ES) &&
- (GNSS_NI_TYPE_EMERGENCY_SUPL == mNotify.type))) {
+ (GNSS_CONFIG_SUPL_EMERGENCY_SERVICES_NO == ContextBase::mGps_conf.SUPL_ES)) {
mApi.informNiResponse(GNSS_NI_RESPONSE_ACCEPT, mData);
- }
- else {
+ } else {
mApi.informNiResponse(GNSS_NI_RESPONSE_DENY, mData);
}
+ } else if (GNSS_NI_TYPE_CONTROL_PLANE == mNotify.type) {
+ if (mAdapter.getE911State() &&
+ (1 == ContextBase::mGps_conf.CP_MTLR_ES)) {
+ mApi.informNiResponse(GNSS_NI_RESPONSE_ACCEPT, mData);
+ } else {
+ mAdapter.requestNiNotify(mNotify, mData);
+ }
} else {
mAdapter.requestNiNotify(mNotify, mData);
}