ble-fast-pair: disconnect connected device before exit. [1/1]

PD#SWPL-195532

Problem:
The A2DP sink is not discovable after switch
from CIS sink mode to A2DP sink mode if ble
connection is kept.

Solution:
Disconnect connected ble device before exit blefastpair.

Verify:
AD401

Change-Id: Iec6ed147eec6272cfa7c6fb5d93e32d65a2afaaa
Signed-off-by: ye.he <ye.he@amlogic.com>
diff --git a/ble-fast-pair/ble_audio_advertiser.c b/ble-fast-pair/ble_audio_advertiser.c
index d71ab4b..b6943b4 100644
--- a/ble-fast-pair/ble_audio_advertiser.c
+++ b/ble-fast-pair/ble_audio_advertiser.c
@@ -94,6 +94,20 @@
     }
 
     if (default_adapter != NULL) {
+        GList *device_list = NULL;
+        GList *iterator = NULL;
+        Device *device = NULL;
+
+        device_list = binc_adapter_get_connected_devices(default_adapter);
+        for (iterator = device_list; iterator != NULL; iterator = iterator->next) {
+            device = (Device *)iterator->data;
+            if (device) {
+                log_debug(TAG, "Connected Device Name: %s", binc_device_get_name(device));
+                log_debug(TAG, "Connected Device Address: %s", binc_device_get_address(device));
+                binc_device_disconnect(device);
+            }
+        }
+        //binc_adapter_discoverable_on(default_adapter);
         binc_adapter_free(default_adapter);
         default_adapter = NULL;
     }
@@ -161,9 +175,9 @@
         device_list = binc_adapter_get_devices(default_adapter);
         for (iterator = device_list; iterator != NULL; iterator = iterator->next) {
             device = (Device *)iterator->data;
-            log_debug(TAG, "Device Name: %s\n", binc_device_get_name(device));
-            log_debug(TAG, "Device Address: %s\n", binc_device_get_address(device));
             if (device) {
+                log_debug(TAG, "Device Name: %s", binc_device_get_name(device));
+                log_debug(TAG, "Device Address: %s", binc_device_get_address(device));
                 binc_adapter_remove_device(default_adapter, device);
             }
         }
diff --git a/ble-fast-pair/ble_audio_bis_sink.c b/ble-fast-pair/ble_audio_bis_sink.c
index 22cc050..752ead1 100644
--- a/ble-fast-pair/ble_audio_bis_sink.c
+++ b/ble-fast-pair/ble_audio_bis_sink.c
@@ -104,6 +104,20 @@
             binc_adapter_power_on(default_adapter);
         }
 
+        GList *device_list = NULL;
+        GList *iterator = NULL;
+        Device *device = NULL;
+
+        device_list = binc_adapter_get_devices(default_adapter);
+        for (iterator = device_list; iterator != NULL; iterator = iterator->next) {
+            device = (Device *)iterator->data;
+            if (device) {
+                log_debug(TAG, "Device Name: %s", binc_device_get_name(device));
+                log_debug(TAG, "Device Address: %s", binc_device_get_address(device));
+                binc_adapter_remove_device(default_adapter, device);
+            }
+        }
+
         if (!media_setup(dbusConnection)) {
             log_debug(TAG, "media setup success");
             media_set_bcast_sync_state_cb(bcast_sync_state_change_cb);