Name: ua-manager
Summary: User awareness manager
-Version: 0.11.5
+Version: 0.11.6
Release: 1
License: Apache-2.0
Source0: %{name}-%{version}.tar.gz
id = UAS_PLUGIN_ID_BLE;
uam_sensor_plugin_info_t *plugin = plugins[id];
- if (!plugin || !plugin->api || !plugin->api->add_ibeacon_adv)
+ if (!plugin || !plugin->api || !plugin->api->add_ibeacon_adv) {
+ ret = UAM_ERROR_NOT_SUPPORTED;
goto done;
+ }
status = plugin->api->add_ibeacon_adv(adv_len, iadv);
if (UAS_STATUS_SUCCESS != status && UAS_STATUS_ALREADY_DONE != status) {
if (sql_ret != SQLITE_DONE) {
UAM_ERR("Failed to insert ibeacon adv info [%d:%s]",
sql_ret, sqlite3_errmsg(database_handle));
- error_code = UAM_ERROR_DB_FAILED;
+
+ error_code = sqlite3_extended_errcode(database_handle) ==
+ SQLITE_CONSTRAINT_UNIQUE ?
+ UAM_ERROR_ALREADY_DONE : UAM_ERROR_DB_FAILED;
goto handle_error;
}
UAM_INFO("adv_len = %u, iadv = 0x%0x:0x%0x:0x%0x", adv_len,
iadv[0], iadv[1], iadv[2]);
- if (UAM_ERROR_NONE != _uam_db_insert_adv_info(adv_len, iadv)) {
+ ret = _uam_db_insert_adv_info(adv_len, iadv);
+ if (UAM_ERROR_NONE != ret) {
UAM_ERR("_uam_db_insert_adv_info failed");
- return UAM_ERROR_DB_FAILED;
+ return ret;
}
ret = _uam_pm_add_ibeacon_adv(adv_len, iadv);