1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-11-14 14:09:28 +01:00
Commit Graph

2677 Commits

Author SHA1 Message Date
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
Sebastian Kranz
6be181047a Add more preference settings for ZeTime: time and date format, activity tracking, do-not-disturb scheduling, wrist-flick, analog mode and calories type. 2018-09-14 13:32:18 +02:00
Sebastian Kranz
6617c45fec Add setting heart rate alarm values. Make the settings of the wearside and screen on duration interactive - give them their own activity. Also make the auto heart rate measurement work. 2018-09-13 14:55:38 +02:00
Pavel Elagin
e85257b545 Show current / max heart rate. Ignore heart rate < user settings. Invisible button bar into LiveActivity. Auto scale totalStepsChart. Fix time x axis history chart. Draw total and per minute steps. Set limit on per minute chart by user settings. 2018-09-13 12:51:52 +03:00
Sebastian Kranz
59a73d47af BUGFIX: setting goals now correct! Add automatic heart rate measurement settings - but the function got not called. Add option to leave activity data on the watch or delete them. 2018-09-12 13:59:45 +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
cpfeiffer
aee0e54d05 Handle possible negative steps values 2018-09-11 23:08:29 +02:00
cpfeiffer
fbcd2840ca No need to call method twice 2018-09-11 23:04:18 +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
88ad6cf0e0 Improve balance handling 2018-09-10 23:41:01 +02:00
Pavel Elagin
4592d35cc6 Calculation and display of weekly balance by steps and time of sleep. 2018-09-10 23:41:01 +02:00
Sebastian Kranz
8bbc473bc0 Add icons for ZeTime. 2018-09-07 13:24:54 +02:00
Sebastian Kranz
8062729ea8 Send user info to the watch, add more daily targets (goals) and send them to the watch. 2018-09-07 10:53:33 +02:00
cpfeiffer
a2bd8212f6 Attempt to fix connection problems on Samsung devices 2018-09-06 18:25:41 +02:00
Sebastian Kranz
ca7108c153 Add ZeTime settings: choose on which wrist you wear the watch and set screen on duration. 2018-09-06 14:51:29 +02:00
Sebastian Kranz
88ba3e8e14 merge master branch 2018-09-06 14:46:25 +02:00
Carsten Pfeiffer
7b709dd975
Merge pull request #1250 from haditim/persianTransliteration
Persian transliteration
2018-09-05 23:33:34 +02:00
Roi
b3e8e92441 fix long word bug in Rtl support 2018-09-05 23:21:18 +03:00
Roi
3e6ddcc714 fix long word bug in Rtl support 2018-09-05 23:19:35 +03:00
Roi
5a1733f5ec Add Farsi contextual form 2018-09-05 22:44:40 +03:00
Carsten Pfeiffer
449184c591
Merge pull request #1253 from skweee/android9callerid
Fix caller ID for incoming calls on Android 9
2018-09-05 21:37:24 +02:00
cpfeiffer
4f7e5b256a Use constants for "rtl" and "contextualArabic" preferences 2018-09-05 21:32:06 +02:00
Carsten Pfeiffer
e67398af87
Merge pull request #1233 from roigreenberg/master
Adding RTL support
2018-09-05 20:48:15 +02:00
Johannes Tysiak
d4ea5dfd44 Fix caller ID for incoming calls on Android 9
Fixes #1252
2018-09-05 20:41:01 +02:00
M. Hadi
ddecab7d25 Changes Persian transliteration such that it does not alter Arabic. Test should run fine now. Also added punctuations. 2018-09-05 10:08:10 +02:00
Roi Greenberg
761d8327f9 Add Unittest for Rtl + some small fixes 2018-09-05 01:39:01 +03:00
cpfeiffer
19ee3a14d4 Handle batter state LOW without a level
Fixes #1197
2018-09-04 22:31:12 +02:00
Carsten Pfeiffer
5e4ecd774b
Merge pull request #1181 from Dikay900/remove_invalid_hr_data
remove incorrect HR data <10 from the graphs
2018-09-04 21:08:21 +02:00
Roi
f233ad79fa move fixRtl to Rtlutils 2018-09-04 02:00:14 +03:00
Roi
e35240c91e fix bugs.
Use getDirectionality instead of serchinf areas
2018-09-04 01:10:54 +03:00
Dikay900
a844db7927 do not use synchonized singleton for HeartRateUtils 2018-09-02 12:59:38 +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
Roi
5503c562a3 test 2018-09-02 05:04:32 +03:00
Dikay900
71447d0a8f remove incorrect data <10 from the graphs 2018-09-01 19:28:20 +02:00
José Rebelo
c973c2f4c6 Roidmi: fix duplicated DeviceType key 2018-09-01 13:20:38 +01:00
Carsten Pfeiffer
ece0f094eb
Merge pull request #1236 from uroybd/master
Better Bengali transliteration.
2018-09-01 09:35:23 +02:00
Utsob Roy
91ddb2c3dd Removed unnecessary containsKey check. 2018-09-01 08:59:57 +06:00
Utsob Roy
6a293bd40a Done the recommended edits, added more testcases, and fixed a bug. 2018-09-01 00:38:15 +06: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
M. Hadi
5460de37d2
Improved Persian transliteration
Persian (Farsi) transliteration was incomplete and most of the characters were proposed according to Arabic transliteration which would be confusing for Persians. I changed some of them and added new ones like question mark, etc.. Please note that Persian has several "z" and "s" since the language alphabet share a lot of similarity with Arabic. However, these are all pronounced the same way in Persian and it makes more sense to have the same character for all in each group.
2018-08-29 16:45:15 +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
Roi Greenberg
280a2f56e9
Merge branch 'master' into master 2018-08-28 23:10:51 +03:00
Pavel Elagin
6904a62d41 Add share log file. Issue #1146 2018-08-28 21:50:12 +02:00
José Rebelo
9fda67b297 Mi Band 3: Night Mode 2018-08-27 22:54:37 +02:00
kalaee
915ad99886 Added Scandinavian characters 2018-08-27 21:58:23 +02:00
Roi
1ece83374b Add some docstring 2018-08-26 02:09:50 +03:00
Roi Greenberg
6b57809646 Fix missing space 2018-08-26 02:06:45 +03:00
Roi Greenberg
deee908fb0 Convert Arabic to contextual form 2018-08-25 22:31:14 +03:00
Roi
5a9e47cec4 remove debug logs and add documentation 2018-08-25 22:31:13 +03:00
Roi
5697ebc8ea Add rtl support 2018-08-25 22:31:12 +03:00
Utsob Roy
98e747c5f5 Various Fixes
1. Updated test.
2. Fixed a composite letter issue.
3. Moved some redundant codes to a function.
2018-08-24 22:33:25 +06:00
Utsob Roy
8f12f10bfe added some comments. [master] 2018-08-24 20:57:38 +06:00
Utsob Roy
8ca1b6e864 better bengali transliteration. [master] 2018-08-24 14:42:27 +06:00
José Rebelo
fa1e9b8938
Support minimum time between notifications 2018-08-19 11:07:58 +01: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
Carsten Pfeiffer
c4411a9c48
Merge pull request #1206 from UncleInf/transliterate_lithuanian
Adding Lithuanian transliteration
2018-08-18 13:08:40 +02:00
Aniruddha Adhikary
b942db166e add Bengali Transliteration 2018-08-18 13:05:15 +02:00
cpfeiffer
d93799e72a Improve Teclast H1 and H3 device matching #1207 2018-08-18 12:57:21 +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
98cd54657a Avoid unnecessary boxing 2018-08-17 00:28:00 +02:00
cpfeiffer
f96b10cca0 Avoid potential NPE 2018-08-17 00:19:10 +02:00
cpfeiffer
0b63fa1c59 Remove some (now) unnecessary casts 2018-08-17 00:13:38 +02:00
cpfeiffer
0145013597 Add some @Nullable 2018-08-17 00:13:38 +02:00
Carsten Pfeiffer
26fcb3cbbb
Merge pull request #1212 from elagin/legend_wordwrap_center
Enable word wrap and set center horizontal alignment for legend into …
2018-08-16 23:58:00 +02:00
Carsten Pfeiffer
73f699c602
Merge pull request #1207 from Dougal19/master
Support added for H3 watch strap
2018-08-16 23:54:33 +02:00
Pavel Elagin
354ab79285 Display start and end sleep. #164 2018-08-16 17:59:56 +03:00
Pavel Elagin
65d36d2c81 Enable word wrap and set center horizontal alignment for legend into ActivitySleepChart and WeekSleepChart 2018-08-15 18:03:32 +03:00
Dougal19
e520cf57eb
Test add support for H3 watch strap 2018-08-13 17:49:38 +01: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
Thomas
93dcb2be0d Adding Lithuanian transliteration 2018-08-12 11:31:35 +03: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
Pavel Elagin
76d704cb04 Misprints 2018-08-10 00:00:12 +02:00
José Rebelo
338251597b Mi Band 3: Band screen unlock 2018-08-09 23:41:25 +02:00
José Rebelo
b671289a49 Mi Band 2/3: New icon 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
cpfeiffer
e15afaab2f Probe connected devices first for firmware installation 2018-08-06 23:13:59 +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
c247efc720 add missing file 2018-08-01 22:58:41 +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
df84927954 Fix filename generation and add testcasce
Fixes #1169
2018-08-01 19:33:33 +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
e3408197f2 Merge remote-tracking branch 'upstream/master' 2018-07-31 09:18:50 +03:00
cpfeiffer
163b547395 Remove level_list_device.xml, just use the DeviceType icon 2018-07-30 22:49:00 +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
14dc3ad9c5 ID115: add supportsFindDevice() function 2018-07-29 19:34:34 +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
José Rebelo
a43934651a
Allow devices to not support being found 2018-07-27 14:38:33 +01:00
Daniele Gobbetti
2147ab4948 Revert "Revert "remove unused getPrimaryActivity() from coodinators, mark Mi Band HRX as non-heartrate""
This reverts commit 63231ec49a.

Please note that the comment of the reverted commit was inaccurate, as the Mi Band HRX was left untouched by it
and is left untouched byt this commit.
2018-07-27 15:13:21 +02:00
cpfeiffer
63231ec49a Revert "remove unused getPrimaryActivity() from coodinators, mark Mi Band HRX as non-heartrate"
This reverts commit 495ba81edc.

See discussion in https://github.com/Freeyourgadget/Gadgetbridge/issues/1165
2018-07-27 13:15:10 +02: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
Daniele Gobbetti
67a1191a3c Use UTC timezone in GPX points
Fixes #1152
2018-07-22 16:14:36 +02:00
Daniele Gobbetti
a5dd88df53 Fix discovery on devices with Android version < Lollipop
also reduce the amount of lines logged in discovery activity.
2018-07-22 16:14:36 +02:00
Daniele Gobbetti
290c6c53fb Fix wrong mapping yahoo weather conditions to openweathermap. 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
Sebastian Kranz
c30ec7d407 BUGFIX: use newer weather icons, if firmware build is B41 or higher. The new firmware supports 24 icons, older ones have only 6. 2018-07-16 13:41:59 +02:00
Andreas Shimokawa
dc1e831630 Mi Band 3: Fix Pairing, this MIGHT break pairing for other devices (Bip/Cor/Mi Band 2) 2018-07-16 13:38:51 +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
Carsten Pfeiffer
1030a118a4
Merge pull request #1148 from Lightwars/zetime
Add MyKronoz Zetime support
2018-07-14 22:23:07 +02: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
Sebastian Kranz
18202bffbd Fix timestamps of activities, cause the watch reports them with 6 hours offset. 2018-07-13 13:24:47 +02:00
Vadim Kaushan
d66e9e6a8b ID115: change device icon 2018-07-13 14:22:17 +03:00
Vadim Kaushan
c9e7a2ff1d ID115: notification support 2018-07-13 14:08:11 +03:00
Vadim Kaushan
4bea2a3407 ID115: fix logger name 2018-07-13 13:54:19 +03:00
Sebastian Kranz
e54930788b Add a divisor and divide the rawintensity to normalize it. It would be better to scale the divisor based on all steps of the day or something like that. 2018-07-13 11:06:21 +02:00
Sebastian Kranz
99bdb4a30a Use evaluteGBDeviceEvent to send events to the app/android system, instead of calling directly the handle ufunctions. 2018-07-13 10:35:18 +02:00
Sebastian Kranz
f0174d904a Bugfix: calendar needs the date as number. Add comment about converting date digits to characters. 2018-07-13 10:10:41 +02:00
boun
11c545362a Do not crash inside the emulator (#1150)
As there is no bluetooth support in the emulator
2018-07-12 18:25:18 +02:00
Vadim Kaushan
36b956aed6 ID115: set manufacturer string 2018-07-12 16:53:57 +03:00
Vadim Kaushan
8a0263d3ff ID115: Fix date calculation 2018-07-12 15:57:00 +03:00
Vadim Kaushan
814ca76733 ID115: basic support 2018-07-12 15:48:09 +03:00
Vadim Kaushan
26a1f97e43 ID115: coordinator 2018-07-12 15:47:08 +03:00
Vadim Kaushan
0e1331f172 ID115: declare device type 2018-07-12 15:45:00 +03:00
Sebastian Kranz
6781e1e14a Rework onNotification function: Assemble the message and send decide, which icon should show up on the watch. Email support seems broken in newest firmware (1.7 Build 41) of the watch! 2018-07-12 07:30:41 +02:00
Sebastian Kranz
888d08ae77 Replace performConnected() with builder.queue(getQueue()) to write the commands and data to the watch. 2018-07-11 11:59:32 +02:00
Sebastian Kranz
c1673554ee Better use bit shifting and masks to avoid negative values. 2018-07-11 07:17:40 +02:00
Sebastian Kranz
f3264fab0a Fix typo. 2018-07-11 06:49:01 +02:00
Sebastian Kranz
7d8d484133 Merge branch 'master' into zetime 2018-07-10 06:48:20 +02:00
jonnsoft
09a36aa5e7 MiBand3 pairing fix
(cherry picked from commit 3656ed9648b28475c35764da8a5cbeb420cfc307)
2018-07-09 22:56:16 +02:00
cpfeiffer
f2ff1991da Comment out chatty debug output 2018-07-09 22:55:20 +02:00
Andreas Shimokawa
3236e20657 Amazfit Bip/Cor: rework fimware detection to rely on strings instead of version numbers
The new version scheme and the fact that recent Bip and Cor firmwares are
impossible to distinguish by comparing data at fixed offsets make it necessary
to dynamically search for sequences of data. We do this now by searching for
"Amazfit Bip Watch" and "Amazfit Cor".
2018-07-08 12:16:26 +02:00
Sebastian Kranz
edee0904ff Add all activity data to the database; at the moment not all are displayed. Try to fix value calculations, because negative results do not make sense here. Restrict the body length from notification to the max value of 256 characters. 2018-07-06 21:59:30 +02:00
Sebastian Kranz
0a37b8ef87 Fix music control. Now everytime the track changes the correct title is displayed. Set limits for volume up and down. Set a initial value of 50% at connect... 2018-07-06 20:33:45 +02:00
Sebastian Kranz
c2d608b0ef Add time synchronization. Some values/parameters are fixed at the moment, which shouldn't be maybe. 2018-07-06 08:19:04 +02:00
Sebastian Kranz
fec1f1afc6 Fill function to to add a calendar event at the day view. 2018-07-05 10:28:27 +02:00
Sebastian Kranz
7c65fa4fc0 BUGFIX: correct the length needed if a string includes multi bytes. Because a character is encoded of up to 4 bytes. Fix using the correct progess and available variables for the activities. Also restict the volume up and down commands to 16 steps. 2018-07-05 07:25:17 +02:00
Andreas Shimokawa
6e34d313c7 Mi Band 3: allow setting language (english and spanish work) 2018-07-04 23:32:35 +02:00
Sebastian Kranz
ed20f69cc4 Add functionality to control the music playback from the watch. Not sure if all of this is correct. Having issues that the track title isn't updated until you issue a play, pause command from either the phone or watch. 2018-07-04 14:52:21 +02:00
Sebastian Kranz
6882127bec Add function to sync weather data to the watch, translate weather codes to icons. 2018-07-04 07:09:50 +02:00
Sebastian Kranz
497372f377 Add support for sending some generic notifications for incoming calls, missed calls, sms, email, social and messenger. 2018-07-03 13:09:46 +02:00
Andreas Shimokawa
a3e22d573f Amazfit Bip: Whitelist FW 1.0.2.00 2018-07-01 23:26:03 +02:00
Martin
91cbdfde10 added time limited on auto-fetch, and removed the creation of multiple autoFetchReceivers 2018-07-01 22:57:48 +02:00
Andreas Shimokawa
d1cba54425 Mi Band 3: Allow flashing fonts (untested) 2018-07-01 22:41:37 +02:00
Andreas Shimokawa
9303214997 Amazfit Cor: allow flashing fonts (seem to be the same as for bip, untested) 2018-06-30 00:32:29 +02:00
Andreas Shimokawa
87f9424ee3 Amazfit Bip: allow flashing latest beta firmware 2018-06-29 23:04:38 +02:00
Sebastian Kranz
59095dc29b Clean-up the merge. 2018-06-29 11:18:36 +02:00
Sebastian Kranz
1b152c86ea Merge branch 'master' into zetime 2018-06-29 10:43:11 +02:00
Sebastian Kranz
5e236e113f Fix function to put step data into database, using the full unix epoch now. Add function for putting sleep and heartrate data into the database. 2018-06-28 13:48:41 +02:00
Konrad Iturbe
0f38c9a30e Add RomanPort's AppStore Endpoint (#1126) 2018-06-27 09:02:55 +02:00
Sebastian Kranz
789fba95d1 Add function to check available activities and then get them. Add function to get the steps. First try to get the data into the database. 2018-06-27 09:01:26 +02:00
Andreas Shimokawa
2dda978453 Amazfit Bip/Cor: Fix scheduled setting for "display on lift wrist" preference
Fixes #1102
2018-06-26 17:43:54 +02:00
Sebastian Kranz
3539dd3e34 Get the also the device firmware version. Add function for messages that are broken down into two transmissions, because of their length. 2018-06-26 07:29:11 +02:00
Andreas Shimokawa
49a5f349b0 Amazfit Cor: Whitelist FW 1.0.7.88
Closes #1104
2018-06-25 21:37:26 +02:00
License Bot
225a600aed Update license headers 2018-06-25 18:35:46 +02:00
Andreas Shimokawa
979a44a077 Mi Band 2: Grey out "rotate wrist to switch info" when "activate display upon lift" in not enabled in preferences
Closes #1124
2018-06-24 22:05:45 +02:00
Andreas Shimokawa
9d01989b27 remove unused import 2018-06-24 21:00:33 +02:00
Sebastian Kranz
e18b043d27 request activity info with a function. 2018-06-24 12:25:34 +02:00
Daniele Gobbetti
6807714af3 Register autofetch receiver in DeviceCommunicationService
This allows the register to be registered only when the device is connected,
and also toggling without completely exiting the application.

The logic in the receiver itself was simplified and an explanation added
to the preference summary.
2018-06-23 11:19:09 +02:00
Daniele Gobbetti
2a30e9486c Reduce the amount of lines in the logcat for binary dumps
Concatenate the binary values instead of logging one byte per line.
2018-06-23 11:15:03 +02:00
Kranz
65f12bc1ee Fix error inside the isMsgFormatOK function. Add DeviceInfoHandler to read the hardware info and notify about battery level. 2018-06-22 07:20:45 +02:00
Sebastian Kranz
1213ecc344 Add function for requesting device info and battery level. 2018-06-21 19:56:13 +02:00
Andreas Shimokawa
c6b23041f7 Pebble: Always connect to SDP UUID on NON-LE Pebble
Fixes #726
2018-06-20 22:06:45 +02:00
Daniele Gobbetti
f99895da0c Remove activity transfer toast, add title to the transfer notification
Also create a separate channel that allows "muting" transfer notifications
on android oreo and above.
2018-06-19 22:03:49 +02:00
Martin
36aae1e81c Auto sync feature (#1127)
* Auto fetch feature
fixes #1116
2018-06-19 21:54:15 +02:00
Daniele Gobbetti
b81de63b30 Use checkboxes for notification and pebblemsg blacklist
also support dark theme and add a menu entry for accessing blacklist functionality
2018-06-19 18:26:06 +02:00
Daniele Gobbetti
d55d551943 Add overflow menu to blacklist and whitelist all installed applications
Fixes #679
2018-06-18 21:29:12 +02:00
Andreas Shimokawa
3f06a8c2a6 Rename file to match class name. 2018-06-18 21:22:34 +02:00
Daniele Gobbetti
2ca8e4a4e4 Forward notifications marked as local only if they are emitted by skype
Also add skype for business package name.

Blind implementation as I don't have access to these apps.

Fixes #1109
2018-06-18 20:52:26 +02:00
Daniele Gobbetti
4d0020ae1d Add the option the blacklist applications also for Pebble Messages
Fixes #996
2018-06-18 20:38:37 +02:00
Daniele Gobbetti
2f4c9ef0d9 Keep the embossed logo visible behind the device cards. 2018-06-18 20:27:38 +02:00
Daniele Gobbetti
3c00332a77 Always stop BT/BTLE discovery when exiting the Discovery Activity
Hopefully solves the leaks
2018-06-18 20:26:28 +02:00
Daniele Gobbetti
45ecdaa213 Pebble: Webview: do not use the contextWrapper if it's null.
It should never happen but I had a crash on API 19, possibly a race condition
somewhere.
2018-06-18 20:23:23 +02:00
Andreas Shimokawa
9bcae3e000 Amazfit Bip: Whitelist FW 0.1.1.45 2018-06-16 23:35:02 +02:00
Kranz
c611042e51 Add more commands. Add message check function. 2018-06-15 13:40:16 +02:00
Kranz
89c8c9cdfb First communication test between ZeTime and GB. Ask about activitys, sleep and heart-rate infos available. ZeTime responds correctly 2018-06-15 11:23:44 +02:00
Andreas Shimokawa
99dec159f7 Mi Band 3: add untested and incomplete support
This also improves firmware/RES probing to distinguish Mi Band 2/3 firmware files and Mi Band 3/Bip RES files.

Notes:
- Firmware flashing should might but is untested
- This basicall runs off the Amazfit Bip code which will probably incorrect (Mi Band 3 is proabably something between the Bip and the Mi Band 2)
2018-06-14 18:16:49 +02:00
Andreas Shimokawa
3dd1929436 Huami devices: Minor refactoring 2018-06-14 16:30:43 +02:00
Sebastian Kranz
48affad220 Add some UUIDs and Cmds. Connect further. 2018-06-08 16:28:05 +02:00
Kranz
905f49101b Set activity support to true. Add bonding style none. 2018-05-29 12:57:08 +02:00
tiparega
3852f925da Added support for Q8 devices 2018-05-20 19:52:08 +02:00
Andreas Shimokawa
d1368c2ed8 Amazfit Bip: Whitelist FW 0.1.1.41 2018-05-20 19:42:29 +02:00
Daniele Gobbetti
3c3e38741a Pebble: remove the legacy countdownlatch on Pebble GATT server code
The GATTServer code is now in line with the new GATTClient code.
2018-05-19 22:42:05 +02:00
Daniele Gobbetti
f1736808cb Auto connect at boot on recent androids respecting the user settings
Automatically connect at boot if gadgetbridge is configured to start at
boot and to attempt an automatic connection when bluetooth is available

Fixes #693 and fixes #891
2018-05-16 19:08:53 +02:00
Daniele Gobbetti
65b0d9da4b Explicitly register the bluetooth state change receiver on Oreo
The implicit manifests declaration is not enough anymore
2018-05-16 19:03:06 +02:00
Daniele Gobbetti
d109630e74 Use TelephonyManager getCallState() instead of the provided extras
According to the documentation the current call state might be not correctly
contained in the extra, and using getCallState() is the right thing to do

Might help for #799 (and #756)
2018-05-16 18:56:36 +02:00
Andreas Shimokawa
3b25181a32 Amazfit Bip: allow enabling shortcuts (weather, Alipay) 2018-05-15 23:12:18 +02:00
Daniele Gobbetti
e6748c34fc Update the notification from DeviceManager instead of DeviceCommunicationService
Since the device object (local to DCS) is set to null on disconnect, the
notification could not get updated from within the receiver. DeviceManager
does not have such issues.

The problem appeared with 3f421facab
2018-05-13 20:19:09 +02:00
Andreas Shimokawa
f46c204c75 Amazfit Cor: Whilelist FW 1.0.7.52
Closes #1087
2018-05-12 22:20:49 +02:00
Andreas Shimokawa
511fef7f62 Pebble 2: when using client only mode, no not wait for PPoGATT ACKs after each package
This speeds up things up a lot. We should still somehow limit it, but not by waiting
after one PPoGATT ACK after each complete PP package.

This leaves the old mode untouched, so we have something to compare
2018-05-12 17:18:19 +02:00
Andreas Shimokawa
eb08e66674 Amazfit Cor: make sure that Veats firwmare does not get detected as a Cor firmware... 2018-05-12 00:15:14 +02:00
Andreas Shimokawa
746cb00460 Amazfit Cor: Fix recogition of new firmwares
Newer Cor and Bip firmwares seem to be indistinguishable,
What we do for now is use the version we already search for say
Bip firmwares are valid from 0.0.8.00 to < 1.0.5.00 (lastest as of today is 0.1.0.39)
Cor firmwares are valid from 1.0.5.00

This should work for a while.
Fixes #1095
2018-05-12 00:05:30 +02:00
Andreas Shimokawa
3f421facab Always cleanup device and receiver in service when disconnecting
Fixes #1093

I have no idea why the code was like this, so the change might have some bad consequences...
2018-05-11 20:50:29 +02:00
Martin Piatka
00ee9b6828 Mi Band 2: wait at least 4s before sending notification text
This fixes notification text not displaying when a short vibration
pattern is set.

If the notification text is sent while the icon is still visible
it is not displayed. We need to wait until it disapears (about 4 seconds)
2018-05-11 18:07:50 +02:00
Andreas Shimokawa
9e2558beac Pebble 2: make gatt client only mode available to users 2018-05-11 14:23:41 +02:00
Andreas Shimokawa
cdf6039d4c Pebble 2: fixes for experimental client only gatt code
This basically makes sure that
- only one gatt write operation is in progress
- data is not sent from within callbacks to prevent a deadlock when waiting for a nre callback that cant happen yet beause the current has not been retuned
2018-05-11 13:21:40 +02:00
Andreas Shimokawa
f6131772d6 Pebble2: WIP broken and disabled GATT client only support
This will eliminate the need for the Phone being a GATT Server and might lead
to better connection stability once it is ready.

NOTE: Enabling this in the code (change clientOnly=true in PebbleLESupport)
will only work for a few packets before in totally breaks, so only enable
if you want to fix it :P
2018-05-10 22:03:03 +02:00
Andreas Shimokawa
bd012cab2a fix typo 2018-05-07 22:20:18 +02:00
Andreas Shimokawa
5df799419e Mi Band 2: 2hitelist Firmware 1.0.1.81
Closes #1070
2018-05-07 21:54:44 +02:00
Andreas Shimokawa
b585fde78a Amazfit Bip: Raise .res limit to 700000 bytes for modded files 2018-05-06 16:34:14 +02:00
Andreas Shimokawa
8fe0c213cb Amazfit Bip: Whitelist a bunch of new FW versions 2018-05-06 09:54:31 +02:00
Andreas Shimokawa
1996184d69 Amazfit Bip: fix fetching logs from device via debug menu 2018-05-03 23:31:18 +02:00
Andreas Shimokawa
c663ba190d Amazfit Bip: try to fix byte sequence when setting menu items 2018-04-27 21:20:42 +02:00
Andreas Shimokawa
cf438618aa Amazfit Bip: actually include FW 0.1.1.14 in the allowed firmwares that can change menu items 2018-04-27 21:05:52 +02:00
Daniele Gobbetti
fd664b9c67 Add proper mime type to shared gpx files
This prevents apps to show up in the intent chooser that do not know how
to deal with gpx files (e.g. Conversations)
2018-04-27 21:00:38 +02:00
Andreas Shimokawa
e1ef2455dc Amazfit Bip: allow to set displayed menu item in firmware >=0.1.1.14
NOTE:
- You will have to be connected while doing the changes in preferences (FIXME)
- It might not work at all since I did not test after the latest changes :P
2018-04-27 09:28:33 +02:00
Daniele Gobbetti
d512585fae More timezone fixes for android < 24
This change should turn travis green again.
Older version of android should get a proper 24h formatted timestamp.
Perhaps our export will be more compatible with external services as well
( #1076 )
2018-04-24 21:00:22 +02:00
Daniele Gobbetti
c71eba9483 Hotfix for connection issues on API < 24
Fix #1055 properly, as the previous change was not solving the issues
on API < 24. This affected the connection to some devices and caused a
crash on graph access.
2018-04-16 18:26:23 +02:00
Andreas Shimokawa
965964a6b7 Weather: get wind direction and speed also from CM weather reciver 2018-04-14 21:56:10 +02:00
Daniele Gobbetti
cc83021ae3 Weather (and Pebble Webview): fix name and add wind information to weather data
Wind information are stored and put in the reconstructed OWM response.
A long standing bug (having the "name" field inside "main" instead of at
the root level of the json) has been fixed
Lineage OS receiver and if possible weather notification app receiver will
be added in further commits.

See #482
2018-04-14 19:42:05 +02:00
cpfeiffer
19c6c4c88a Fix refreshing of summaries 2018-04-13 20:27:31 +02:00
cpfeiffer
66063256a7 More improvements of GPX export, optimize nearest closest trackpoint finding a bit 2018-04-13 01:16:38 +02:00
AndrewH
1b9b5f821e GPX export fixes (#1060) 2018-04-13 00:50:47 +02:00
Daniele Gobbetti
8f6d287592 Amazfit Bip: add option to reset the last fetched activity (timestamp)
Show a datepicker to reset the date after which the next activity will be fetched.
Also add .gpx extension to fetched activity track (if present) and make
the menu entries translatable.

Close #1057
2018-04-12 22:11:58 +02:00
Daniele Gobbetti
134905ed6a Missing method needed by the previous commit. 2018-04-12 22:07:15 +02:00
Daniele Gobbetti
e7c10f3f01 Use a different DateTimeFormat on legacy android versions (<24)
Fixes #1055
2018-04-12 21:48:02 +02:00
Daniele Gobbetti
5af353d6dc Amazfit Bip: limit the activities to the currently selected device in Control Center
Also don't reverse the results, but sort in the query
2018-04-07 10:16:36 +02:00
Taavi
b1e337d9b7 Update AndroidManifest.xml (#1050)
Request the MEDIA_CONTENT_CONTROL permission

Should fix a crash on Samsung Galaxy S8+ (dream2qltesq), Android 8.0 due to a missing required permission
2018-04-07 00:24:38 +02:00