Hey all (I guess above all @linsui and @Licaon_Kter),
Someone has been working on a WearOS companion app for Catima (companion meaning “will need to talk to the phone app to work”) which is almost ready to be published (see https://github.com/CatimaLoyalty/Android/pull/3185 for more details).
The app is fully FOSS, not using any of the regular proprietary libraries but instead using Rfcomm over Bluetooth for communication, and I would like to submit it to F-Droid. (As a sidenote: do note though that connecting a WearOS device to an Android device will often require a proprietary app, so full FOSS usage is not possible unless someone reverse engineers the proprietary vendor apps like Google Pixel Watch, Galaxy Wearable, etc. However, due to the Bluetooth communication, it would be possible to create other gadgets that talk to Catima over Bluetooth.)
While I do not believe an F-Droid client for WearOS devices currently exists, I think submitting would still be good to prove the app is FOSS and give people another way to download it than directly from GitHub or Google Play.
Normally, this would be quite simple: just a new app inclusion request. However, WearOS companion apps have one very stupid requirement: the package name must be the same as that of the phone app: https://developer.android.com/training/wearables/packaging#packaging.
While this requirement is not 100% a hard requirement (it will break communication over the proprietary “Data API”, but I don’t use that, and it will break Google Play being able to automatically install the WearOS companion when you have a WearOS watch), I would like to stick with it as I don’t want to maintain 2 flavors unnecessarily and can’t know for certain Google won’t introduce more limitations based on the package name.
So, I have the following questions:
- Is it possible to submit a second app with the same package name as the first app? I am willing to ensure the version codes don’t match. For example: make sure the Android app always uses an even version code and the WearOS app always uses an uneven version code.
- Can F-Droid correctly deal with not offering installation of apps with
<uses-feature android:name="android.hardware.type.watch" />on non-watches? - Can F-Droid ensure at least one version of regular Catima will remain available, even if I end up having to make several WearOS releases in a row and would go over the archive policy?
And before someone asks: yes, non-WearOS smartwatches are already supported (since 2023!) through Gadgetbridge: Gadgetbridge 0.76.0/0.76.1: Material 3, and a lot of new devices supported - Gadgetbridge.
Looking forward to hearing what’s possible ![]()