1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-09-10 08:16:48 +02:00
Commit Graph

138 Commits

Author SHA1 Message Date
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
License Bot
a10fc8ad4e Update license headers 2017-09-12 12:39:15 +02:00
cpfeiffer
c468e7f521 Mi Bands+Bip: when an operation finishes, unset the gatt callback on the BtLEQeue
Otherwise it will continue to receive events until another transaction is being executed.
2017-09-02 22:49:58 +02:00
Andreas Shimokawa
e839a2c6a3 Trim strings coming from DeviceInfoProfile (BLE).
On the Bip strings have trailing zeroes. Putting this in the Database results in a "BLOB"
2017-08-31 11:52:21 +02:00
License Bot
15f4ce2869 Update license headers 2017-08-25 11:25:01 +02:00
Andreas Shimokawa
ebc1cedf55 damn typo 2017-08-23 23:12:44 +02:00
Andreas Shimokawa
a398f33cb8 Mi Band2: do not misuse ALERT_LEVEL_ constants, use AlertCategory enum 2017-08-23 23:04:40 +02:00
Andreas Shimokawa
4c8728c78f Amazfit Bip: Support app icons in notifications 2017-08-21 23:47:47 +02:00
Andreas Shimokawa
fdcc51cb98 Amazfit Bip: Support sending notification body, not only title 2017-08-20 23:58:41 +02:00