vitas / beaconloc

Beacon Locator - android application for scan, track and management of beacons
Apache License 2.0
105 stars 42 forks source link

AltBeacon is detected as iBeacon #32

Open micolous opened 5 years ago

micolous commented 5 years ago

Steps to reproduce

  1. Get in proximity of an AltBeacon (or simulate one).
  2. Scan for beacons.

Expected behaviour

Beacon is reported as an AltBeacon.

Actual behaviour

Beacon is detected as an iBeacon. The decoded values (UUID, major, minor) appear to be otherwise correct.

Other details

It looks like the issue is here:

https://github.com/vitas/beaconloc/blob/41960ed9bd4fb8cda7377815a7fecc436405e7e5/app/src/main/java/com/samebits/beacon/locator/model/DetectedBeacon.java#L98-L121

TYPE_IBEACON_ALTBEACON is only tested in a switch statement if isEddystone() == true. But the tests in isEddystone already exclude TYPE_IBEACON_ALTBEACON.

Looking at the upstream matcher (m:2-3=beac), to test for AltBeacon you'd need to look for getBeaconTypeCode() == 0xBEAC.

Version tested

Version 1.2.2 (F-Droid)