1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-11-15 22:49:26 +01:00
Commit Graph

146 Commits

Author SHA1 Message Date
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
Andreas Shimokawa
c2db30274f Make reconnect logic more device agnostic and remove pebble reconnect logic 2019-11-20 10:53:25 +01:00
Andreas Shimokawa
c7053747cd Add active reconnection
Closes #1724
Closes #1632
Closes #1452
Closes #1271
Closes #564

(Probably more)
2019-11-19 14:40:20 +01:00
Daniel Dakhno
64b407da92 added mtu transactions 2019-11-14 04:53:19 +01:00
Cre3per
fdffe813f2 makibes hr3.
download progress notification (needs to be tested).
2019-10-12 12:44:38 +02:00
Andreas Shimokawa
16090f0e21 Move fake device offset to Mi Band 1 preferences, remove support for other devices
Reasons for removal:
- I doubt we honored the offset correctly for new features anyway that are available on newer devices
- Newer devices have a display always displaying the wrong time
2019-06-05 14:11:44 +02:00
License Bot
9aadb2f2fd Update license headers 2019-04-21 18:53:10 +02:00
Andreas Böhler
c091828205 Rename getActionSize() -> getActionCount() and make it abstract 2019-02-27 19:08:54 +01:00
Andreas Böhler
325add3f0a Remove duplicate queue
# Conflicts:
#	app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/btle/BtLEQueue.java
2019-02-27 09:27:50 +01:00
Andreas Böhler
88ac816393 Fix queue handling if only server or client operation is present 2019-02-18 20:20:57 +01:00
Andreas Böhler
6577ad69b0 Add initial support for Gatt server in BtLEQueue 2019-02-18 20:20:57 +01:00
License Bot
beedb653e6 Update license headers 2019-02-13 20:43:31 +01:00
Daniele Gobbetti
75d3dffb14 Migrate to androidx support libraries and bump compile SDK version
"Optimize imports" has been run on all source files, there might be
unrelated changes, but these should be harmless.
2019-01-26 16:00:56 +01:00
cpfeiffer
fb85326939 performConnected() -> builder.qeueue(getQueue()) 2019-01-03 00:44:34 +01:00
cpfeiffer
60397c88c0 Avoid possible NPE 2018-09-23 11:27:35 +02:00
cpfeiffer
8c1a1861e4 Fix some static analysis warnings 2018-09-16 13:59:16 +02:00
cpfeiffer
87bee53ef3 Add a tiny bit of javadoc 2018-09-15 22:43:45 +02:00
cpfeiffer
d6f5e36e12 Huami devices: Fix seldom fetch failures (better support for app level ble feedback)
Fixes #1264
2018-09-15 22:24:27 +02:00
cpfeiffer
a2bd8212f6 Attempt to fix connection problems on Samsung devices 2018-09-06 18:25:41 +02:00
José Rebelo
cc6c57bd4c Add support for LED Color, FM Frequency 2018-08-31 14:03:39 +01:00
License Bot
696653eabf Update contributors list and license headers. 2018-08-29 21:30:23 +02:00
cpfeiffer
50295864f5 Use a custom IntentListener callback instead of LocalBroadcastManager for ble profiles
The issue here is the following:

- we used intents in the generic BleProfile classes to notify about the results of e.g. certain read requests
- we used to send these results asynchronously via LocalBroadcastManager.sendBroadcast(), which always used the main thread for sending
- however, we noticed that reconnecting to devices sometimes failed because the results arrived too late and the next action in the BLE queue lacked the necessary information
- the fix was to use LocalBroadcastManager.setBroadcastSync(), so that the results arrive in time
- this unfortunately meant that they were not sent in the main thread anymore, and especially, this would send all pending intents that were previously queued via sendBroadcast() also in the "wrong" thread (in order to keep the order of events)

The fix is to use a custom IntentListener callback interface for synchronous notifications of ble profile results
*without* also causing other, previously queued intents to be sent.

Fixes #1218
2018-08-18 00:39:14 +02:00
cpfeiffer
cc3c70b161 Send results of AbstractBleProfile synchronously
This should fix issues like a ConditionalWriteAction failing with an NPE when GBDevice.getFirmwareVersion() returns null even though the DeviceInfoProfile had already received the firmware version (but the intent notification has not been received yet).
2018-08-06 20:51:28 +02:00
Andreas Shimokawa
3d3cc1f40c Merge branch 'master' into bip-wip 2018-03-13 17:27:18 +01:00
License Bot
238bacde9f Update license headers 2018-02-26 14:27:33 +01:00
Daniele Gobbetti
4f246b3ed9 Add Antox to the chat applications.
Notifications coming from the chat.tox.antox package are treated as chat
messages. This closes #910
2018-02-17 17:39:15 +01:00
Daniele Gobbetti
48b89f1bd2 Add Kontalk to the chat applications.
Notifications coming from the org.kontalk package are treated as chat
messages. This closes #994
2018-02-17 17:33:34 +01:00
Andreas Shimokawa
6f68c8adde Merge branch 'master' into bip-wip 2018-01-04 12:09:57 +01:00
Lukas Veneziano
6b339a3013 Added notification type for threema app 2017-12-31 00:10:39 +01:00
cpfeiffer
da7de378d3 Back out the DST handling, since it causes problems with activity fetching
Details: when we ask to fetch activity samples from date:time:tz+dst, the band,
under certain conditions, will send us back date:time:tz (without the dst offset)

We're fine with that, so we start fetching. When it's done, we take the last sample's
timestamp (still without dst offset), convert it to a unix timestamp, create a Calendar
using current tz and apply the unix timestamp. Then we send that timestamp again to the
band in order to fetch activity samples from then, but we again add the dst offset to the tz,
so send as date:time:tz+dst without changing the timestamp. That way, we may end up at the
timestamp we began with, fetching the same activity data again and not progressing.

We first need to thorougly understand how the devices behave, before we can reenable and fix
this.
2017-11-07 21:24:48 +01:00
Andreas Shimokawa
9764e8e54e try to parse timezone that comes back from huami devices
(there are other places where something like this has to be done, probably also in the other direction)

related to #869

(cherry picked from commit a58e3f66ce)
2017-11-06 23:23:11 +01:00
Andreas Shimokawa
a58e3f66ce try to parse timezone that comes back from huami devices
(there are other places where something like this has to be done, probably also in the other direction)

related to #869
2017-11-05 22:35:28 +01:00
cpfeiffer
fd159b7603 Bip: improved logging, read expected number of bytes for progress monitoring during sync 2017-11-01 23:05:29 +01:00
cpfeiffer
f5318287c4 WIP: Bip GPS fetching, parsing, exporting
Also adjust Mi2 date/time sending wrt DST offsets
2017-10-31 23:16:39 +01:00
License Bot
3ea2ac6dd2 Update license headers 2017-10-25 09:29:36 +02:00
Andreas Shimokawa
f07b77f903 Mi Band 2: support app icons and textual notifications for more apps 2017-10-22 00:02:36 +02:00
Andreas Shimokawa
3301194e75 Consolidate duplicate Mi2 / Bip icon definition
Also handle some more recently added icons
2017-09-14 10:15:14 +02:00