diff --git a/ble/src/main/java/no/nordicsemi/android/ble/ConnectionPriorityRequest.java b/ble/src/main/java/no/nordicsemi/android/ble/ConnectionPriorityRequest.java index f4f19036..e151f4cc 100644 --- a/ble/src/main/java/no/nordicsemi/android/ble/ConnectionPriorityRequest.java +++ b/ble/src/main/java/no/nordicsemi/android/ble/ConnectionPriorityRequest.java @@ -25,6 +25,7 @@ import android.bluetooth.BluetoothDevice; import android.os.Build; import android.os.Handler; +import android.util.Log; import androidx.annotation.IntRange; import androidx.annotation.NonNull; @@ -191,8 +192,14 @@ void notifyConnectionPriorityChanged(@NonNull final BluetoothDevice device, @IntRange(from = 6, to = 3200) final int interval, @IntRange(from = 0, to = 499) final int latency, @IntRange(from = 10, to = 3200) final int timeout) { - if (valueCallback != null) - valueCallback.onConnectionUpdated(device, interval, latency, timeout); + handler.post(() -> { + if (valueCallback != null) + try { + valueCallback.onConnectionUpdated(device, interval, latency, timeout); + } catch (final Throwable t) { + Log.e(TAG, "Exception in Value callback", t); + } + }); } @ConnectionPriority