Commit Graph

1197 Commits

Author SHA1 Message Date
cpfeiffer
8c1a1861e4 Fix some static analysis warnings 2018-09-16 13:59:16 +02:00
cpfeiffer
c1de677448 Remove redundant null checks 2018-09-16 13:58:01 +02:00
cpfeiffer
100ed9f50c Use \n as line endings 2018-09-16 13:55:57 +02:00
cpfeiffer
5028458fe8 Fix some static analysis warnings 2018-09-16 13:54:56 +02:00
cpfeiffer
08dfa2a47d Log the stacktrace as well 2018-09-16 00:12:52 +02:00
cpfeiffer
f142003f09 Avoid boxing 2018-09-16 00:12:40 +02:00
cpfeiffer
898165ce0b Avoid lots of false static analysis warnings 2018-09-15 23:30:39 +02:00
cpfeiffer
87bee53ef3 Add a tiny bit of javadoc 2018-09-15 22:43:45 +02:00
cpfeiffer
f9e600d369 Deduplicate code 2018-09-15 22:38:20 +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
b6d68207cb Don't store the live step values in the db 2018-09-11 23:26:51 +02:00
cpfeiffer
add9be5ff6 Another place to handle possible negative steps values 2018-09-11 23:24:27 +02:00
Andreas Shimokawa
59ddedcf9a Mi Band 3: Whitelist FW 1.6.0.16 2018-09-11 21:35:30 +02:00
Andreas Shimokawa
6644ad0bb0 Mi Band 3: Allow enabling the "Workout" menu item
(This is called "Activity" in Gadgetbridge, since we have that on the Bip, we should probably rename that to Workout also for consistency with the menus)
2018-09-11 21:32:13 +02:00
cpfeiffer
a2bd8212f6 Attempt to fix connection problems on Samsung devices 2018-09-06 18:25:41 +02:00
cpfeiffer
19ee3a14d4 Handle batter state LOW without a level
Fixes #1197
2018-09-04 22:31:12 +02:00
Dikay900
64da085942 make heart rate values configurable and use singleton for heartrateutils
to listen for preference changes
2018-09-02 12:57:52 +02:00
José Rebelo
2fe4b84a10 Roidmi: Initial Support
Roidmi 3 support is disabled for now, since it is not working.
2018-08-31 14:03:47 +01:00
José Rebelo
cc6c57bd4c Add support for LED Color, FM Frequency 2018-08-31 14:03:39 +01:00
Daniele Gobbetti
3e989cd89a Amazfit Cor: Whitelist FW 1.2.5.00 and RES 2018-08-29 21:33:38 +02:00
License Bot
696653eabf Update contributors list and license headers. 2018-08-29 21:30:23 +02:00
Andreas Shimokawa
b8c7bb2c2e Amazfit Bip: whitelist firmware 1.1.2.05 2018-08-28 22:19:53 +02:00
Andreas Shimokawa
13ff40c7a5 Mi Band 3: Whitelist some firmware version I tested 2018-08-28 22:10:58 +02:00
José Rebelo
9fda67b297 Mi Band 3: Night Mode 2018-08-27 22:54:37 +02:00
Andreas Shimokawa
ffc6bd5a73 Mi Band 3: Also fix diplay of SMS and EMAIL
We have to send a fake app source that is never displayed to make the text appear... :P
2018-08-19 00:51:04 +02:00
Andreas Shimokawa
3d70314e8c Mi Band 3: Fix messages not being displayed (send app source with notifications and use chunked characteristics where available)
This also sends the app name for Bip and Cor, which is actually displayed when there is no icon (unknown app for the device)

Fixes #1203
2018-08-19 00:35:50 +02:00
Andreas Shimokawa
c81965b88d Mi Band 3: Raise limit of RES files to 150000 bytes
Fixes #1223
2018-08-18 23:02:36 +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
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