Abhay agarwal [Thu, 12 Dec 2019 09:55:02 +0000 (15:25 +0530)]
Add API to get payloads list
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
Abhay agarwal [Fri, 6 Dec 2019 04:07:56 +0000 (09:37 +0530)]
Add database APIs to update device service payload info
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
Abhay agarwal [Wed, 4 Dec 2019 08:50:22 +0000 (14:20 +0530)]
Fix device payload insert
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
Abhay agarwal [Mon, 2 Dec 2019 10:06:53 +0000 (15:36 +0530)]
Add ua-manager core API to insert payload information to a service
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
Abhay agarwal [Fri, 29 Nov 2019 08:51:15 +0000 (14:21 +0530)]
Add database API to insert device payload
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
Abhay agarwal [Fri, 29 Nov 2019 05:52:07 +0000 (11:22 +0530)]
Add ua-manager core APIs to insert payload information
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
Abhay agarwal [Thu, 28 Nov 2019 11:35:41 +0000 (17:05 +0530)]
Remove payload from device
payload would be added to device-service instead of only being device specific
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
Abhay agarwal [Thu, 28 Nov 2019 10:48:30 +0000 (16:18 +0530)]
Seperate payload database table from device table
For a device, each service can have different payload.
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
Abhay agarwal [Thu, 28 Nov 2019 04:23:38 +0000 (09:53 +0530)]
Rename duid to device_uid
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
Abhay agarwal [Wed, 27 Nov 2019 06:36:02 +0000 (12:06 +0530)]
Rename ble payload purpose to secondary key
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
Abhay agarwal [Wed, 27 Nov 2019 06:08:41 +0000 (11:38 +0530)]
Rename ble payload service_id to primary_key
Renamed to hide SEC BLE Adv format
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
saerome.kim [Thu, 12 Dec 2019 06:10:38 +0000 (15:10 +0900)]
Fix crash issue
- problem: Crash takes place when doing adding a device and detection
simultaneously.
- Cause: timer callback tries to remove freed memory.
- Solution: Remove timer when removing an async request.
Change-Id: I24be2a3c53ee18e8f3c97be46348a05b03a0782d
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
Lokesh [Wed, 11 Dec 2019 10:19:41 +0000 (15:49 +0530)]
Change UAM_ASYNC_REQUEST_TIMEOUT to 11 from 10 sec
Problem: While adding wifi device with broadcast mac address, and device is not
discoverable, the request_list is cleaned by __uam_request_context_timeout_cb()
before plugin callback came (within 10 sec).
Solution: Plugin tries for 10 seconds, so wait for 11 seconds.
Change-Id: I2bbfc38ccfec65035ecfbb61bf30c20749ee44dd
Signed-off-by: Lokesh <l.kasana@samsung.com>
saerome.kim [Thu, 5 Dec 2019 10:25:17 +0000 (19:25 +0900)]
Remove unnecessary error log
Change-Id: I4fa6b31e6511ccef0e3b827b939663146eb9a4bc
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
saerome.kim [Thu, 5 Dec 2019 09:22:22 +0000 (18:22 +0900)]
Fix that the device is not added while detecting devices.
- Problem: If adding a device while detecting the device, the first device
detection callback is not called.
- Cause: If the broadcast MAC is used as a source filed in APR Request packet,
can't distinguish ARP Response whether the device detected or the device added.
- Solution: Modified the device is not added while detecting devices.
Change-Id: Iad779411cecc89869b1aa77522cefd22e7106ecb
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
saerome.kim [Thu, 5 Dec 2019 08:35:55 +0000 (17:35 +0900)]
Increase 'enable' method timeout
- Problem: At the time of booting, failt to start ua-manager.
- Cause: It takes a long time for sensor framework to operate.
- Solution: Temporarily increase the response waiting time of the enable method
to start ua-amanger.
Change-Id: I136d689180535ffe86431c97ad82eb00fb259632
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
saerome.kim [Thu, 5 Dec 2019 05:38:06 +0000 (14:38 +0900)]
Fix the issue that MAC cannot be updated when adding a device to broadcast MAC
- Problem: The actual MAC is not applied even if the ARP response is received
from the device added with broadcast MAC.
- Cause: MAC is managed as a unique key.
- Solution: Modified so that MAC can be changed.
Change-Id: Ic9f1b1b0a9b5694b9275302354df9e36a78d3da4
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
Lokesh [Wed, 4 Dec 2019 08:49:57 +0000 (14:19 +0530)]
Revert "Add DB functionality for device users mapping"
This reverts commit
1afd2d3aeb9758f4f894c3aa917874da82d33c3b.
Change-Id: I5a76569e7190643c7dfc726dbdeca01d1cb27723
Lokesh [Wed, 4 Dec 2019 08:49:12 +0000 (14:19 +0530)]
Revert "Identify whether device is already registered and not"
This reverts commit
5ac8bb7cef537a0db489b1a364c4bffbf8ca0dbf.
Change-Id: I5164eb00ff30c9006786ce963ba1810023588364
Lokesh [Wed, 4 Dec 2019 08:47:51 +0000 (14:17 +0530)]
Revert "Fix the problem that can't access the device-users table"
This reverts commit
798a02d0faca05dc6a7a5124c382471e43efd381.
Change-Id: Iae2c03b1fa6c9826c420f9e3d9a6de07820643a4
Signed-off-by: Lokesh <l.kasana@samsung.com>
saerome.kim [Tue, 3 Dec 2019 12:29:45 +0000 (21:29 +0900)]
Fix memory leak
- Problem: Even clients app. died, ua-manager keeps dead client's
monitor handle.
- Cause: ua-manager does not care for the dead client app.
- Solution: Remove the client's monitor handle if the client requests un-initialization.
Change-Id: I992bf5a6234675fbc3b81fad7f97b530e4019ae4
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
Lokesh [Fri, 29 Nov 2019 08:19:46 +0000 (13:49 +0530)]
[Fix] Write service specific device last_seen in DB
Issue:
On device detection, update service specific device last_seen in DB.
At time of service_add_device/user(), this last_seen must initialisze from 0,
as per jira statement(https://code.sec.samsung.net/jira/browse/TSYSCON-1948).
Change-Id: I4c7d46fc6ff43f6a09d27df671805eb5f33bfb69
Signed-off-by: Lokesh <l.kasana@samsung.com>
saerome.kim [Fri, 29 Nov 2019 04:43:17 +0000 (13:43 +0900)]
Fix the problem that can't access the device-users table
- Problem: After DB reset, ua-manager can't create the device-users table.
- Cause: Attempt to access a table that does not exist.
- Solution: Modified the device-users table name as intended.
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
saerome.kim [Mon, 25 Nov 2019 11:43:29 +0000 (20:43 +0900)]
Remove error-logging when removing un-opened DB
- Problem: An error is displayed while attempting to delete an unopened DB.
- Cause: vendor plugin tried to clear DB but ua-manager did not open DB file.
- Solution: If the DB is not open, the error is returned.
Change-Id: Ifc3f13cc18ab362ebd1c18910ee6a430449b0732
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
saerome.kim [Mon, 25 Nov 2019 11:33:14 +0000 (20:33 +0900)]
Make unclear code as clear
- Problem: The Coverity regarded that ua-manager refering freed() pointer.
- Cause: The input param and the param in the list may not be the same value.
- Solution: Clarify variable name.
Change-Id: I13597ecfcd79843e7ba7222b2282e6e5dd8b6dc3
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
Lokesh [Fri, 22 Nov 2019 02:04:04 +0000 (07:34 +0530)]
Identify whether device is already registered and not
Change-Id: I14be9dd70c03f3d40e2b4d4e953b5ad72c2c5c33
Signed-off-by: Lokesh <l.kasana@samsung.com>
Lokesh [Fri, 22 Nov 2019 02:04:04 +0000 (07:34 +0530)]
Add DB functionality for device users mapping
Change-Id: Id41e248ce14ed1f1fdb75fec2aa2680077e5855d
Signed-off-by: Lokesh <l.kasana@samsung.com>
saerome.kim [Fri, 22 Nov 2019 01:31:15 +0000 (10:31 +0900)]
Fix build error occurred in sensor plugins
- Problem: Build break took place when building Light/Motion plugins.
- Cause: member variable name had been changed in uas_sensor_info_t.
- Solution: Backout the change.
Change-Id: Id8c10d798a28427451d81b16772603490f24dcd0
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
Nishant Chaprana [Thu, 21 Nov 2019 14:12:36 +0000 (19:42 +0530)]
Provide pending request TRUE only for already registered but not verified device.
- Problem: Pending request returns TRUE when last registered device which is not
yet verified by plugin, even for different device.
- Cause: __uam_manager_is_request_pending() only checks for matching function
before returning result.
- Solution: Match device_id for UAM_REQUEST_ADD_DEVICE before returning result.
Change-Id: Ie0d148f821932eb195547c47939917bb7bdbba60
Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
Nishant Chaprana [Thu, 21 Nov 2019 14:04:41 +0000 (19:34 +0530)]
Fix handle leak when loading plugins
- Problem: dlopen() returned handle was leaking when loading plugins in loop.
- Cause: dlcose() not called when plugin add operation fails.
- Solution: Call dlcose() when plugin add operation fails.
Change-Id: Id3c1d9a42fb2ef8b9b9e5b64393c40f6e771d9fc
Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
saerome.kim [Thu, 21 Nov 2019 08:33:14 +0000 (17:33 +0900)]
Fix crash issue
- Problem: A crash may occur in a multi-client environment.
- Cause: A crash may occur if a request is deleted in the middle while
processing the async request included in the list.
- Solution: Modified so that the list is not broken by deleting the request
while processing the request.
Change-Id: Ic51e4571ea10d7922b429d2712b8a3ed4dccc512
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
saerome.kim [Thu, 21 Nov 2019 08:29:56 +0000 (17:29 +0900)]
Update a missing column for device-services table
Change-Id: I1f9b7864cc44bb37e63c51dc713e7c0c38d07194
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
saerome.kim [Thu, 21 Nov 2019 04:39:37 +0000 (13:39 +0900)]
Change the last seen that has never been added or detected by the service to 0
- Problem: The last_seen information may not be 0 even if the service is not executed.
- Cause: We are adding the last_seen info regardless the service.
- Solution: The device information added to the service is initialized to 0.
Change-Id: I14249599db420b25e47098c83eaa17ed1d65182e
Signed-off-by: Lokesh <l.kasana@samsung.com>
saerome.kim [Thu, 21 Nov 2019 04:39:37 +0000 (13:39 +0900)]
Fix the problem that can't add a device from next time once add_device_failed.
- Problem: Once add_device failed, we can't add the device anymore.
- Cause: The request stored in the internal queue is not deleted.
- Solution: If the request is not processed for a certain period of time,
remove the request from the queue
Change-Id: I14990e3854d599ca3adfed491f64bb215e94d232
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
saerome.kim [Wed, 20 Nov 2019 11:10:56 +0000 (20:10 +0900)]
Modify to store last seen information of device added by service in DB
- Problem: Once a client app restarts, the previous last seen information is 0.
- Cause: As a requirement, last seen information of service-specific device
should be stored in DB
- Solution: Save the last seen information to the DB.
Change-Id: Ifd1e41c0c822b2274262d3aea6c723e192945822
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
Lokesh [Tue, 19 Nov 2019 05:36:17 +0000 (11:06 +0530)]
Reduce calls to _uam_get_timestamp()
Instead use the value stored in tech->timestamp
Change-Id: I1017043c45a0fd53cd2f962c6168a1e7a902c7d2
Signed-off-by: Lokesh <l.kasana@samsung.com>
Lokesh [Mon, 18 Nov 2019 14:00:04 +0000 (19:30 +0530)]
Support multiple timestamp for each service
Change-Id: I67acdcfa5e4ba8a6d8de68f7e37dfcd4f58adf01
Signed-off-by: Lokesh <l.kasana@samsung.com>
saerome.kim [Mon, 18 Nov 2019 04:13:03 +0000 (13:13 +0900)]
Fix memory leak
- Problem: heap is increasing a bit by bit.
- Cause: BT_MAC is not freed.
- Solution: make BT_MAC free.
Change-Id: I0f118ba74c2e62c81561080751338a4925044b2a
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
saerome.kim [Thu, 14 Nov 2019 09:59:11 +0000 (18:59 +0900)]
Change the timestamp value to use the monotonic timer
- Problem: real-time timestamp causes various problems.
- Cause: If the time zone is changed or the system time is initialized,
the wrong timestamp may be generated.
- Solution:
1. Change to use the monotonic timer when creating a timestamp.
2. Add new plugin API that enables the BLE plugin can save real-time
timestamp.
Change-Id: I2508ecdb15977f6278fb2eeec89dc5caba77537f
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
saerome.kim [Thu, 14 Nov 2019 09:59:11 +0000 (18:59 +0900)]
Change the timestamp value to use the monotonic timer
- Problem: real-time timestamp causes various problems.
- Cause: If the time zone is changed or the system time is initialized,
the wrong timestamp may be generated.
- Solution:
1. Change to use the monotonic timer when creating a timestamp.
2. Add new plugin API that enables the BLE plugin can save real-time
timestamp.
Change-Id: I24c1dbbec39417f6f13ec87dfff8c3239572722c
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
Lokesh [Thu, 14 Nov 2019 11:28:00 +0000 (16:58 +0530)]
Change position of _uam_pm_stop_detection()
Do _uam_pm_stop_detection() for both presence and absence together,
so that motion plugin sends detection_stopped event.
Change-Id: I9fb0e1696c16cb59eb0c3c7f910101844364b5ec
Signed-off-by: Lokesh <l.kasana@samsung.com>
Abhay agarwal [Mon, 11 Nov 2019 06:10:05 +0000 (11:40 +0530)]
Start continuous detection only on sensors present in monitor
Instead of always starting continuous detection, start only when particular
environmental sensor is being detected by atleast one application.
Change-Id: I0e4baac40074fcd7b1cedf139dfe1e773b1c7049
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
Lokesh [Mon, 11 Nov 2019 01:43:55 +0000 (07:13 +0530)]
In detection_stopped event, consider when no environmental sensors exist
1/ If there is no environmental sensor, send UAM_DETECTION_CYCLE_END only once.
2/ First update service->remaining_time, then start various detections.
3/ Environmental sensors may send detection_stopped before start_detection of
connectivity sensor, which results in multiple detection stopped events to CAPI
within a detection window.
Change-Id: I1c149fe8be8f3f86bf053ac8167df765948df72e
Signed-off-by: Lokesh <l.kasana@samsung.com>
Lokesh [Wed, 6 Nov 2019 10:12:39 +0000 (15:42 +0530)]
Detection stopped event updated with detection cycle mid/end
Every one minute we receive environmental presence/absence and detection
stopped calls. Earlier _uam_core_handle_detection_stopped() sends
detection_stopped_event which then called __ua_user_state_clean() and
cleaned recorded WIFI/BLE data in CAPI. Hence it cannot be used for
next one minute cycles of environmental sensors.
Change-Id: Ibad4cbf5e05840b31a593984a0f00f1ca4b72ae9
Signed-off-by: Lokesh <l.kasana@samsung.com>
Lokesh [Thu, 7 Nov 2019 08:40:25 +0000 (14:10 +0530)]
Fix first detection stopped callback due to motion sensor
_uam_core_handle_detection_stopped() should work only if detection has been
started on that sensor previously.
Change-Id: I32b04ed63bc108606a59c0d64066cf9efa42ad52
Signed-off-by: Lokesh <l.kasana@samsung.com>
saerome.kim [Thu, 14 Nov 2019 03:37:49 +0000 (12:37 +0900)]
Fix memory leak
- Problem: during aging test, heap is increasing bit by bit.
- Cause: when updating the device list, the BLE payload is not freed.
- Solution: release BLE payload after updating the device list.
Change-Id: I2019643888883ca1c53ea16d9565e178ab6ec28f
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
saerome.kim [Mon, 11 Nov 2019 10:34:35 +0000 (19:34 +0900)]
Add functionality that allow changing user's name
- Problem: Users want to change their name.
- Cause: it is not supported to change the user name once user information
added to ua-manager DB.
- Solution: Make the user can change his name even user-information added.
Change-Id: I54901e5c24da13239e8cce7d35063d15ed6ca975
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
Abhay agarwal [Mon, 11 Nov 2019 07:40:05 +0000 (13:10 +0530)]
Fix crash issue on sensor status change event
ua-manager crash was observed with sensor status change event
Destination: [(null)], event: [UNKNOWN ERROR], signal: [SensorStatusChanged]
Change-Id: I04610425e6019c51d3bd083ee59084a706e93eff
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
saerome.kim [Fri, 8 Nov 2019 09:46:19 +0000 (18:46 +0900)]
Add the compiler flag required for performing GTest
Change-Id: I3d3b21e4f0dc34e351dd060d4aeff5a72fbee575
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
saerome.kim [Fri, 8 Nov 2019 08:52:10 +0000 (17:52 +0900)]
Fixed the problem where enabler method fails
- Problem: The net.uamd.enabler method call fails.
- Cause: Invoke the 'enable' method to an object is not registered in
dbus system.
- Solution: Remove 'enabler' interface and combine 'enabler' to
'/net/uamd' interface
Change-Id: Ia40394ceb7d83a4305b0c0ab953ea6ffc423f9df
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
saerome.kim [Fri, 8 Nov 2019 08:44:37 +0000 (17:44 +0900)]
Apply secure option
- Problem: There is no FORTIFY option.
- Cause: Unlike the SSP that catches the stack BOF, a protection technique is
needed to catch the BOF that occurs in a general memory buffer.
- Solution: apply FORTIFY and stack-canar options.
Change-Id: I1c1d45f1edfb0e017bdd8a3a3c1f42469f324220
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
saerome.kim [Fri, 8 Nov 2019 06:19:09 +0000 (15:19 +0900)]
Fix the problem of not removing the device added to the default user or service
- Problem: can't remove a device from default-user.
- Cause: A device can be added to a default user or a default service,
but can not be deleted.
- Solution: Deleting the default user checker.
Change-Id: I7bcce4fd4ac45e411e1be19fb793cf1532d366f7
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
saerome.kim [Fri, 8 Nov 2019 06:02:23 +0000 (15:02 +0900)]
Countermeasure if time() returns -1
- Problem: timestamp value may contain abnormal value.
- Cause: time() can retuern -1.
- Solution: We agreed to set the timestamp to 0 when time() returns -1.
Change-Id: I8d6189212589d28f09bac75b6075d7652415f4c7
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
Lokesh [Tue, 5 Nov 2019 08:55:43 +0000 (14:25 +0530)]
Set default values for payload
Change-Id: I2d863d2c0ff566bab6a5910613adc6912adddc38
Signed-off-by: Lokesh <l.kasana@samsung.com>
Abhay agarwal [Mon, 4 Nov 2019 15:28:37 +0000 (20:58 +0530)]
Improve error handling by returning error code
Change-Id: Idb6b9e9f2076972a0a4d4a2dedd173d7badfbc48
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
Abhay agarwal [Mon, 4 Nov 2019 05:35:20 +0000 (11:05 +0530)]
Remove duplicate code to copy device
Change-Id: Idb87db47775d437a19d9c18f4321de6e41870f4f
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
Abhay agarwal [Mon, 4 Nov 2019 04:38:29 +0000 (10:08 +0530)]
Return error code while handling devices
- Improve error handling by returning error code
Change-Id: I6d0da4c9a819345b808aaa913c2fa31e00f431a4
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
Abhay agarwal [Thu, 31 Oct 2019 06:16:07 +0000 (11:46 +0530)]
Modify DB transactions to return when fail
- Problem: If the transaction fails, more queries are being run on database
to insert/update/delete data from it without starting the transaction.
- Solution: Rollback and return from the function when transaction fails.
Change-Id: I086e56cae6a4964925fd8ee63b486469fe052314
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
saerome.kim [Fri, 1 Nov 2019 01:10:13 +0000 (10:10 +0900)]
Fix the problem that can't add a device to a user
- Problem: Once user_id exceeded 0xFFFF then can't add a device to the
user anymore.
- Cause: ua-manager is managing user_id as a maximun 16-bit unsigned
integer.
- Solution: change user_id type to 32-bit integer.
Change-Id: I31cdf1fe7bc7ed580091f81fd50f48882f715cbe
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
Lokesh [Thu, 31 Oct 2019 09:29:40 +0000 (14:59 +0530)]
Fix NULL dereferencing
Check null dereferencing while reading payload variables from device database.
Change-Id: Icd52bf9ebe27c6380b3974635f9dce524f94c837
Signed-off-by: Lokesh <l.kasana@samsung.com>
Lokesh [Thu, 31 Oct 2019 07:43:48 +0000 (13:13 +0530)]
Fix memcpy's size parameter
Change-Id: Ie61b3d2aa18a1967d7b833d322584fdbf933ff65
Signed-off-by: Lokesh <l.kasana@samsung.com>
saerome.kim [Wed, 30 Oct 2019 01:54:48 +0000 (10:54 +0900)]
Fix the problem that the device can not be added to default_user
- Problem: Unable to add device to default_user.
- Cause: ua-manager regards default_user's ID is always 1.
However, If ua-manager has a problem occurred while accessing user-db,
so all user information is deleted. In this case the user id of the default user
is added to a value that is not 1.
- Solution: Deletes the hard-coded default user ID is 1.
Change-Id: I0d79364107aa7416c5b64b9481d2edc83801fbc4
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
saerome.kim [Mon, 28 Oct 2019 12:33:16 +0000 (21:33 +0900)]
Fix the problem that DB cannot be deleted if DB is not initialized.
- Problem: During factory reset, vendor-plugin can't initialize the DB.
- Cause: The DB was not opened before the DB initialization.
- Solution: Delete the DB when reset_cb() is called.
Change-Id: I65394d0c4ab9b9719cbe3f9f63f1ef82d243a583
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
Abhay agarwal [Thu, 24 Oct 2019 07:58:13 +0000 (13:28 +0530)]
Add supoort for database transactions
Change-Id: I5b1d1d07ad15385d4186647694f4f3bbbeb3aad0
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
saerome.kim [Wed, 23 Oct 2019 12:31:58 +0000 (21:31 +0900)]
Modify ua-manager to support the vendor-plugin
- Problem: we decided to remove the power-plugin.
- Cause: Recently, we decided to remove the power plugin and use the
power-plugin.
- Solution: Modify ua-manager to support the vendor-plugin instead of
the power plugin.
Change-Id: I3b726d46282fd6dfd437f7121a6209020ea4251d
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
saerome.kim [Tue, 22 Oct 2019 07:24:41 +0000 (16:24 +0900)]
Modify to add the sensor status to sensor information
Change-Id: Ifc5394bde0f83e057b006072faebd254d3500ad9
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
saerome.kim [Mon, 21 Oct 2019 11:44:26 +0000 (20:44 +0900)]
Fix the problem that the Sensor Frameowk and UAF use different data
format
- Problem: The data format of timestamp is not different from the sensor framework.
- Cause: The UAF uses 32 bit timestamp but the sensor framework uses 64
bit timestamp.
- Solution: Change timestamps in UAF with 64-bit unsigned long long.
Change-Id: I237f7201d7e7fed00858c47ca9350fcb1ad655c4
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
saerome.kim [Mon, 21 Oct 2019 11:35:16 +0000 (20:35 +0900)]
Add functionality to report instant sensor status change
- Problem: in ABSENCE case, even the motion sensor detects ABSENCE
ua-manager reports this ABSENCE state after the detection window complete.
- Cause: If ABSENCE case, the ABSENCE can be jurged only when the
detction window complete.
- Solution: Whenever the sensor status is changed, plugin reports status
changed event immediately so that the user can recognize ABSENCE event
takes place during uncompleted ABSENCE detection window.
Change-Id: Ia5b12304976db4b89e5fa0977ea366a08361fc0e
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
saerome.kim [Thu, 17 Oct 2019 09:32:00 +0000 (18:32 +0900)]
Add new API to set low power mode
- Problem: it is needed that new API that can set low power mode
- Cause: without adding new API, build break occurs.
- Solution: add new API to set low power mode.
Change-Id: Ib5f9d4a4492953a146a383abdf32f7b7a7947d62
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
Abhay agarwal [Wed, 16 Oct 2019 15:23:23 +0000 (20:53 +0530)]
Modify APIs to set low power mode for individual plugin
Change-Id: I582417d1ee1df84043b17e36a97e4b8c06153016
Signed-off-by: Abhay agarwal <ay.agarwal@samsung.com>
Lokesh [Mon, 14 Oct 2019 03:51:55 +0000 (09:21 +0530)]
Return detailed error_code in _uam_add_ibeacon_adv_data()
Change-Id: I17f3d23aa5c7fdd8c5332858ae4190a439abc6f5
Signed-off-by: Lokesh <l.kasana@samsung.com>
Abhay Agarwal [Fri, 11 Oct 2019 06:24:57 +0000 (15:24 +0900)]
Add APIs to support update service functionality
Update service functionality is required to update service information
like presence threshold and absence threshold.
Change-Id: Ic7e8ab3c4efeef1c33d491bbc848a8e67e0de360
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
saerome.kim [Fri, 11 Oct 2019 02:06:14 +0000 (11:06 +0900)]
Fix a problem that ADD_DEVICE operation failed
- Problem: if the wrong information is entered and failed to ADD_DEVICE.
user apps can't add devices anymore.
- Cause: When one app removes the user information while adding the device,
there is no way to know how the ADD_DEVICE operation succeeded or not.
- Solution: notify the user with an error when ADD_DEVICE failed.
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
Abhay Agarwal [Tue, 8 Oct 2019 09:25:36 +0000 (18:25 +0900)]
Manage device and service number with autoincrement property of sqlite
This patch modifies to manage database table field service_number, device_number
user_id and ibeacon_id with autoincrement property of sqlite.
Managing these field manually can result in unnecessary conflicts.
Change-Id: I159b9491d6984c56047a815d02f6d35123feb60d
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Abhay Agarwal [Tue, 8 Oct 2019 03:04:14 +0000 (12:04 +0900)]
Fix busy handler implementation and update database handle name
Use a more specific database handle name instead of using 'database', since this
may conflict with other global variables from external libraries by accident
Change-Id: If1cca3013dc8558d80722f3582c416243a4e41df
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Abhay Agarwal [Tue, 8 Oct 2019 06:42:17 +0000 (15:42 +0900)]
Fix to print proper error message from the sqlite database handle in error case
Change-Id: Ic08a3e880931dba225decbd757b456a303b2bb76
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Abhay Agarwal [Mon, 7 Oct 2019 09:57:57 +0000 (18:57 +0900)]
Remove database recovery logic when sqlite command fails
Current database recovery logic delete the current database and create a new database when
SQLite command fail, although SQLite cammand can also fail in case database is busy or locked.
Change-Id: Ib361c118427a5ef9f3ce6142c4d44d75475a045e
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Nishant Chaprana [Mon, 7 Oct 2019 06:15:12 +0000 (11:45 +0530)]
[Fix] Dereference after free issue in _pm_util_uas_device_info_free()
Change-Id: I813852e34b52bd72f11fcb59e5b9e71f661f8515
Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
saerome.kim [Fri, 4 Oct 2019 09:45:56 +0000 (18:45 +0900)]
Fixed potential memory leak issue and prevent crash
There is a process of removing the user's device in the user remove process.
At that time, the tech_info that was put in the service list was not deleted
from the list.
Change-Id: If9cb86e2684b8cb434275560f719588f5f18b4d4
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
Abhay Agarwal [Fri, 4 Oct 2019 07:06:26 +0000 (16:06 +0900)]
Added support to get service specific device discriminant
Change-Id: I9c39654fd4d64731f680e425b31e53b0f42b3ede
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Abhay Agarwal [Fri, 4 Oct 2019 01:39:47 +0000 (10:39 +0900)]
Improve error handling and return error code in case of failure
This commit improves the error handling in ua-manager by returning error codes
in case of failures instead of just giving warnings.
Change-Id: I2eddd477c04e2fd2a5d33842d8659fceff6b65d7
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Abhay Agarwal [Fri, 4 Oct 2019 01:10:28 +0000 (10:10 +0900)]
Improve database API names
This commit modifies and improves the names of database APIs.
This changes API names from _ua_ to _uam_ to follow consistency in ua-manager.
Change-Id: I84132dbd0af3ddd3e5865eed0384921310810f63
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Abhay Agarwal [Wed, 2 Oct 2019 11:49:04 +0000 (20:49 +0900)]
Add Database APIs to provide device service info during init
Change-Id: Icc1e80615aafdde423c53ec9e3d4e64372d0d323
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Abhay Agarwal [Wed, 2 Oct 2019 10:30:24 +0000 (19:30 +0900)]
Handle service device mapping and filter detected devices
This commit handles the service specific device discriminant and filters
the detected devices from plugins based on this discriminant.
Change-Id: I5c2194f455a51403161a6011665d606c0677a4ed
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Abhay Agarwal [Wed, 2 Oct 2019 07:00:01 +0000 (16:00 +0900)]
cleanup device services table when a device is removed
This commit cleanup the corresponding device entries from device_services table.
Change-Id: Ie8d3166f520a7577f547c22966907b92f1a7b054
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Abhay Agarwal [Wed, 2 Oct 2019 01:02:49 +0000 (10:02 +0900)]
Database APIs to update device service information
Change-Id: I61ccb0da2cbcf76e8c7a38ba7f2e8b8a77e047c1
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Abhay Agarwal [Wed, 2 Oct 2019 02:36:30 +0000 (11:36 +0900)]
Database modifications to handle service specific discriminant
Change-Id: I836d476ef93e473f8dfe2119b25cb400e4628b5c
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Abhay Agarwal [Tue, 1 Oct 2019 03:59:31 +0000 (12:59 +0900)]
Provide service based device discriminant
Change-Id: I4e88160885fcdd80679a45539126890080718a9f
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Abhay Agarwal [Tue, 1 Oct 2019 01:08:46 +0000 (10:08 +0900)]
UA-API Modification for service based device discriminant
Change-Id: If9a8e63f2b2ed0fdd0638abee09bee4105cf3430
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Abhay Agarwal [Wed, 2 Oct 2019 02:10:54 +0000 (11:10 +0900)]
Send presence/absence events when sensor info is NULL
This commit sends the presence/absence events to capi with NULL
values in case sensor info received is NULL.
1087646: var_deref_model: Passing null pointer sensor_info to
__send_sensor_presence_event, which dereferences it.
Change-Id: I9f18cf338e94b41d40211e0d8d7bd3218d775366
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
saerome.kim [Tue, 1 Oct 2019 22:49:07 +0000 (07:49 +0900)]
Fixed crash issue
A crash occurs in a harsh environment because the memory is broken.
To prevent incorrect access, make variables allocated to heap as null after
variable free().
Change-Id: Iee9c4df9af93354ff96e179765d22c39aa2df685
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Abhay Agarwal [Tue, 1 Oct 2019 06:23:06 +0000 (15:23 +0900)]
Provide sensor information in absence callback
This commit modifies the absence sensor callback and provides the detected
sensor information to CAPI for environmental sensors.
Change-Id: Ib80eaa7377c69c630bdc76703445f16e23d2fd86
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
Nishant Chaprana [Mon, 30 Sep 2019 14:55:22 +0000 (20:25 +0530)]
[Fix] [GLib Err] GLib-0x08: g_variant_unref: assertion 'value->ref_count > 0' failed
Change-Id: I2eb368406a9ad8684fa28269194fa674c1995ca6
Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
saerome.kim [Mon, 30 Sep 2019 12:24:31 +0000 (21:24 +0900)]
Fixed a problem that can't create DB.
If there is no DB file or the size is 0, the DB file is not created.
Change-Id: If967a1ae63f1d0d61a344ff805663e1be647bbe0
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
Abhay Agarwal [Mon, 30 Sep 2019 08:18:05 +0000 (17:18 +0900)]
[Fix] services receiving detection callback on every detection for connectivity sensors.
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
This patch fix the issue of services receiving detection callback after every detection.
After this patch services will only receive detection event only once in their detection cycle.
This patch does not affect the environmental sensors callback.
Change-Id: Idea2cf785dbe302c921ef18f67d70bc500896dbd
Nishant Chaprana [Fri, 27 Sep 2019 07:22:13 +0000 (12:52 +0530)]
[Fix] possible null pointer dereference
Change-Id: I7200c678c1aa3d9c40b44cab18c5fe84a065b9a3
Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
saerome.kim [Fri, 27 Sep 2019 06:24:42 +0000 (15:24 +0900)]
Set default light threshold as 2
Change-Id: I4a4da9d914bffb0535a803b5f24080aaa26fb850
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
Abhay Agarwal [Fri, 27 Sep 2019 03:51:07 +0000 (12:51 +0900)]
Allow device to be removed when discriminant disabled
Change-Id: I5aeb906656032597a6656ccceeed02706239e4e7
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
saerome.kim [Fri, 27 Sep 2019 01:38:01 +0000 (10:38 +0900)]
Fixed svace issues.
410291: Potential Memory Leak.
410713: Handle leak of SQLLite statement.
401702, 410740, 410741: Memory leak.
410742: Missing null-check.
Change-Id: I709b77dc29699c434e94bc5645455bcfdeb53bed
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
Abhay Agarwal [Thu, 26 Sep 2019 05:30:15 +0000 (14:30 +0900)]
Update default presence/absence threshold
Change-Id: I3ef0ad7c4cdecaa7e2dcabb4d696f2bc53623e6b
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>