adolfintel / OpenPods

The Free and Open Source app for monitoring your AirPods on Android
https://fdossena.com/?p=openPods/index.frag
GNU General Public License v3.0
938 stars 161 forks source link

Device support in regards to Bluetooth LE #53

Closed SebiderSushi closed 4 years ago

SebiderSushi commented 4 years ago

Recently, i've tried OpenPods on multiple devices, but only on one of these did it ever work.

After looking around this repository a little bit and noticing some specific mentions of Bluetooth LE, i came to the realization that the device on which OpenPods is working on is my only Android with Bluetooth LE support, so i'm wondering:

Is Bluetooth LE hardware support a strict requirement for OpenPods to function?

If yes, it would be great if this could be communicated more clearly towards anyone using the app. The only mention of Bluetooth LE that i could find among the README of this Repo, the description on F-Droid and within the app itself was the little note displayed during the first start of the app, explaining why the bluetooth and run in background permissions are requested, and i was completely unaware of it until right now - after actively looking for it. As it is only shown once and easily brushed away if you don't care about and simply allow each permission this notice can easily go undetected as in my case. And looking at it right now, i'm suspecting that i even did notice it once but without giving the "LE" part any importance and rather just focusing on the "Bluetooth" part, which was obvious to me.

So yeah, if applicable, any notice in the form of "It's possible that your device lacks the hardware support to run OpenPods. If it isn't capable of handling Bluetooth LE, OpenPods will not work." anywhere in the README, F-Droid description, the application main screen or maybe even a one-time popup would be very nice.

adolfintel commented 4 years ago

Yes, BLE is a requirement because that's how airpods transmit their status.

There is a check here that is supposed to fail if your phone doesn't have BLE: https://github.com/adolfintel/OpenPods/blob/510762ed92109a9c70e221980b42c78c86d91811/OpenPods/app/src/main/java/com/dosse/airpods/MainActivity.java#L25

Can you tell me the models of those phones that don't support BLE?

SebiderSushi commented 4 years ago

Thank you for your quick answer!

My phones at issue are the OnePlus X and the Nexus 4. Both devices tested with multiple roms, currently running LineageOS 15.1. An unofficial build on the OnePlus and an official one on the Nexus 4. On both of these, OpenPods will open up to the main screen with the checkmark and the message "The app will show a notification when your AirPods are connected".

If i could assist by providing any logs or even test patched code on these devices, just tell me.

adolfintel commented 4 years ago

Can you try this build? I've changed the BLE detection code app-release.zip

SebiderSushi commented 4 years ago

Okay that build supposedly detects missing Bluetooth LE on all my 3 devices - even to one where OpenPods 1.3 from F-Droid is actually working, which is a Xiaomi Redmi 4X

adolfintel commented 4 years ago

Man what a surprise, another broken android feature

SebiderSushi commented 4 years ago

Could this be broken by Custom ROMs shimming device drivers?

adolfintel commented 4 years ago

It's possible, but LineageOS has requirements to make a device officially supported, this shouldn't happen on an official build

adolfintel commented 4 years ago

One last try, let me know if this build works: app-release.zip

SebiderSushi commented 4 years ago

Now that's back to the original state - main activity with checkmark.

But yeah, if it's the devices falsely reporting BLE to be active then welp.