Commit Graph

852 Commits (3301194e75c526fd127768337312a88edd9e3600)

Author SHA1 Message Date
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 bbbb9dd448 Pebble: do not start calendar event listener at all when calendar access is denied
Fixes #678
2017-05-09 12:32:00 +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
Andreas Shimokawa bc4503c8bf Pebble: Add option for Calender Timeline sync (default on) 2017-04-24 12:39:40 +02:00
Daniele Gobbetti d570d188a2 Remove the low battery notification if a normal battery level is reported. 2017-04-24 09:53:48 +02:00
cpfeiffer 9ed8004a69 Fix rare NPE 2017-04-22 23:56:04 +02:00
cpfeiffer 1e4351b03a Silence lint warning 2017-04-21 22:23:50 +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 965ba190a6 Calendar Sync: Fix location not being passed to device code
Now location is displayed on the pebble ;)
2017-04-21 10:51:06 +02:00
cpfeiffer 696dc1f08d Attempt to fix reconnection not happening in some cases
Fixes #530
2017-04-20 23:01:32 +02: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
Andreas Shimokawa 7ee20348db Only sync Calendar and Sunrise/Sunset on devices that support it 2017-04-19 21:51:23 +02:00
Andreas Shimokawa a28d27839f Merge branch 'master' into feature-calendarsync 2017-04-19 20:19:15 +02:00
Daniele Gobbetti 18157daf46 Ensure that the Notification listener service gets restarted if crashed.
This change adds an additional service that checks the status of the NotificationListenerService, and restarts it if it's stale/crashed.
Crashes happen mostly during development, but were reported also by users.
2017-04-19 13:23:13 +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
Andreas Shimokawa 35efa30c4b Calendar Sync: Only enable calendar broadcast receiver when device is initialized
This excludes it from any auto connect logic.
We are now save to sync the calendar once in contructor.
2017-04-17 21:09:29 +02:00
Daniele Gobbetti 1e231e6129 Move the Calendar receiver code in the proper place. 2017-04-17 20:33:39 +02:00
Andreas Shimokawa 9970f8017f Calendar sync: save sync status to db to avoid leakage of deleted events
We now have a per device database that tracks sync states for calendar entries
We still cannot track changed calendar entries that where changed while we were disconnected
2017-04-16 19:37:43 +02:00
Daniel Hauck ccb58f0f3c Basic calendar sync using additional receiver (#654) 2017-04-16 12:34:37 +02: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 202ae53d71 Ensure that a newly discovered and initialized device will be displayed
Fixed a race condition between ACTION_DEVICE_CHANGED event handlers:
- DeviceCommunicationService added the device to the database
- DeviceManager notified the views to be refreshed

When the latter happened before the former, thew new device would not
be displayed.

=> Let DeviceManager do both.
2017-04-07 21:17:37 +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
cpfeiffer 8fc6dfeca7 Improved AlertNotificationProfile
AlertLevel, AlertCategory, Control Point
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
Translation Bot 05a28cc580 Pebble: Fix screenshots for Android N
This was a regression only in master since we switched to SDK 25

This commit also fixes all other warnings with AbstractDeviceSupport.java
2017-03-10 23:10:40 +01:00
License Bot e392fbfd80 Add license header to all java files. 2017-03-10 14:53:19 +01:00
cpfeiffer 6282597790 Handle BT issues with discovered characteristics
It occurred to me that onServicesDiscovered() was called multiple times
whenever I connected to my Mi Band 2. Either the band actually sent the
characteristics in multiple chunks or Android itself notified multiple
times.

So we gracefully handle this by
- updating the list of characteristics
- *not* initializing the device again when it *is* already initialized
or at least initializing.
2017-03-09 22:49:13 +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 19b0e5e801 Centralize icons for devices 2017-02-26 22:46:49 +01:00
Andreas Shimokawa 08080b02bb Drop support for legacy (pre 0.12.0) database 2017-02-23 22:44:44 +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
Avamander 23f2dd35d4 Extract music shuffle and repeat states and set the song progress to auto-update. (#554) 2017-02-17 09:01:37 +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
Andreas Shimokawa 1d1edd41d7 Pebble 2/LE: remove a sleep which might be no longer necessary
Will speedup data transfer
2017-02-12 23:13:24 +01:00
Avamander fea31924ba Music data handling improvements (#550)
* Fixed extracting the track length.

* Added current track and total track count.

* Few small changes to make sure everything gets updated properly.

* Remove unnecessary includes.
2017-02-11 09:49:01 +01:00
Andreas Shimokawa 5dfd40062f fix previous commit 2017-02-10 23:16:36 +01:00