58d4ebf509
Activity data fetching on Huami devices was filled with duplicated code, and the handleActivityFetchFinish was called from multiple places where it did not make sense. This made us signal to the band that activity fetch was finished when it sometimes was not, causing some race condititions that would make activity fetch fail or get stuck. This refactor defines a clear "processBufferedData" that is called upstream, signaling to the fetch operation that we have received all data and the buffer can be processed. All handling of metadata and ack messages is also delegated to the upstream class. |
||
---|---|---|
.gitea | ||
.idea/dictionaries | ||
.settings | ||
.woodpecker | ||
app | ||
config | ||
external | ||
GBDaoGenerator | ||
gradle/wrapper | ||
src | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
build.gradle | ||
CHANGELOG.md | ||
CONTRIBUTORS.rst | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
LICENSE | ||
LICENSE.artwork | ||
README.md | ||
settings.gradle |
Gadgetbridge is now hosted on codeberg.org.
Gadgetbridge
Gadgetbridge is an Android (5.0+) application which will allow you to use your Pebble, Mi Band, Amazfit Bip and HPlus device (and more) without the vendor's closed source application and without the need to create an account and transmit any of your data to the vendor's servers.
Code Licenses
- Gadgetbridge is licensed under the AGPLv3
- Files in app/src/main/java/net/osmand/ and app/src/main/aidl/net/osmand/ are licensed under the GPLv3 by OsmAnd BV
- Files in app/src/main/java/org/bouncycastle are licensed under the MIT license by The Legion of the Bouncy Castle Inc.
Download
- Nightly releases
- Nightly releases are updated more frequently and may be less stable than standard releases, and they are distributed by our F-Droid repository unlike standard releases.
- List of changes
Supported Devices
Please see the Gadgets page on the website for a complete list of supported devices.
Features
Please see the Features page on the website.
Authors
Core Team (in order of first code contribution)
- Andreas Shimokawa
- Carsten Pfeiffer
- Daniele Gobbetti
- Petr Vaněk
Additional contributors
- João Paulo Barraca (HPlus)
- Vitaly Svyastyn (NO.1 F1)
- Sami Alaoui (Teclast H30)
- "ladbsoft" (XWatch)
- Sebastian Kranz (ZeTime)
- Vadim Kaushan (ID115)
- "maxirnilian" (Lenovo Watch 9)
- "ksiwczynski", "mkusnierz", "mamutcho" (Lenovo Watch X Plus)
- Andreas Böhler (Casio)
- Jean-François Greffier (Mi Scale 2)
- Johannes Schmitt (BFH-16)
- Lukas Schwichtenberg (Makibes HR3)
- Daniel Dakhno (Fossil Q Hybrid, Fossil Hybrid HR)
- Gordon Williams (Bangle.js)
- Pavel Elagin (JYou Y5)
- Taavi Eomäe (iTag)
- Erik Bloß (TLW64)
- Yukai Li (Lefun)
- José Rebelo (Roidmi, Sony Headphones, Miband 7)
- Arjan Schrijver (Fossil Hybrid HR watchfaces)
Contribute
Contributions are welcome, be it feedback, bug reports, documentation, translation, research or code. Feel free to work on any of the open issues; just leave a comment that you're working on one to avoid duplicated work.
Developer documentation - Support for a new Device - New Device Tutorial
Translations can be contributed via https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/
Community
If you would like to get in touch with other Gadgetbridge users and developers outside of Codeberg, you can do so via:
- Matrix:
#gadgetbridge:matrix.org
Do you have further questions or feedback?
Feel free to open an issue on our issue tracker, but please:
- do not use the issue tracker as a forum, do not ask for ETAs and read the issue conversation before posting
- use the search functionality to ensure that your question wasn't already answered. Don't forget to check the closed issues as well!
- remember that this is a community project, people are contributing in their free time because they like doing so: don't take the fun away! Be kind and constructive.
- Do not ask for help regarding your own projects, unless they are Gadgetbridge related
Having problems?
- Phone crashing during device discovery? Disable Privacy Guard (or similarly named functionality) during discovery.
- Open Gadgetbridge's settings and check the option to write log files
- Reproduce the problem you encountered
- Check the logfile at /sdcard/Android/data/nodomain.freeyourgadget.gadgetbridge/files/gadgetbridge.log
- File an issue at https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/new/choose and possibly provide the logfile
Alternatively you may use the standard logcat functionality to access the log.