1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-12-16 05:37:51 +01:00
Commit Graph

1170 Commits

Author SHA1 Message Date
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
f96b10cca0 Avoid potential NPE 2018-08-17 00:19:10 +02:00
Andreas Shimokawa
74f47c8e2e Mi Band 3: Support setting language to German, Italian, French, Polish, Japanese, Korean
NOTE:
- Needs latest firmware
- Setting to Japanese or Korean leads to empty menus on the device. When
  reconnecting you, will get a sceen which telling you to update. I highly
  suspect it requires flashing Mili_wuhan.ft.kj (kj=korean,japanese)
2018-08-13 00:00:46 +02:00
Andreas Shimokawa
3bb75a62be Mi Band 3: whitelist tested firmwares 2018-08-12 00:28:27 +02:00
Andreas Shimokawa
b48b52b175 Mi Band 3: Make order of menu items on screen deterministic again
(This partly reverts the logic of the previous commit)
2018-08-12 00:16:56 +02:00
José Rebelo
470efa3e51 Mi Band 3: Change display items 2018-08-12 00:00:38 +02:00
Daniele Gobbetti
9517fa211e Intercept alarm actions of the google clock application
Implemented blindly based on the information provided in #1199
Fixes #1199
2018-08-10 18:36:29 +02:00
José Rebelo
338251597b Mi Band 3: Band screen unlock 2018-08-09 23:41:25 +02:00
Carsten Pfeiffer
4a07c63381
Merge pull request #1194 from elagin/string_toString
Redundant String.toString()
2018-08-08 21:34:45 +02:00
Carsten Pfeiffer
95e39cabba
Merge pull request #1190 from maxirnilian/watch9
Watch 9: Initial support
2018-08-08 21:16:59 +02:00
Daniele Gobbetti
797a671ccd Amazfit Cor: only send music information when needed 2018-08-08 17:48:23 +02:00
Pavel Elagin
723b5af50f Redundant String.toString() 2018-08-08 12:55:25 +03:00
Andreas Shimokawa
da58e22afe Only start MusicPlaybackReceiver if device supports music info
Also block sending music info in HuamiSupport if device does not support it
2018-08-07 12:44:00 +02:00
Daniele Gobbetti
3fac021ff2 Amazfit Cor: implement basic music controls
Play/pause and skip to previous/next song work. The currently playing song
name is shown on the Cor. The track length and progress are now shown as
we don't know how to send these yet.
2018-08-06 23:11:40 +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
cpfeiffer
ec0d62f67b If firmwareRevision is null, use softwareRevision 2018-08-06 20:26:39 +02:00
cpfeiffer
92bd3122f3 Improve logging 2018-08-06 20:22:10 +02:00
cpfeiffer
f7c9828cc1 Avoid potential NPE 2018-08-06 20:22:10 +02:00
maxirnilian
4ff04870ca Watch 9: Initial support 2018-08-06 18:30:38 +02:00
Andreas Shimokawa
88714ece4d Amazfit Bip: fix current weather not being displayed with latest firmware 2018-08-05 15:27:28 +02:00
protomors
fd68700b9a NO1 F1: Set time during initialization. 2018-08-05 00:09:43 +02:00
protomors
343239ff9e NO1 F1: Fixed typo. 2018-08-05 00:09:43 +02:00
cpfeiffer
5bca05caac Fix loop condition! 2018-08-04 23:10:11 +02:00
Andreas Shimokawa
fe401bdcf5 Amazfit Cor: allow music control 2018-08-02 22:35:02 +02:00
Andreas Shimokawa
66391e10c9 Amazfit Cor: Allow to enable music menu on device 2018-08-02 22:29:52 +02:00
Andreas Shimokawa
cc7f6d7263 More Huami refactoring
- Rename MiBand2Service to HuamiService
- Move preferences around (Mi Band 2 has its own device specific settings now)
- Fix Cor menu items not syncing immediately in settings
- Try to support settings menu items on Mi Band 3 (buggy, disabled code for now)
2018-08-02 10:55:30 +02:00
Andreas Shimokawa
f464604b27 Amazfit Cor: Fix notification menu not being enabled 2018-08-01 23:13:36 +02:00
Andreas Shimokawa
486d7bdca6 Amazfit Cor: Allow setting menu items
(Also rename/refactor stuff from Mi Band 2 to Huami - still WIP)
2018-08-01 22:56:01 +02:00
cpfeiffer
16fb1a584d Errors during activity track timestamp fixup should be non-fatal
So just log them. #1134
2018-08-01 19:49:09 +02:00
cpfeiffer
7f1c0521ea Small fixes to activity point timestamp fixup 2018-08-01 19:33:33 +02:00
szilardx
14a086c1f3 Add missing ActivityPoints and timestamp 2018-08-01 19:33:33 +02:00
Vadim Kaushan
9a13d5ea4a ID115: code cleanup 2018-07-30 23:24:20 +03:00
Vadim Kaushan
fd7a0cb124 ID115: fetching activity data 2018-07-30 23:23:13 +03:00
Vadim Kaushan
caabe0ed0a ID115: use SendNotificationOperation for message and call notifications 2018-07-29 21:30:31 +03:00
Vadim Kaushan
458a363f11 Merge remote-tracking branch 'upstream/master' 2018-07-29 19:31:40 +03:00
José Rebelo
18b13b7772
Add missing break 2018-07-27 14:39:01 +01:00
dakhnod
63cb70ac9a Fix missing sourceAppID field 2018-07-23 02:50:05 +02:00
Daniele Gobbetti
2da6749a40 Add activity kind (if known) to gpx filename
Fixes #1161
2018-07-22 16:14:36 +02:00
Andreas Shimokawa
e96dcc69ab Amazfit Bip: try to support weather in newer firmwares 2018-07-21 17:18:08 +02:00
Andreas Shimokawa
d1253348dc Mi Band 3: whitelist tested firmware, res and font 2018-07-19 12:00:17 +02:00
Andreas Shimokawa
eef38d4680 Only use 0x00 as auth flags on Mi Band 3 - to not disturb other devices 2018-07-17 00:29:36 +02:00
Andreas Shimokawa
aa143577f8 Amazfit Cor: Support language switching on newer firmwares
I shamelessly assumed the firmware version (chose the version that was included in the same Mi Fit version when bip started to support the new command)
2018-07-16 15:18:46 +02:00
Vadim Kaushan
b6bd100f28 ID115: remove useless debug messages 2018-07-16 15:50:29 +03:00
Vadim Kaushan
65fbb4da5b ID115: wrist setting 2018-07-16 15:48:37 +03:00
Andreas Shimokawa
f2aa71e32c Amazfit Bip: Support Russian language.
Closes #1145
2018-07-16 14:36:52 +02:00
Andreas Shimokawa
46f3686764 Mi Band 3: Also send AQI for weather to make current temperature appear 2018-07-16 14:19:02 +02:00
Vadim Kaushan
c43a564a47 Merge remote-tracking branch 'origin/master' 2018-07-15 00:53:47 +03:00
Vadim Kaushan
a94e0b9463 ID115: log IO exceptions 2018-07-15 00:46:11 +03:00
Vadim Kaushan
fe9ec9b88a ID115: screen orientation preference 2018-07-14 13:23:21 +03:00
Vadim Kaushan
02b3f23329 ID115: set steps goal 2018-07-13 15:00:16 +03:00