Commit Graph

756 Commits (4b4e95bfe0a0b18bd98bc5d31f1c0f23f68757be)

Author SHA1 Message Date
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
cpfeiffer c91e14f644 Bip: some code deduplication 2017-09-02 21:45:56 +02:00
protomors e7fff32fb8 Send more settings to device (with hardcoded values, for now).
Now bracelet should work correctly without ever connecting to native app.
2017-09-01 22:19:33 +02:00
protomors c97136e4fe Fixed wrong parameter. Time is set in 24-hour format. 2017-09-01 22:19:33 +02:00
protomors f8473ac42d Initial notifications support and some refactoring. 2017-09-01 22:19:33 +02:00
protomors f5b8fada75 Initial NO.1 F1 support.
Works: connecting, writing user data, reading firmware version and battery charge, finding device.
2017-09-01 22:19:33 +02:00
Andreas Shimokawa 23fa37d99d Amazfit Bip: get and display gps version
Currenty this is displayed as HR (heart rate firmware)
2017-08-29 22:16:59 +02:00
Andreas Shimokawa 2eb25e7c4e Amazfit Bip: Firmware installation screen improvements
- Try to improve firmware detection (older 0.0.8.xx firmwares were not detected)
- Whitelist GPS firmware that comes with firmware 0.0.8.xx
- show actual device icon istead of hardcoded Mi Band icon
2017-08-27 00:32:15 +02:00
Andreas Shimokawa 165dcf897b Amazfit Bip: fix sending weather at specific times 2017-08-26 00:42:04 +02:00
Andreas Shimokawa 6d28b8232b Amazift Bip: fix weather on FW 0.0.8.74, support condition text 2017-08-25 23:36:14 +02:00
License Bot 15f4ce2869 Update license headers 2017-08-25 11:25:01 +02:00
Andreas Shimokawa 013e270a9c Add missing file :/ 2017-08-25 01:17:34 +02:00
Andreas Shimokawa 4bb18b9795 Amazfit Bip: enable caller name display upon initialization
This is neccessary for newer firmwares (0.0.8.74 at least)
(I assume this command also exists on Mi2, hope it is true :D)
2017-08-25 01:04:36 +02:00
Andreas Shimokawa 12d9b7812f Amazfit Bip: Initial experimental firmware update support
USE AT YOUR OWN RISK:

NOTE: During update your device is named a Mi Band

1) Flash .gps (installation will take a while after transfer)
2) Flash .res
3) Flash .fw (device will reboot)
4) Gadgetbridge wont notice that update was successfull, known bug.
2017-08-25 00:21:47 +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
Andreas Shimokawa 1eff950bde Amazfit Bip: Support some weather icons 2017-08-19 23:49:19 +02:00
Andreas Shimokawa 1f6634374d Amazfit Bip: send weather for today and tomorrow (high and lows)
TODO: convert condition codes
2017-08-19 20:58:13 +02:00
Andreas Shimokawa b19cf85a12 Amazfit Bip: support E-Mail icon and do also send notifications from unknown sources 2017-08-18 16:21:54 +02:00
Andreas Shimokawa cd5af1e66a Amazfit Bip: implement find lost device by simulating a phone call from "Gadgetbridge" 2017-08-16 20:55:20 +02:00
Translation Bot 7108dd7b88 Amazfit Bip: Implement support for rejecting calls
Taking calls does not work with recent Android versions, I guess we need to push the button in the notification :(
2017-08-15 17:24:16 +02:00
Andreas Shimokawa 80dce95372 Inital Amazfit Bip support
Support is almost on Mi Band 2 level.

What does not work yet:
- flashing firmware files
- taking or rejecting phone calls
- syncing GPS tracks
- sending weather
- notification only include title, not a body
- unknown notification's text is not forwarded to the watch at all (same on Mi Band 2 #754)
2017-08-13 16:31:11 +02:00
Andreas Shimokawa b25febf0e5 Pebble: LOG stacktrace when connection fails 2017-08-12 00:18:15 +02:00
Andreas Shimokawa c2af2dd15c Pebble: Pass booleans from Javascript Appmessage as such and convert to int16 later when sending to pebble
https://developer.pebble.com/guides/communication/using-pebblekit-js/#type-conversion
2017-07-28 23:54:29 +02:00
José Rebelo f7abe2d4a3 Mi Band 2: Inactivity Warnings 2017-07-17 20:25:52 +02:00
José Rebelo 34bd2ed9cc Mi Band 2: Do Not Disturb 2017-07-15 21:17:29 +02:00
cpfeiffer 01d3a3a7be Mi Band 2: set goal notification also in phase2Initialize() 2017-07-15 21:15:42 +02:00
José Rebelo ceb82f3474 Mi Band 2: Goal notification 2017-07-15 21:14:25 +02:00
Carsten Pfeiffer 377e999067 Merge branch 'master' into mi2-display-items 2017-07-13 23:26:25 +02:00
José Rebelo 6c95a9fcb9 Mi Band 2: Rotate wrist to switch info 2017-07-13 23:20:11 +02:00
José Rebelo 2c0b105aa6
Mi Band 2: Display item settings 2017-07-12 14:59:14 +01:00
João Paulo Barraca e97f4d3909 HPlus: set not worn when charging 2017-05-31 15:20:20 +01:00
freezed-or-frozen 9b5c1b91c0 modify MiBandSUpport.handleSensorData() to convert raw values in acceleration values 2017-05-30 23:11:59 +02:00
Andreas Shimokawa 05a4486277 Pebble 2/LE: try to improve pairing results by setting another unknown flag
This might help with "bad pairing" where a pebble wont connect anymore after toggling bluetooth on the watch
A workaround was to scan bluetooth before connecting after toggling bluetooth on the watch
2017-05-28 23:43:37 +02:00
Pavel Motyrev 3a55c67b9e Missed delimiter 2017-05-23 18:25:07 +02:00
João Paulo Barraca 4c7d6d4a10 HPlus: remove debug messages 2017-05-22 23:29:19 +01:00
João Paulo Barraca bd754b4130 HPlus: Start detecting band not worn 2017-05-22 23:19:43 +01:00
João Paulo Barraca 013cbf139a Merge branch 'master' of https://github.com/Freeyourgadget/Gadgetbridge 2017-05-22 23:14:08 +01:00
João Paulo Barraca 759b9c81a3 HPlus: Fix Unicode handling 2017-05-22 23:14:05 +01:00
cpfeiffer 5e079bb480 Pull out useful code from LiveviewIOThread into BtClassicIoThread 2017-05-19 22:27:50 +02:00
João Paulo Barraca 845869e25e HPlus: Fix intensity calculation without continuous connectivity 2017-05-19 10:39:21 +01:00
cpfeiffer 07f4d3148a Also reset the last package counter when doing a second round
See #691
2017-05-15 23:11:52 +02:00
cpfeiffer e4faabeca3 Fix NPE
Closes #691
2017-05-15 19:34:33 +02:00
cpfeiffer 0e4b9a4eb8 Mi2: Keep fetch activity data until data is from today
When the fetch operation finishes successfully, double check if
the last received data is from today. If it is older, fetch again.
Closes #611
2017-05-15 00:38:26 +02:00
Andreas Shimokawa b31a6a5db9 Pebble: Fix wrong timestamps with Morpheuz running on Firmware >=3
Fixes #689
2017-05-13 22:18:56 +02:00
Andreas Shimokawa a1690700f4 Revert "Refactor notification management"
This reverts commit cede8a0826.
2017-05-10 22:26:02 +02:00
Andreas Shimokawa 805a38ae3c Merge branch 'notification-refactor' 2017-05-08 22:22:34 +02:00
João Paulo Barraca d73d4b3a13 HPlus: Handles missing phone number. Fixes #675 2017-05-05 22:17:52 +01:00
João Paulo Barraca 8a39d8b2eb HPlus: Detect Zeband Plus Unicode Support 2017-05-04 14:16:21 +01:00
João Paulo Barraca 497f9a6658 HPlus: Handle SW Version message from Zeband Plus 2017-05-04 13:47:32 +01:00
Andreas Shimokawa 15102d525b Merge branch 'master' into notification-refactor 2017-04-29 01:27:09 +02:00
Daniele Gobbetti cede8a0826 Refactor notification management
- centralize the logic for skipping over unwanted notifications
- use *Compat methods wherever possible
- use unique and persistent ID (update notifications)
- switch to using BigText style by default (since we can now update existing notifications)
- for Pebble: delete and reinsert notification as updating is not possible
2017-04-28 18:03:19 +02:00
João Paulo Barraca 69d215cb99 HPlus: Improve intensity calculation based on Tanaka et al, 2001 2017-04-27 00:58:36 +01:00
João Paulo Barraca 166695f00a HPlus: Handle more frame types 2017-04-27 00:24:03 +01:00
João Paulo Barraca c9da7548ed HPlus: Improve reconnection to device 2017-04-27 00:24:03 +01:00
João Paulo Barraca 58cb73a756 HPlus: Improve transliteration 2017-04-27 00:24:03 +01:00
License Bot 8af9054f2d Update license headers 2017-04-26 00:14:25 +02:00
Daniele Gobbetti 534eb385f7 Pebble: manage the dictation session initialization.
Currently we inform the watch that GadgetBridge doesn't support voice input.
2017-04-24 21:32:51 +02:00
João Paulo Barraca 70663af35a HPlus: Support reconnection when messages are to be sent. 2017-04-21 19:09:48 +01:00
Andreas Shimokawa bc368a788b Pebble: fix protocol encoding bugs of timeline pin, add location 2017-04-20 21:40:06 +02:00
Andreas Shimokawa 8385d8079a Pebble: allow encodeTimeLinePin() to encode other attributes than just title and subtitle
Unfortunately I did'nt find a way yet to add a description to the calendar pin (layout 2)
2017-04-20 20:09:29 +02:00
Andreas Shimokawa 5717379aec Pebble: change timeline layout to "calendar" for calendaar events and display end time 2017-04-20 10:40:28 +02:00
João Paulo Barraca 9decb7788b HPlus: use HR translated string 2017-04-18 10:51:49 +01:00
João Paulo Barraca 9f0d260e7a HPlus: Improve connection process (#651)
* Clean HPlus services and characteristics
* Improve connectivity
2017-04-18 10:47:28 +01:00
cpfeiffer 16af0724dd Replace method pair() with connectFirstTime()
Should help with #642 for hplus which did not implement pair()
2017-04-12 21:35:40 +02:00
João Paulo Barraca 6ed40a21c6 HPlus: convert text to either GB2312 or UTF-8 2017-04-12 14:29:24 +01:00
Andreas Shimokawa 810ba5419b Pebble: reenable battery level reporting, with percentage drom datalog 2017-04-09 17:05:09 +02:00
cpfeiffer 1a88858c6f Fix some findbugs findings 2017-04-09 01:09:43 +02:00
Andreas Shimokawa f658059d20 Pebble: really disable battery reporting 2017-04-08 23:19:07 +02:00
Daniele Gobbetti 16cff936d3 Pebble: do not show the battery state in the control center
- the mapping voltage<->percentage is probably family dependent (or perhaps even device dependent!)
- the values are often outdated by more than one hour, this could yield to issue reports which are false positive
2017-04-08 18:46:39 +02:00
cpfeiffer d2053b32bf Small cleanup 2017-04-06 23:58:50 +02:00
Alberto f3edf7559d HPlus: added low battery information (#638)
HPlus: Notification of low battery

I added the notification of low battery HPlus ... specifically, I used
the HPlusConstants.DATA_STATS event on hplusSupport

I also included the status of the device in the list of
gbdevice -> getDeviceInfos
2017-04-06 23:55:29 +02:00
Andreas Shimokawa e4c7a921ea Pebble: try to improve 70% to 60% battery level accuracy 2017-04-02 00:12:19 +02:00
Daniele Gobbetti 8fccbe3b69 Pebble: implement battery display in control center
- extract the millivolts reading from the analytics datalog message and map to percentage
- mapping is manually made and is possibly wrong, but the values are commented
- the values are sent once per hour and are delayed, this might make the reading really inaccurate on pebble time round watches
2017-03-31 18:23:02 +02:00
Andreas Shimokawa 562049296c Pebble: fix datalogging
Was broken after 0.18.4
2017-03-30 23:01:40 +02:00
Andreas Shimokawa b25bc66485 Allow Datalog handlers to return GBDeviceEvent[] 2017-03-28 09:51:06 +02:00
cpfeiffer da9742fd67 Mi1: Attempt to recognize Mi1 model with hwVersion = 8
Closes #364
2017-03-20 23:25:42 +01:00
cpfeiffer b97674ba85 Mi2: Display realtime steps in Live Activity #428
Thanks for the hint!
2017-03-20 23:01:28 +01:00
License Bot 6a842c52fa Update license header in all java files. 2017-03-16 17:36:15 +01:00
cpfeiffer d408be5ec8 Mi2: make text/icon notifications confiurable and version dependent 2017-03-15 00:26:39 +01:00
cpfeiffer 2d60beea1f Mi2: added some more tested firmware/font versions 2017-03-14 22:59:48 +01:00
Alberto 6989ca9db3 Add privacy mode that hides the phone number (#588) 2017-03-14 21:45:36 +01:00
cpfeiffer 17ecee0cab Mi2: initial support for text notifications and icons
See #560
2017-03-14 00:45:54 +01:00
Andreas Shimokawa fe870ebc77 Move step goal generic, show proper sleep goal in weekly sleep goal
It is now also accessible via "About You" but still remains in the Mi Band Settings
(because it has to be setup initially by a "wizard")
2017-03-11 11:34:03 +01:00
License Bot e392fbfd80 Add license header to all java files. 2017-03-10 14:53:19 +01:00
cpfeiffer 9411f80440 Mi2: support for updating firmware fonts (*.ft, *.ft.en)
This is related to #560, but alas is not sufficient for enabling text
notifications.
2017-03-07 23:26:41 +01:00
cpfeiffer 2b17d7fb14 More cleanup 2017-03-07 00:06:35 +01:00
cpfeiffer 31e0e9a5f7 Mi2: More internal cleanup from initial Mi1 copy&paste 2017-03-05 21:45:39 +01:00
cpfeiffer f6bee00582 Mi2: some internal cleanups/renamings 2017-03-05 21:27:47 +01:00
cpfeiffer c56b655b48 Mi2: send text notification for mi2 only, not mi1a 2017-03-05 10:43:19 +01:00
cpfeiffer 09967b2006 Mi2: follow 12h/24h system configuration
=> Remove custom preference option, #573
2017-03-03 22:32:54 +01:00
cpfeiffer 82ea5702c5 Mi2: configurable time format (12h/24h)
Fixes #573
2017-03-03 22:14:28 +01:00
cpfeiffer 4419200624 Mi2: Initial support for textual notifications #560 2017-03-03 20:12:43 +01:00
cpfeiffer 337bfa1938 Handle button presses and log them
See #556
2017-02-21 21:41:21 +01:00
Andreas Shimokawa 2dbda6138b Pebble: some cleanups and simplifications for datalogging via PebbleKit 2017-02-20 22:09:00 +01:00
Andreas Shimokawa ad9cfae6f9 Pebble: Pass datalog creation timestamp to PebbleKit, properly announce PebbleKit datalogging support 2017-02-20 08:47:42 +01:00
Andreas Shimokawa 946ed5f000 Pebble: First shot at implementing dataloggin for PebbleKit apps
Closes #497
Could help #316
2017-02-19 23:02:55 +01:00
Andreas Shimokawa a26563d6c7 Pebble: also acknowledge PebbleKit intents with transaction_id -1
I don't understand why this should be necessary but for some 3rd party apps it helps (#509)
2017-02-13 22:27:37 +01:00