1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-11-14 22:19:29 +01:00

Handle possible null return

Fixes #1052
This commit is contained in:
cpfeiffer 2018-04-06 23:41:22 +02:00
parent 74dcec730c
commit b12286c892

View File

@ -20,6 +20,7 @@ package nodomain.freeyourgadget.gadgetbridge.util;
import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothDevice;
import android.content.Context; import android.content.Context;
import android.support.annotation.NonNull;
import android.widget.Toast; import android.widget.Toast;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -248,11 +249,18 @@ public class DeviceHelper {
return gbDevice; return gbDevice;
} }
private List<GBDevice> getBondedDevices(BluetoothAdapter btAdapter) { private @NonNull List<GBDevice> getBondedDevices(@NonNull BluetoothAdapter btAdapter) {
Set<BluetoothDevice> pairedDevices = btAdapter.getBondedDevices(); Set<BluetoothDevice> pairedDevices = btAdapter.getBondedDevices();
if (pairedDevices == null) {
return Collections.emptyList();
}
List<GBDevice> result = new ArrayList<>(pairedDevices.size()); List<GBDevice> result = new ArrayList<>(pairedDevices.size());
DeviceHelper deviceHelper = DeviceHelper.getInstance(); DeviceHelper deviceHelper = DeviceHelper.getInstance();
for (BluetoothDevice pairedDevice : pairedDevices) { for (BluetoothDevice pairedDevice : pairedDevices) {
if (pairedDevice == null) {
continue; // just to be safe, see https://github.com/Freeyourgadget/Gadgetbridge/pull/1052
}
if (pairedDevice.getName() != null && (pairedDevice.getName().startsWith("Pebble-LE ") || pairedDevice.getName().startsWith("Pebble Time LE "))) { if (pairedDevice.getName() != null && (pairedDevice.getName().startsWith("Pebble-LE ") || pairedDevice.getName().startsWith("Pebble Time LE "))) {
continue; // ignore LE Pebble (this is part of the main device now (volatileAddress) continue; // ignore LE Pebble (this is part of the main device now (volatileAddress)
} }