diff --git a/loc_api/libloc_api-rpc-50001/libloc_api-rpc-glue/src/LocApiRpcAdapter.cpp b/loc_api/libloc_api-rpc-50001/libloc_api-rpc-glue/src/LocApiRpcAdapter.cpp index 48b3a0fe..53effc56 100755 --- a/loc_api/libloc_api-rpc-50001/libloc_api-rpc-glue/src/LocApiRpcAdapter.cpp +++ b/loc_api/libloc_api-rpc-50001/libloc_api-rpc-glue/src/LocApiRpcAdapter.cpp @@ -769,29 +769,24 @@ void LocApiRpcAdapter::reportSv(const rpc_loc_gnss_info_s_type *gnss_report_ptr) void LocApiRpcAdapter::reportStatus(const rpc_loc_status_event_s_type *status_report_ptr) { - GpsStatusValue status = GPS_STATUS_NONE; if (status_report_ptr->event == RPC_LOC_STATUS_EVENT_ENGINE_STATE) { if (status_report_ptr->payload.rpc_loc_status_event_payload_u_type_u.engine_state == RPC_LOC_ENGINE_STATE_ON) { - status = GPS_STATUS_ENGINE_ON; + LocApiAdapter::reportStatus(GPS_STATUS_ENGINE_ON); + LocApiAdapter::reportStatus(GPS_STATUS_SESSION_BEGIN); } else if (status_report_ptr->payload.rpc_loc_status_event_payload_u_type_u.engine_state == RPC_LOC_ENGINE_STATE_OFF) { - status = GPS_STATUS_ENGINE_OFF; + LocApiAdapter::reportStatus(GPS_STATUS_SESSION_END); + LocApiAdapter::reportStatus(GPS_STATUS_ENGINE_OFF); } - } else if (status_report_ptr->event == RPC_LOC_STATUS_EVENT_FIX_SESSION_STATE) { - if (status_report_ptr->payload.rpc_loc_status_event_payload_u_type_u.fix_session_state == RPC_LOC_FIX_SESSION_STATE_BEGIN) + else { - status = GPS_STATUS_SESSION_BEGIN; - } - else if (status_report_ptr->payload.rpc_loc_status_event_payload_u_type_u.fix_session_state == RPC_LOC_FIX_SESSION_STATE_END) - { - status = GPS_STATUS_SESSION_END; + LocApiAdapter::reportStatus(GPS_STATUS_NONE); } } - LocApiAdapter::reportStatus(status); } void LocApiRpcAdapter::reportNmea(const rpc_loc_nmea_report_s_type *nmea_report_ptr) diff --git a/loc_api/loc_api_v02/LocApiV02Adapter.cpp b/loc_api/loc_api_v02/LocApiV02Adapter.cpp index e223983b..a60c4f79 100755 --- a/loc_api/loc_api_v02/LocApiV02Adapter.cpp +++ b/loc_api/loc_api_v02/LocApiV02Adapter.cpp @@ -1406,8 +1406,7 @@ locClientEventMaskType LocApiV02Adapter :: convertMask( if(mask & LOC_API_ADAPTER_BIT_STATUS_REPORT) { - eventMask |= (QMI_LOC_EVENT_MASK_ENGINE_STATE_V02 | - QMI_LOC_EVENT_MASK_FIX_SESSION_STATE_V02); + eventMask |= (QMI_LOC_EVENT_MASK_ENGINE_STATE_V02); } if(mask & LOC_API_ADAPTER_BIT_LOCATION_SERVER_REQUEST) @@ -1652,21 +1651,25 @@ void LocApiV02Adapter :: reportSv ( void LocApiV02Adapter :: reportEngineState ( const qmiLocEventEngineStateIndMsgT_v02 *engine_state_ptr) { - GpsStatusValue status; LOC_LOGV("%s:%d]: state = %d\n", __func__, __LINE__, engine_state_ptr->engineState); - status = GPS_STATUS_NONE; if (engine_state_ptr->engineState == eQMI_LOC_ENGINE_STATE_ON_V02) { - status = GPS_STATUS_ENGINE_ON; + LocApiAdapter::reportStatus(GPS_STATUS_ENGINE_ON); + LocApiAdapter::reportStatus(GPS_STATUS_SESSION_BEGIN); } else if (engine_state_ptr->engineState == eQMI_LOC_ENGINE_STATE_OFF_V02) { - status = GPS_STATUS_ENGINE_OFF; + LocApiAdapter::reportStatus(GPS_STATUS_SESSION_END); + LocApiAdapter::reportStatus(GPS_STATUS_ENGINE_OFF); } - LocApiAdapter::reportStatus(status); + else + { + LocApiAdapter::reportStatus(GPS_STATUS_NONE); + } + } /* convert fix session state report to loc eng format and send the converted