device: Fix missing Paired property change on non-bonded device 34/204934/1
authorSzymon Janc <szymon.janc@codecoup.pl>
Tue, 6 Mar 2018 14:15:14 +0000 (15:15 +0100)
committerAmit Purwar <amit.purwar@samsung.com>
Fri, 26 Apr 2019 10:43:31 +0000 (16:13 +0530)
If device is paired but not bonded than Paired property should be
also updated when device is disconnected.

Change-Id: Ic4b49d25692dd09807196444f20be76212b96b30
Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
src/device.c

index 745362e..5b7c0b9 100644 (file)
@@ -4469,9 +4469,18 @@ void device_remove_connection(struct btd_device *device, uint8_t bdaddr_type)
                dbus_message_unref(msg);
        }
 
-       if (state->paired && !state->bonded)
+       if (state->paired && !state->bonded) {
                btd_adapter_remove_bonding(device->adapter, &device->bdaddr,
                                                                bdaddr_type);
+               state->paired = false;
+
+               /* report change only if both bearers are unpaired */
+               if (!device->bredr_state.paired && !device->le_state.paired)
+                       g_dbus_emit_property_changed(dbus_conn, device->path,
+                                                       DEVICE_INTERFACE,
+                                                       "Paired");
+       }
+
 
 #ifndef TIZEN_FEATURE_BLUEZ_MODIFY
        if (device->bredr_state.connected || device->le_state.connected)