Files
Axel Uhl 05f8a658c9 hyperspace: fix Play Services version skew crashing QR scanner (Buoy Pinger)
After the Android 16 / AGP 8 / JDK 21 upgrades, opening the QR code scanner
in the Buoy Pinger app crashed with NoClassDefFoundError for the internal
GMS classes zzdkv / zzbgl when constructing BarcodeDetector.Builder.

Root cause: play-services-maps:17.0.1 forced play-services-basement/base up to
17.0.0 in the Buoy Pinger graph, while play-services-vision stayed at 12.0.1.
Vision 12.0.1 references internal classes that existed in basement 12.x but
were removed in 17.0.0, so they fail to resolve at runtime. Race Manager was
unaffected only because it pulls no maps dependency, keeping its whole GMS
stack at 12.x.

Fix (preserving minSdk 16 for old tracking/pinging hardware):
- Bump play-services-vision 12.0.1 -> 19.0.0. Vision 19.0.0 depends on
  basement/base 17.0.0 (the versions maps 17.0.1 already pulls) and keeps
  minSdk 14; the BarcodeDetector API is unchanged, so no barcode code changes.
- Bump play-services-location 12.0.1 -> 21.0.1 so Race Manager's fused-location
  calls do not hit the same basement mismatch once vision raises basement; it
  resolves to basement 18.1.0 (minSdk 14), consistent across all three apps.
- Modernize WindFragment's deprecated LocationRequest API (create()/setPriority/
  setInterval/setFastestInterval and LocationRequest.PRIORITY_HIGH_ACCURACY) to
  LocationRequest.Builder with Priority.PRIORITY_HIGH_ACCURACY.

Verified: all three app modules (Buoy Pinger, Tracking, Race Manager) compile
cleanly against the bumped versions, with no location deprecation warnings.
Runtime QR scan not yet smoke-tested on a device.

Assisted-By: Claude Opus 4.8 (claude-opus-5-5)
2026-10-05 11:40:26 +02:00
..
2022-07-08 14:58:35 +02:00
…
…