1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-07-09 23:21:34 +02:00
Commit Graph

182 Commits

Author SHA1 Message Date
hrglpfrmpf
c1fd0b77ad Support for Withings Steel HR (#2831)
Co-authored-by: hrglpfrmpf <hrglpfrmpf@web.de>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2831
Co-authored-by: hrglpfrmpf <hrglpfrmpf@noreply.codeberg.org>
Co-committed-by: hrglpfrmpf <hrglpfrmpf@noreply.codeberg.org>
2023-07-26 17:20:43 +00:00
José Rebelo
3b7f4f7238 Allow for gatt write request responses
Allow for support classes to send a write request response to the
device, fi requested. The standard actually expects this to happen, but
Gadgetbridge did not originally support it, so there are concerns that
enabling this globally will cause issues for devices that do not expect
the response.

See also: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2831#issuecomment-941568
2023-07-24 18:16:23 +01:00
José Rebelo
247a954920 Huami/Zepp OS: Improve reconnection
- Remove notification on unneeded characteristics for Zepp OS devices
- Reset MTU before initializing device, since the support class is
  reused when reconnecting, and keeping the previous high MTU before
  renegotiating again can make the initialization fail sometimes
  (band will never reply)
- If any of the chunked characteristics is null during initialization,
  mark the device as waiting for reconnect, which will make it retry the
  connection later with a backoff delay.
2023-07-22 20:31:26 +01:00
Johannes Krude
7cb060c9fe Casio GW-B5600: initial support 2023-07-22 09:39:56 +00:00
Johannes Krude
91415e2500 Casio: Refactoring 2023-07-22 09:39:56 +00:00
mormegil
dccb8ed1c4 Changes suggested in PR
- use `BLETypeConversions`, added the missing functions there (+ unit tests for all)
- change Java package of Protobuf definitions so that they are not discarded by Proguard
-- +add subpackages to the Proguard rules so we can subdivide the classes

+ disable device-specific settings for Vivomove (no settings yet)
2023-07-20 20:30:14 +00:00
Damien Gaignon
be575af314 Add BTBR service 2023-06-13 12:06:13 +00:00
José Rebelo
c77a5467e7 Fix typo in connection priority variable 2023-06-11 00:44:20 +01:00
José Rebelo
46dfd1040a Add action to request connection priority 2023-06-10 17:00:40 +01:00
José Rebelo
483ef27a4f Zepp OS: Set region on user info
This affects available features (eg. Alexa). Defaults to the previous
value of "unknown" for now, and no UI. Alexa requires a region where it
is available, such as Germany ("de").
2023-04-30 17:03:05 +01:00
Arjan Schrijver
b1d03e9f7a Clean up duplicated unimplemented methods from device support classes
Moved to AbstractDeviceSupport so each device support class can override them if required. This change helps to keep the code base clean by not requiring every (Device)Support class to implement these methods even when they don't need them.
2023-01-05 22:11:32 +01:00
José Rebelo
b51328e4f2 Huami: Fix payload when setting the time
Fixes #2999
2022-12-15 21:38:06 +00:00
uli
d3e448ad6f cosmetics to make intent more clear 2022-12-12 15:04:45 +00:00
uli
5097327234 add local time service to PineTime, fixed standard ble format 2022-12-12 15:04:45 +00:00
Gordon Williams
0dd0b2bead Bangle.js flow control. If the Bangle is busy and unable to accept more data, Gadgetbridge will now pause sending until the Bangle is ready for more.
This works by adding the ability to pause the sending of data from the Bluetooth LE queue. While BtLEQueue is modified, unless setPaused(true) is called it behaves exactly as before so shouldn't cause any issues.
2022-12-12 07:43:20 +00:00
José Rebelo
9c82180930 Zepp OS: Do not change GATT Callback unless explicitely set 2022-10-23 10:11:23 +01:00
José Rebelo
addf7ff6a6 Amazfit GTR 4: Initial support 2022-10-22 22:03:49 +02:00
Daniel Dakhno
ea851b312a Core: fixed typo 2022-10-15 21:57:22 +02:00
Daniel Dakhno
ec161be66e Core: added device update reason DEVICE_STATE 2022-10-15 21:57:22 +02:00
Daniel Dakhno
dfc1f164b4 Core: added subject to device update intent 2022-10-15 21:57:22 +02:00
José Rebelo
d1ae6cf225 Zepp OS: Implement workout fetching 2022-10-02 16:07:21 +02:00
Andreas Shimokawa
969164ba5d Remove KitKat support 2022-09-10 12:04:16 +02:00
dakhnod
ee207c978f Device FlipperZero: added basic support for the Flipper Zero (#2840)
This PR adds support for the flipper zero device.

It's main purpose currently is to provide an Intent-based API to Tasker and similar apps to play sub-GHz files.

In the future, file management and other features might be useful.

Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2840
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
2022-09-04 23:05:57 +02:00
José Rebelo
ba565df088 Xiaomi Smart Band 7: Initial support 2022-08-19 23:13:27 +02:00
José Rebelo
cb0dfaae79 Update FwAppInstallerActivity progress bar on SetProgressAction 2022-07-05 19:54:52 +02:00
José Rebelo
b07cd54468 Mi Band 5: Send GPS location to band during workout 2022-06-09 10:32:26 +02:00
José Rebelo
682b215985 Huami: Send media volume to device 2022-05-11 00:23:18 +01:00
José Rebelo
5c6edea233 Mi Band 5: Add support for World Clocks 2022-05-10 13:59:25 +02:00
José Rebelo
c4874de11a Sony WF-SP800N: Initial Support 2021-12-26 19:17:21 +01:00
José Rebelo
2e8f44cd85 Huami: Fix weekly reminders 2021-12-13 09:24:29 +01:00
José Rebelo
710b6f6699 Mi Band 3: Add support for Reminders 2021-12-11 22:39:18 +01:00
Andreas Shimokawa
998f8775d9 Fix bug in non-DST time where still being in DST was assumed
This affects InfiniTime and Huami
For InfiniTime it probably resulted in the wrong time being displayed
For Huami is resulted to request the wrong data from the band/watch

We used timezone.getDSTOffset() which always returns the DST offset (also in non
DST time)

We need to pass the time being observed to calendar.getOffset() to get the real
offset including DST at that specfic time which then either includes DST offset or not.
2021-11-02 11:34:55 +01:00
Andreas Shimokawa
e5caf78fb0 Assume timezone UTC for BLE time protocol
BLE protocol only sends a UTC offset which combines the TZ with DST, if we take
a local timezone as a base and add a raw offset with DST included, DST might
be added again.

This is to fix problems with recorded data on Huami devices where we cannot know
in which timezone data was recorded - only the offset, where we do not know if a
part of it is DST.
2021-08-06 01:05:51 +02:00
Andreas Shimokawa
a302b5509f Huami: re-enable setting the timezone correctly with included DST
This will trigger bugs, but also fix some.
We "just" need to fix the new bugs :/
2021-07-30 16:33:44 +02:00
Andreas Shimokawa
603050b7cc InfiniTime: support notification for battery level 2021-07-08 23:46:18 +02:00
Andreas Shimokawa
f32c4d6a43 Support timezones with half an our offset (like UTC+5:30)
Should help #2283
2021-06-04 13:07:42 +02:00
Robbert Gurdeep Singh
99aa59e7da Add friendly reminder of number of bytes to javadoc 2021-03-14 22:21:58 +01:00
Toby Murray
203176a01e Update GATT characteristic list
The current GATT characteristic list mentions it was up to date as of populated 2015-09-28. In the last 6 years, significantly more characteristics have been added to the Bluetooth spec. While it's not necessary to have all these constants available in Gadgetbridge, it's useful while implementing new features for a device or adding support for a new device

This was retrieved from https://btprodspecificationrefs.blob.core.windows.net/assigned-values/16-bit%20UUID%20Numbers%20Document.pdf. The GATT characteristics were parsed from that PDF and converted to constants with names via:

```
String description = uuid.description.trim().toUpperCase().replace(' ', '_').replace('-', '_');
System.out.println("public static final UUID UUID_CHARACTERISTIC_" + description + " = UUID.fromString((String.format(AbstractBTLEDeviceSupport.BASE_UUID, \"" + uuid.uuid + "\")));");
```
2021-01-18 19:38:16 -05:00
License Bot
1b5402dcb4 update license headers 2021-01-10 23:38:13 +01:00
Andreas Böhler
92986724ee Fix watch init (only do the bare minimum) and add basic
notification support. Reconnect is WiP.
2020-11-21 22:12:19 +01:00
Maxim Baz
e2a75d75d4 Add Wire messenger to the chat applications
This is a chat app that uses end-to-end encryption algorithm similar to Signal.
2020-10-26 23:29:58 +01:00
Bot
40852d3641 Fixed a bunch of misspellings and formatting 2020-08-26 14:37:40 +03:00
TaaviE
010785113b Fixed a few more warnings 2020-08-26 09:38:31 +02:00
TaaviE
7db3b68047 Fixed a bunch of warnings 2020-08-26 09:38:31 +02:00
License Bot
d6fa5d0dd5 Update license headers 2020-01-09 10:44:32 +01:00
Andreas Shimokawa
f0e8440e67 Try to fix race condition when re-connecting
(Count down latch only if services have been discovered)
2019-12-26 00:18:36 +01:00
License Bot
171f283ca8 Update license headers 2019-12-15 22:09:02 +01:00
License Bot
1dc8c26e2a Update license headers 2019-12-06 22:51:43 +01:00
dakhnod
f4a0f0ce8f Merge branch 'master' of github.com:Freeyourgadget/Gadgetbridge into fossil-q-hybrid 2019-12-04 00:48:26 +01:00
FYG_license_bot_ignore_me
8e5c4b4602 Update license headers 2019-11-23 21:53:22 +01:00