1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-11-04 09:17:29 +01:00
A free and cloudless replacement for your gadget vendors' closed source Android applications. See the list for supported devices.
Go to file
dakhnod 4a8523f790 multi-device-support (#2526)
this PR aims to add device for multiple connected devices at once.

A lot of stuff already works, some things need to be done:

- [x] change DeviceCommunicationService to hold multiple devices and supports
- [x] implement connect / disconnect logic
- [x] widgets, not really suited for multiple devices, so far
- [x] change the notification to show multiple devices
- [ ] change GBDeviceService#onFindDevice and similar API functions to target individual devices, not all connected.
- [x] move auto-reconnect setting to device settings
- [x] fix music event crash
- [x] work out behaviour when pressing "connect" from notification
- [ ] handle service crashes
- [ ] suit coordinator methods for multiple devices of same kind
- [x] change ACL_CONNECTED receiver to connect to devices that are not currently registered in DeviceCommunicationService
- [ ] adjust after-boot auto-connection logic
- [ ] fix hanging device support. Device says disconnected, GB says connected
- [x] firmware updater doesn't work

My attempt to make onFindDevice work was to change the arguments to ```EventHandler#onFindDevice(GBDevice device, boolean start)```.
The Problem is that this forces the device-specific implementations to also accept GBDevice as an argument.

Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Co-authored-by: Andreas Shimokawa <shimokawa@fsfe.org>
Co-authored-by: dakhnod <dakhnod@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2526
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
2022-06-14 18:05:41 +02:00
.github Update Codeberg Terms of Use link 2022-06-14 17:46:42 +02:00
.idea/dictionaries Updated the dictionary to ignore more false positives (#1995) 2020-08-27 22:00:11 +02:00
.settings Enhancement and Fixes for Bengali Transliteration. (#1263) 2018-10-01 23:04:51 +02:00
.woodpecker remove filter from ci, allow branches to build 2022-04-04 18:57:47 +02:00
app multi-device-support (#2526) 2022-06-14 18:05:41 +02:00
config remove travis-ci related files 2021-09-25 15:18:05 +02:00
external Fossil Hybrid HR: Improve 'Light up on new notification' functionality 2022-05-30 21:52:31 +02:00
fastlane update changelogs 2022-05-30 20:31:31 +02:00
GBDaoGenerator Mi Band 5: Add support for World Clocks 2022-05-10 13:59:25 +02:00
gradle/wrapper bump gradle 2022-03-30 23:08:14 +02:00
.gitattributes Add .gitattributes for consistent eol handling 2018-09-20 00:05:15 +02:00
.gitignore add app/.cxx/ to .gitignore 2021-09-07 21:52:49 +02:00
.gitmodules Fossil Hybrid HR: Add flexible custom menu on watch (#2616) 2022-03-22 20:52:43 +01:00
build.gradle bump android gradle plugin 2022-04-07 21:55:04 +02:00
CHANGELOG.md update changelogs 2022-05-30 20:31:31 +02:00
CONTRIBUTORS.rst update license headers 2021-01-10 23:38:13 +01:00
FEATURES.md Fixing the table because I made a mess 2020-08-02 16:44:01 +02:00
gradle.properties Revert "Revert "update gradle plugin"" 2019-02-11 23:02:57 +01:00
gradlew First checkin of actual code 2015-01-07 14:00:18 +01:00
gradlew.bat First checkin of actual code 2015-01-07 14:00:18 +01:00
LICENSE Fix spacing in LICENSE file 2017-11-01 14:58:43 +01:00
LICENSE.artwork Add drawables for Amazfit Bip smartwatch 2020-07-09 14:09:48 +02:00
README.md Add support for Sony WF-1000XM3 2022-05-16 17:50:31 +07:00
settings.gradle Work towards using greenDAO #206 2016-03-28 23:18:23 +02:00

Gadgetbridge is now hosted on codeberg.org.

Get it on Codeberg

Gadgetbridge

Gadgetbridge is an Android (4.4+) 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.

Homepage - Blog - Wiki - Mastodon

Donate

Code Quality: Java Total Alerts Translate

Download

Get it on F-Droid

List of changes

Supported Devices

(WARNING: Some of them WIP and some of them without maintainer)

Special Pairing Procedures

Some Huami / Amazfit / Mi / Zepp devices can only be paired with Gadgetbridge using a secret key that has to be obtained once using the proprietary app with an account. Detailed instructions in the wiki: Huami Server Pairing

The Fossil Hybrid HR also requires using the proprietary app, but with a more complicated procedure. Details in the wiki: Hybrid HR.

Features

Please see FEATURES.md

Authors

Core Team (in order of first code contribution)

  • Andreas Shimokawa
  • Carsten Pfeiffer
  • Daniele Gobbetti
  • Petr Vaněk

Additional device support

  • 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)

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:

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?

  1. Phone crashing during device discovery? Disable Privacy Guard (or similarly named functionality) during discovery.
  2. Open Gadgetbridge's settings and check the option to write log files
  3. Reproduce the problem you encountered
  4. Check the logfile at /sdcard/Android/data/nodomain.freeyourgadget.gadgetbridge/files/gadgetbridge.log
  5. 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.