Could you please state the licensing terms for samsung_ble_sdk_200.jar and provide a link to the source code?
I've been investigating this issue for a while and my findings are the following:
If this library is a problem for f-droid it would be possible to add a project property switch to not compile that provider. Something like:
./gradlew build -Porg.runnerup.hr.disableSamsungBLE=true
./gradlew build --project-prop org.runnerup.hr.disableSamsungBLE=true
Obviously some modifications are needed to load the SamsungBLEHRProvider using reflection when the class is not compiled. I can add the modifications if you think is useful (I want runnerup in f-droid). Another option is delete this provider completely. But first I need to know if the library is a problem for f-droid (I don't know the rules of the repository).
Comments are welcome! 😄
Well, it's a non-free (legal), non open-source (tech) binary. I don't think we should keep that within f-droid. So any plans of getting rid of it, either by removing, replacing or excluding it from a special build flavor, would be welcome.
To make sure: This is used only for Samsung devices with 4.0 to 4.2.x? (We dont build the froyo flavor iirc, so that wouldnt concern me).
The web archive pages says the following: "The Samsung BLE SDK is only supported on Android 4.2, 4.2.1 and 4.2.2. Please use the global Google BLE API for Android versions 4.3 and later. "
So I think it is only available for 4.2.x and, obviously, the device should be a samsumg with BLE (S4 seems to be one of the terminals that support it). If the users have upgraded the terminal to a newer android (4.3 and above) the stock android implementation is used.
@jonasoreland or any other member, what do you think? Is the project property a valid option? Or do you prefer removing the provider completely?
I've been working on this and the result is in this branch:
The basics ideas are the following:
I've tested the f-droid version (without the jar and it compiles and runs ok). The problem is that I cannot test the version with the samsung_ble_sdk_200.jar library (I don't have such a phone and version). I've just tested that the creation using reflection works (using another provider instead of samsung one).
Please check if you like the idea and, if someone is using a phone that depends on samsung_ble_sdk_200.jar, it would be nice to try the branch out.
Have you seen the modifications? What's your opinion?