Skip to content

Commit 86b28ac

Browse files
committed
backends/p4android: fix using wrong tx_power value
This was using the advertisement received signal strength indicator instead of the transmitted power level. This is now fixed. Fixes: #1532
1 parent 76a94a9 commit 86b28ac

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

CHANGELOG.rst

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ Fixed
2828
* Fixed BlueZ ``_wait_removed`` completion on invalid object path. Fixes #1489.
2929
* Fixed rare unhandled exception when scanning on macOS when using ``use_bdaddr``. Fixes #1523.
3030
* Fixed scanning silently failing on Windows when Bluetooth is off. Fixes #1535.
31+
* Fixed using wrong value for ``tx_power`` in Android backend. Fixes #1532.
3132

3233
`0.21.1`_ (2023-09-08)
3334
======================

bleak/backends/p4android/scanner.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -243,10 +243,10 @@ def _handle_scan_result(self, result) -> None:
243243
entry.getKey().toString(): bytes(entry.getValue())
244244
for entry in record.getServiceData().entrySet()
245245
}
246-
tx_power = result.getTxPower()
246+
tx_power = record.getTxPowerLevel()
247247

248248
# change "not present" value to None to match other backends
249-
if tx_power == defs.ScanResult.TX_POWER_NOT_PRESENT:
249+
if tx_power == -2147483648: # Integer#MIN_VALUE
250250
tx_power = None
251251

252252
advertisement = AdvertisementData(

0 commit comments

Comments
 (0)