3939import com .radio .codec2talkie .settings .PreferenceKeys ;
4040
4141import java .util .Arrays ;
42+ import java .util .Set ;
4243
4344public class BleConnectActivity extends AppCompatActivity {
4445 private static final String TAG = BleConnectActivity .class .getSimpleName ();
@@ -169,12 +170,14 @@ public void onScanResult(int callbackType, ScanResult result) {
169170 super .onScanResult (callbackType , result );
170171 String deviceName = result .getDevice ().getName () + " | " + result .getDevice ().getAddress ();
171172 if (_btArrayAdapter .getPosition (deviceName ) == -1 ) {
173+ Log .i (TAG , "Found device:" + deviceName );
172174 _btArrayAdapter .add (deviceName );
173175 }
174176 }
175177 };
176178
177179 private void startDevicesScan () {
180+ Log .i (TAG , "Started BLE scan" );
178181 _btArrayAdapter .clear ();
179182
180183 ScanFilter .Builder scanFilterBuilder = new ScanFilter .Builder ().setServiceUuid (new ParcelUuid (BleGattWrapper .BT_KISS_SERVICE_UUID ));
@@ -224,6 +227,24 @@ private void gattConnectToBluetoothClient(String address) {
224227 }
225228 }
226229
230+ private void populateBondedDevices () {
231+ BluetoothAdapter bluetoothAdapter = BluetoothAdapter .getDefaultAdapter ();
232+ if (bluetoothAdapter == null ) return ;
233+
234+ Set <BluetoothDevice > pairedDevices = bluetoothAdapter .getBondedDevices ();
235+ if (pairedDevices .isEmpty ()) return ;
236+
237+ for (BluetoothDevice device : pairedDevices ) {
238+ if (device .getType () == BluetoothDevice .DEVICE_TYPE_LE ) {
239+ String deviceName = device .getName () + " | " + device .getAddress ();
240+ if (_btArrayAdapter .getPosition (deviceName ) == -1 ) {
241+ Log .i (TAG , "Found bonded device:" + deviceName );
242+ _btArrayAdapter .add (deviceName );
243+ }
244+ }
245+ }
246+ }
247+
227248 private final Handler onBtStateChanged = new Handler (Looper .getMainLooper ()) {
228249 @ Override
229250 public void handleMessage (Message msg ) {
@@ -238,7 +259,9 @@ public void handleMessage(Message msg) {
238259 }
239260 } else if (msg .what == BT_SCAN_COMPLETED ) {
240261 toastMsg = getString (R .string .bt_ble_scan_completed );
262+ Log .i (TAG , "Completed BLE scan" );
241263 _btBleScanner .stopScan (leScanCallback );
264+ populateBondedDevices ();
242265 } else if (msg .what == BT_GATT_CONNECT_SUCCESS ) {
243266 toastMsg = getString (R .string .bt_le_gatt_connected );
244267 } else if (msg .what == BT_SERVICES_DISCOVER_FAILURE ) {
0 commit comments