darken 985b73754e fix: Eliminate Float? boxing from battery display and cache merge
Two SIGSEGV native crashes recurred on Android 10 in 5.1.4-rc0 inside JIT-cached code at toBatteryFloat+4 (popup) and mergeBatterySlot+40 (cache merge). Both functions had a boxed Float? unbox at function entry that R8 horizontally merged into stdlib host classes, where Android 10 ART JIT miscompiled the unbox.

Convert PodDevice battery getters to non-null Float with BATTERY_UNKNOWN sentinel and propagate primitive Float through every display/persistence consumer. mergeBatterySlot now takes primitive Float; toBatteryFloat and toBatteryOrNull are deleted. Add isKnownBattery and batteryProgress helpers used everywhere instead of scattered nullable checks. Raw live extraction in toCachedState avoids touching the unified getter so cached values aren't refreshed as live.
2026-05-06 11:54:25 +02:00
2025-03-19 22:29:09 +01:00
2022-01-19 16:54:37 +01:00
2025-03-19 22:30:14 +01:00
2021-12-28 17:11:50 +01:00
2021-12-28 17:11:50 +01:00
2021-12-28 17:12:27 +01:00
2025-03-21 19:36:03 +01:00
2026-05-03 17:32:42 +00:00
2026-05-03 17:32:42 +00:00

CAPod banner

Companion App for AirPods (CAPod)

GitHub release (latest SemVer including pre-releases) RB Status Code tests & eval Crowdin Github Downloads Google Play Downloads

A companion app that adds support for AirPod specific features to Android:

  • Battery level for pods & cases.
  • Charging status for pods & case.
  • Additional infos about connection, microphone & case.
  • Can receive and show all nearby devices.
  • Ear detection with automatic play/pause.
  • Automatically connect phone & AirPods.
  • Show popup when case is opened.
  • Widgets

CAPod is ad-free. Some additional features require an in-app purchase.

Currently supported models:

  • AirPods 1. Generation
  • AirPods 2. Generation
  • AirPods 3. Generation
  • AirPods 4. Generation
  • AirPods 4. Generation with ANC
  • AirPods Pro 1. Generation
  • AirPods Pro 2. Generation
  • AirPods Pro 2. Generation (USB-C)
  • AirPods Pro 3. Generation
  • AirPods Max
  • AirPods Max (USB-C)
  • AirPods Max 2. Generation
  • Power Beats Pro
  • Power Beats Pro 2
  • Power Beats 3
  • Power Beats 4
  • Beats Solo 3
  • Beats Solo Pro
  • Beats Solo 4
  • Beats Solo Buds
  • Beats Studio 3
  • Beats Studio Buds
  • Beats Studio Buds+
  • Beats Studio Pro
  • Beats X
  • Beats Flex
  • Beats Fit Pro
  • Fake AirPods 1. Generation 🎭
  • Fake AirPods 2. Generation 🎭
  • Fake AirPods 3. Generation 🎭
  • Fake AirPods Pro1 🎭
  • Fake AirPods Pro2 🎭

Download

Source Status
Google Play https://play.google.com/store/apps/details?id=eu.darken.capod
Google Play Beta https://play.google.com/apps/testing/eu.darken.capod
Github (Release) https://github.com/d4rken-org/capod/releases
Github (Pre-Release) https://github.com/d4rken-org/capod/releases
F-Droid https://f-droid.org/en/packages/eu.darken.capod/
F-Droid (IzzyOnDroid) https://apt.izzysoft.de/packages/eu.darken.capod/

Support the project

Get help

Screenshots

Thanks to

  • The OpenPods project, specifically @adolfintel and @Electric1447
  • Martin, Jeremy & Alpuche, Douglas & Bodeman, Kristina & Brown, Lamont & Fenske, Ellis & Foppe, Lucas & Mayberry, Travis & Rye, Erik & Sipes, Brandon & Teplov, Sam. (2019). Handoff All Your Privacy A Review of Apples Bluetooth Low Energy Continuity Protocol. Proceedings on Privacy Enhancing Technologies. 2019. 34-53. 10.2478/popets-2019-0057.
  • Celosia, Guillaume. (2020). Privacy Challenges in Wireless Communications of the Internet of Things.
  • The MagicPods project. If you are looking for "CAPod for Windows", check it out.
  • @kavishdevar and his LibrePods project for sharing a lot of cool stuff.
  • Crowdin for supporting open-source projects.

License

CAPod's code is available under a GPL v3 license, this excludes:

  • CAPod icons, logos, mascots and marketing materials/assets.
  • CAPod animations and videos.
  • CAPod documentation.
  • Google Play screenshots.
  • Google Play texts & descriptions.
  • Translations.
Languages
Kotlin 99.1%
Shell 0.8%