std::map<long, std::shared_ptr<ActivityData>> activity_data_;
};
+PlatformResult SleepStateToString(int state, std::string* sleep_state) {
+ ScopeLogger("%d", state);
+ if (sleep_state) {
+ switch (state) {
+ case SENSOR_SLEEP_STATE_WAKE:
+ *sleep_state = kSleepStateAwake;
+ break;
+ case SENSOR_SLEEP_STATE_SLEEP:
+ *sleep_state = kSleepStateAsleep;
+ break;
+ case SENSOR_SLEEP_STATE_UNKNOWN:
+ *sleep_state = kSleepStateUnknown;
+ break;
+ default:
+ return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Unknown sleep state",
+ ("Unknown sleep state: %d", state));
+ }
+ return PlatformResult(ErrorCode::NO_ERROR);
+ }
+ return LogAndCreateResult(ErrorCode::UNKNOWN_ERR,
+ "Cannot return sleep state, return pointer is null");
+}
+
HumanActivityMonitorManager::HumanActivityMonitorManager()
: activity_recognition_(std::make_shared<ActivityRecognition>()) {
ScopeLogger();
sensor_sleep_state_e state = static_cast<sensor_sleep_state_e>(event->values[0]);
std::string sleep_state;
-
- switch (state) {
- case SENSOR_SLEEP_STATE_WAKE:
- sleep_state = kSleepStateAwake;
- break;
-
- case SENSOR_SLEEP_STATE_SLEEP:
- sleep_state = kSleepStateAsleep;
- break;
-
- case SENSOR_SLEEP_STATE_UNKNOWN:
- sleep_state = kSleepStateUnknown;
- break;
-
- default:
- return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Unknown sleep state",
- ("Unknown sleep state: %d", state));
+ PlatformResult result = SleepStateToString(state, &sleep_state);
+ if (!result) {
+ return result;
}
data->insert(std::make_pair(kStatus, picojson::value(sleep_state)));
sensor_sleep_state_e state = static_cast<sensor_sleep_state_e>(event->values[0]);
std::string sleep_state;
-
- switch (state) {
- case SENSOR_SLEEP_STATE_WAKE:
- sleep_state = kSleepStateAwake;
- break;
-
- case SENSOR_SLEEP_STATE_SLEEP:
- sleep_state = kSleepStateAsleep;
- break;
-
- case SENSOR_SLEEP_STATE_UNKNOWN:
- sleep_state = kSleepStateUnknown;
- break;
-
- default:
- return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Unknown sleep state",
- ("Unknown sleep state: %d", state));
+ PlatformResult result = SleepStateToString(state, &sleep_state);
+ if (!result) {
+ return result;
}
data->insert(std::make_pair(kStatus, picojson::value(sleep_state)));
auto convert_recorded_sleep_monitor = [](void* data, picojson::object* obj) -> PlatformResult {
ScopeLogger("Entered into asynchronous function, convert_recorded_sleep_monitor");
- SensorRecorderDataMap map_int{{SENSOR_RECORDER_DATA_SLEEP_STATE, kStatus}};
+ int state = 0;
+ int ret = sensor_recorder_data_get_int(data, SENSOR_RECORDER_DATA_SLEEP_STATE, &state);
+ if (SENSOR_ERROR_NONE != ret) {
+ return LogAndCreateResult(
+ getErrorCode(ret), "Failed to get int value",
+ ("Failed to get int value, error: %d (%s)", ret, get_error_message(ret)));
+ }
- auto result = ConvertRecordedInt(data, obj, map_int);
+ std::string sleep_state;
+ PlatformResult result = SleepStateToString(state, &sleep_state);
if (!result) {
return result;
}
+ obj->insert(std::make_pair(kStatus, picojson::value(sleep_state)));
+
return ConvertRecordedTime(data, obj);
};