Commit Graph
13839 Commits
Author SHA1 Message Date
Thomas KuehneandJosé Rebelo bd48d299f7 qhybrid: fix setUpdateState 2025-06-22 14:50:10 +02:00
Thomas KuehneandJosé Rebelo cc41bcac2a jyou: fix setUpdateState 2025-06-22 14:49:27 +02:00
Thomas KuehneandJosé Rebelo d48bea3003 test: fix setUpdateState 2025-06-22 14:48:50 +02:00
Thomas KuehneandJosé Rebelo 906764ae2a no1f1: fix setUpdateState 2025-06-22 14:48:30 +02:00
Thomas KuehneandJosé Rebelo c700a4c71c waspos: fix setUpdateState 2025-06-22 14:47:51 +02:00
Thomas KuehneandJosé Rebelo 280f4fc61d BangleJSDeviceSupport: fix setUpdateState 2025-06-22 14:46:50 +02:00
Thomas KuehneandJosé Rebelo c9a9ae8ad0 ble: introduce getServiceDiscoveryDelay and apply BtLEQueue settings (2/2)
1/2:
- rename AbstractBTLEDeviceSupport to AbstractBTLESingleDeviceSupport
- apply all BtLEQueue settings before processing starts
- introduce getServiceDiscoveryDelay to support device specific delay between STATE_CONNECTED and getServices/discoverServices
2/2:
- add a new AbstractBTLEDeviceSupport as a common super class of AbstractBTLEMultiDeviceSupport and AbstractBTLESingleDeviceSupport
2025-06-22 13:47:33 +02:00
Thomas KuehneandJosé Rebelo 94ec64095a ble: introduce getServiceDiscoveryDelay and apply BtLEQueue settings (1/2)
1/2:
- rename AbstractBTLEDeviceSupport to AbstractBTLESingleDeviceSupport
- apply all BtLEQueue settings before processing starts
- introduce getServiceDiscoveryDelay to support device specific delay between STATE_CONNECTED and getServices/discoverServices
2/2:
- add a new AbstractBTLEDeviceSupport as a common super class of AbstractBTLEMultiDeviceSupport and AbstractBTLESingleDeviceSupport
2025-06-22 13:47:33 +02:00
Thomas KuehneandJosé Rebelo fcd4ac30be ble: introduce CompanionDeviceService to elevate process priority 2025-06-22 12:48:01 +02:00
Thomas Kuehne 485df6a021 ble+bt: replace setState with setUpdateState
code de-duplication: GBDevice.setState + sendDeviceUpdateIntent + DEVICE_STATE
1) add nodomain.freeyourgadget.gadgetbridge.service.btle.TransactionBuilder.setUpdateState
2) add nodomain.freeyourgadget.gadgetbridge.service.btbr.TransactionBuilder.setUpdateState
3) add nodomain.freeyourgadget.gadgetbridge.impl.GBDevice.setUpdateState
4) use the new setUpdateState

The status logic in following classes require a deeper analysis. They were thus not updated:
- AbstractBTBRDeviceSupport
- BFH16DeviceSupport
- BangleJSDeviceSupport
- DeviceCommunicationService
- FossilWatchAdapter
- G1DeviceSupport
- GenericHeadphonesSupport
- HuaweiSupportProvider
- JYouSupport
- MakibesHR3DeviceSupport
- MiBandSupport
- MisfitWatchAdapter
- No1F1Support
- TestDeviceSupport
- WaspOSDeviceSupport
2025-06-22 11:12:19 +02:00
José Rebelo 8beec7a893 Update coordinators to extend BLE or BLClassic 2025-06-21 20:22:16 +01:00
José Rebelo 2b16683adc Renovate: Pin freemarker version 2025-06-21 20:22:16 +01:00
José Rebelo b989e937e3 Add default simplified deleteDevice implementation 2025-06-21 20:22:16 +01:00
José Rebelo 1b1137d4b8 Replace disabled device icons with color filter 2025-06-21 20:22:16 +01:00
Thomas Kuehne 79a6ee2c92 use StandardCharsets.UTF_8 instead of name based charset lookups
eliminates the need to handle UnsupportedEncodingException and improves performance
2025-06-21 20:51:22 +02:00
Thomas KuehneandJosé Rebelo 5c439be493 add @Override annotations to device specific code
@Override is helpful to ensure that factoring can't cause "orphaned" methods
2025-06-21 18:35:48 +02:00
José Rebelo 0dd1abdb13 AAWireless: Add car device icon 0.86.0 2025-06-21 10:05:15 +01:00
José Rebelo 816f909805 update changelog, bump version 2025-06-21 08:43:20 +01:00
Саша ПетровићandHosted Weblate 3db1640a2d Translated using Weblate (Serbian)
Currently translated at 58.4% (2314 of 3957 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/sr/
2025-06-21 09:36:10 +02:00
Christian ThieleandHosted Weblate 8c31719842 Translated using Weblate (German)
Currently translated at 100.0% (3957 of 3957 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2025-06-21 09:36:10 +02:00
Poesty LiandHosted Weblate 6a94d9510c Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (3957 of 3957 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2025-06-21 09:36:10 +02:00
Poesty LiandHosted Weblate f87c09d93b Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 99.5% (3941 of 3957 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2025-06-21 09:36:10 +02:00
Christian ThieleandHosted Weblate 215b47f772 Translated using Weblate (German)
Currently translated at 100.0% (3957 of 3957 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2025-06-21 09:36:10 +02:00
FjuroandHosted Weblate 4bb99d9666 Translated using Weblate (Czech)
Currently translated at 100.0% (3957 of 3957 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2025-06-21 09:36:10 +02:00
arjan-sandHosted Weblate 3c88e30a3c Translated using Weblate (Dutch)
Currently translated at 100.0% (3 of 3 strings)

Translation: Freeyourgadget/fastlane metadata
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/fastlane-metadata/nl/
2025-06-21 09:36:10 +02:00
DanieleandHosted Weblate 4029713f02 Translated using Weblate (Italian)
Currently translated at 100.0% (3 of 3 strings)

Translation: Freeyourgadget/fastlane metadata
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/fastlane-metadata/it/
2025-06-21 09:36:10 +02:00
Thomas KuehneandJosé Rebelo e00261cac6 fix and annotate null handling in some core classes 2025-06-21 09:36:05 +02:00
dependency-bot 7f5b672504 fix(deps): update dependency org.robolectric:robolectric to v4.15 2025-06-21 01:01:44 +00:00
Gordon Williams 849997b145 Fixes for NullPointerException spotted on Play Store
These are probably edge cases but they do appear to happen occasionally

Fixes Exception java.lang.NullPointerException: Attempt to invoke virtual method 'int android.bluetooth.BluetoothClass.getDeviceClass()' on a null object reference
  at nodomain.freeyourgadget.gadgetbridge.devices.generic_headphones.GenericHeadphonesCoordinator.supports (GenericHeadphonesCoordinator.java:45)
  at nodomain.freeyourgadget.gadgetbridge.util.DeviceHelper.resolveDeviceType (DeviceHelper.java:140)
  at nodomain.freeyourgadget.gadgetbridge.activities.discovery.GBScanEventProcessor.processCandidate (GBScanEventProcessor.java:175)
  at nodomain.freeyourgadget.gadgetbridge.activities.discovery.GBScanEventProcessor.processAllScanEvents (GBScanEventProcessor.java:237)
  at nodomain.freeyourgadget.gadgetbridge.activities.discovery.GBScanEventProcessor.run (GBScanEventProcessor.java:81)
  at nodomain.freeyourgadget.gadgetbridge.activities.discovery.GBScanEventProcessor$1.run (GBScanEventProcessor.java:103)

Fixes Exception java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.read(byte[], int, int)' on a null object reference
  at android.bluetooth.BluetoothSocket.read (BluetoothSocket.java:692)
  at android.bluetooth.BluetoothInputStream.read (BluetoothInputStream.java:88)
  at java.io.InputStream.read (InputStream.java:218)
  at nodomain.freeyourgadget.gadgetbridge.service.btbr.BtBRQueue$1.run (BtBRQueue.java:73)
2025-06-20 10:48:34 +01:00
Thomas KuehneandJosé Rebelo 52d3b20430 ble: log detailed companion bonding error 2025-06-19 21:54:17 +02:00
Thomas Kuehne ba48c39426 ble: fix BondingInterface.getMacAddress null pointer issues 2025-06-19 20:53:58 +02:00
José Rebelo e0fa950bfe Restore jitpack repository 2025-06-19 13:42:43 +01:00
Christian ThieleandHosted Weblate 08df8484e1 Translated using Weblate (German)
Currently translated at 98.8% (3909 of 3956 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2025-06-19 14:23:07 +02:00
FjuroandHosted Weblate f80f828077 Translated using Weblate (Czech)
Currently translated at 100.0% (3956 of 3956 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2025-06-19 14:23:07 +02:00
Yurt PageandHosted Weblate d80eb201ec Translated using Weblate (Russian)
Currently translated at 100.0% (3 of 3 strings)

Translation: Freeyourgadget/fastlane metadata
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/fastlane-metadata/ru/
2025-06-19 14:23:07 +02:00
José RebeloandHosted Weblate c74722f649 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (3 of 3 strings)

Translation: Freeyourgadget/fastlane metadata
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/fastlane-metadata/pt_PT/
2025-06-19 14:23:07 +02:00
Yurt PageandHosted Weblate 380b9f832a Translated using Weblate (Czech)
Currently translated at 100.0% (3 of 3 strings)

Translation: Freeyourgadget/fastlane metadata
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/fastlane-metadata/cs/
2025-06-19 14:23:07 +02:00
Саша ПетровићandHosted Weblate 4781fd522c Translated using Weblate (Serbian)
Currently translated at 57.8% (2290 of 3956 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/sr/
2025-06-19 14:23:07 +02:00
Priit JõerüütandHosted Weblate 7249a9b176 Translated using Weblate (Estonian)
Currently translated at 23.6% (936 of 3956 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/et/
2025-06-19 14:23:07 +02:00
Ghost of SpartaandHosted Weblate d1f96e5242 Translated using Weblate (Hungarian)
Currently translated at 99.1% (3924 of 3956 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2025-06-19 14:23:07 +02:00
FjuroandHosted Weblate 653aabbfd5 Translated using Weblate (Czech)
Currently translated at 98.8% (3909 of 3956 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2025-06-19 14:23:07 +02:00
José Rebelo e083eaa011 Import DaoGenerator from greenDAO
The jitpack.io build is facing issues. The code required for the code
generation is quite small, with a negligible build impact, so import it
directly to the repository from the fork and remove the dependency on
jitpack completely.

- Taken from https://codeberg.org/Freeyourgadget/greenDAO
- Original commit: 1998d7cd2d21f662c6044f6ccf3b3a251bbad341
2025-06-19 13:22:28 +01:00
José Rebelo 2961c38c04 Update changelog 2025-06-18 19:55:23 +01:00
Gordon Williams ef8d4bae21 Fix NullPointerException caused by 0acba61522 calling getMacAddress when DiscoveryActivity might not have had deviceTarget set
Discovered via Bangle.js App Store ANR reporting
2025-06-18 09:29:28 +01:00
Brecht HostenandHosted Weblate 86136d7b3e Translated using Weblate (Dutch)
Currently translated at 100.0% (3908 of 3908 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2025-06-17 23:35:36 +02:00
Bora AtıcıandHosted Weblate b06cdd38bf Translated using Weblate (Turkish)
Currently translated at 93.5% (3655 of 3908 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/tr/
2025-06-17 23:35:35 +02:00
Ghost of SpartaandHosted Weblate 48935bf348 Translated using Weblate (Hungarian)
Currently translated at 100.0% (3908 of 3908 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2025-06-17 23:35:35 +02:00
Christian ThieleandHosted Weblate 023daebe89 Translated using Weblate (German)
Currently translated at 100.0% (3908 of 3908 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2025-06-17 23:35:34 +02:00
FjuroandHosted Weblate c9b6597b48 Translated using Weblate (Czech)
Currently translated at 100.0% (3908 of 3908 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2025-06-17 23:35:33 +02:00
Саша ПетровићandHosted Weblate ac12ad27b3 Translated using Weblate (Serbian)
Currently translated at 56.8% (2220 of 3906 strings)

Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/sr/
2025-06-17 23:35:33 +02:00