Andreas Shimokawa
3233432ee1
Pebble: simplify AppMessageHandler
2017-01-24 18:38:26 +01:00
Andreas Shimokawa
fb7db523c7
Pebble: dynamic appKey suppoort for Morpheuz
2017-01-24 11:58:13 +01:00
Andreas Shimokawa
746eeda777
Pebble: use dynamic appkeys for TrekVolle handler
2017-01-24 11:07:49 +01:00
Andreas Shimokawa
8027b8ac96
Pebble: fix potential crash when encoding appmessages with null values
2017-01-24 11:07:00 +01:00
Daniele Gobbetti
a7a37fd9c8
Pebble: add a method to use the JSON keys instead of hardcoding the key ID.
...
This needs parsing the json but it is only done once. So far only Timestyle apphandler uses the new approach and this fi_xes the issue reported here https://github.com/Freeyourgadget/Gadgetbridge/issues/482#issuecomment-273757492
Fixes also a potential crash when the message for pebble contained a null key in one of the Pairs
2017-01-20 19:17:00 +01:00
Andreas Shimokawa
26a751977e
Pebble: try to improve PebbleKit compatibility
...
(Might help with glance #506 )
2017-01-18 22:10:10 +01:00
Andreas Shimokawa
38e234552d
Pebble: only ACK appmessages from pebble to pebblekit android apps after the app actually sent one
2017-01-13 08:16:33 +01:00
Andreas Shimokawa
0218cee0e1
Pebble: fix long standing bug in uuid encoding for ACK messages (did not seem to do any harm)
2017-01-11 23:42:40 +01:00
Andreas Shimokawa
50cb3c9db3
Pebble: remove null termination from cstrings when converting to json for PebbleKit
2017-01-11 22:39:08 +01:00
Andreas Shimokawa
185605211d
Pebble: fix bug in PebbleKit implementation regarding binary data transferred from a watchapp to a 3rd party Android app
...
(Fixes a bug with TCW)
2017-01-10 22:30:55 +01:00
Andreas Shimokawa
f2e6ce6380
Pebble: fix incoming calls (recently broken)
2017-01-10 18:23:35 +01:00
Andreas Shimokawa
3644d5e7a6
Pebble: remove notifications when dismissed on the phone ( #326 )
...
Most of the code is generic, so it could be implemented by other devices.
I dont know what happens if multiple messages arrive in the same notification.
So, this is experimental.
2017-01-09 16:33:00 +01:00
Andreas Shimokawa
c6999713d2
Pebble: use Notifications system app as parent UUID for notifications
2017-01-09 15:11:50 +01:00
Andreas Shimokawa
f05b51fd83
Pebble: Add option to disable call display
...
Closes #494
2017-01-09 14:41:02 +01:00
Andreas Shimokawa
855a141ec4
Pebble: in AppMessageHandler provide a default implementation of handleMessage which just ACKs
2017-01-08 17:17:29 +01:00
Daniele Gobbetti
1fda1ba1b2
Pebble: try to get rid of the sleep and rely on countdownlatch instead.
...
Could help with #494
2017-01-08 16:48:50 +01:00
Daniele Gobbetti
09cc0134db
Pebble: add support for weather in some watchfaces by gh/zalewszczak
...
See https://github.com/zalewszczak/pebble for a list of watchfaces
#482
2017-01-08 15:27:01 +01:00
Daniele Gobbetti
7f50e0d2b7
Pebble: add support for weather in square watchface
...
So far celsius are forced for temperature #482
2017-01-07 22:41:10 +01:00
Daniele Gobbetti
c9cfaa9bd8
Pebble: webview. Implement two way communication with JS.
...
The support within JS is a bit hacky and sometimes conflicts with the configuration page.
2017-01-03 15:04:51 +01:00
Daniele Gobbetti
f175701825
Merge branch 'master' into background-javascript
2017-01-01 19:45:27 +01:00
Daniele Gobbetti
eaaa940637
Pebble: refactor the background webview
...
Now native controls seem to work (including datepicker), still the webview is not started upon watchapp start, but when long-pressing each app in the app manager. After the webview is started it will live in the background until device disconnect.
2017-01-01 18:33:39 +01:00
Andreas Shimokawa
507e58922f
Pebble: fix decoding of byte and short appmessage data (when a native handler is present)
2017-01-01 17:58:34 +01:00
Andreas Shimokawa
6d02a76328
Merge branch 'master' into background-javascript
2017-01-01 17:25:12 +01:00
Andreas Shimokawa
f25605f5a1
Pebble: First shot at TrekVolle support
...
Also some cleanups
2017-01-01 16:24:46 +01:00
Andreas Shimokawa
8b55110679
Pebble: allow weather to be send to watchfaces on fw < 4.x
2017-01-01 14:19:35 +01:00
Andreas Shimokawa
1722a6dc47
Pebble: minor code cleanup
2017-01-01 13:55:07 +01:00
Andreas Shimokawa
7930b7da75
Pebble: Support Healthify Weather
2016-12-31 20:08:53 +01:00
Andreas Shimokawa
5a83cb1c48
Pebble: fix npe in mario time handler
...
I shout stop for 2016! :D
2016-12-31 19:29:41 +01:00
Andreas Shimokawa
b811247704
Pebble: Adapt MarioTime logic
2016-12-31 19:27:21 +01:00
Andreas Shimokawa
984e639e97
Pebble: push current weather to TimeStylePebble again when watchface gets started
2016-12-31 19:17:08 +01:00
Andreas Shimokawa
4e543d4b34
Pebble: rename pushMessage() to onAppStart()
2016-12-31 19:04:05 +01:00
Andreas Shimokawa
82c0f35c58
Pebble: add encodeUpadteWeather() to AppMessageHandler for easier watchface support
...
Now in Timestyle weather is in sync with what we get from weather notification
2016-12-31 18:56:24 +01:00
Andreas Shimokawa
266c6b8817
Pebble: send weather to Pebble when we get notified by weather notification
2016-12-31 15:56:05 +01:00
Andreas Shimokawa
f12e786837
Pebble: fix mario time appmessage handler (weather condition icon hardcoded to sunny for now)
2016-12-31 13:33:50 +01:00
Andreas Shimokawa
95e6d2c740
Pebble: delete WeatherNeat handler, it was only used for testing and the watchface seems outdated
2016-12-31 12:35:40 +01:00
Andreas Shimokawa
4631e5bbaf
Pebble: restore find lost device feature abused for testing
2016-12-31 12:15:44 +01:00
Daniele Gobbetti
e477d22c88
Pebble: support the system weather app.
...
- enable/disable weather app from the watchapp list
- convert weather data to a format that can be displayed by the system app
TODO: send the weather data periodically
2016-12-30 20:14:13 +01:00
Daniele Gobbetti
0e9ce5d186
Pebble: get min/max temperature also for the forecast
2016-12-30 19:58:56 +01:00
Andreas Shimokawa
240c81ecb4
Pebble: implement weather related protocol encoding
...
this is not yet connected to anything...
2016-12-30 15:26:44 +01:00
Andreas Shimokawa
b045d5ac26
Merge branch 'master' into feature-weather
2016-12-30 00:10:54 +01:00
cpfeiffer
aadde7d1ca
Port to UriHelper, fix potential resource leak
2016-12-29 01:41:47 +01:00
Daniele Gobbetti
53d8f88670
Pebble: first steps towards background JS execution.
...
Progress so far:
- webview is created upon watchapp launch
- webview is destroyed after disconnect
- ready event is fired in the background
- showConfiguration is fired upon webview display
2016-12-28 20:53:17 +01:00
Andreas Shimokawa
2148b431ea
Merge branch 'master' into feature-weather
2016-12-19 23:32:53 +01:00
Andreas Shimokawa
bd5dc6bfbc
Pebble 2/LE: Add setting to limit the MTU (for debugging broken BLE stacks)
2016-12-19 23:28:06 +01:00
Andreas Shimokawa
8990e7e3da
Merge branch 'master' into feature-weather
2016-12-17 00:20:16 +01:00
Andreas Shimokawa
97aed43518
Pebble: fix for previous commit
...
(potential crashes when installing and receiving notifications)
2016-12-17 00:17:05 +01:00
Andreas Shimokawa
9588535004
Merge branch 'master' into feature-weather
2016-12-17 00:01:37 +01:00
Andreas Shimokawa
2b3592f354
Pebble: allow sending data to the pebble during installation on FW >= 3.0
...
It seems to be no problem to recieve notifications etc during app installation with non legacy firmwares :)
2016-12-16 23:47:59 +01:00
Andreas Shimokawa
825f2bf2e8
Merge branch 'master' into feature-weather
2016-12-11 20:27:28 +01:00
Andreas Shimokawa
31122f0b09
Pebble: Propagate watch apps launches outside of PebbleProtocol
...
This does not do anything yet.
2016-12-11 20:25:46 +01:00
Andreas Shimokawa
f63a7db5f9
Pebble: map owm conditions to TimeStyle icons
...
This is probably not the way we should do it, just experimenting for personal use :P
2016-12-11 00:08:57 +01:00
Daniele Gobbetti
a6a2c6d6d6
Pebble: timestyle doesn't use Yahoo anymore.
...
The values do not work anyway, because it's mapping them internally. See https://github.com/freakified/TimeStylePebble/tree/master/src/pkjs for the mappings.
2016-12-10 15:09:22 +01:00
Andreas Shimokawa
779699cd95
Pebble: remove configuration stuff from TimeStylePebble handler, update weather keys
...
This is not usable now, just playing around
2016-12-09 23:31:32 +01:00
Andreas Shimokawa
a0e21d7c6d
Merge branch 'master' into feature-weather
2016-12-09 23:29:54 +01:00
Andreas Shimokawa
0e1287e382
Pebble: also execute AppMessageHandler.pushMessage() if present when connection gets established
...
This does not have any effect now since pushMessage() is not used in this branch
2016-12-09 23:21:51 +01:00
Andreas Shimokawa
efb1cd389b
Merge branch 'master' into feature-weather
2016-12-09 21:52:55 +01:00
Andreas Shimokawa
17b581022b
optimize imports
2016-12-09 20:14:17 +01:00
Kevin Richter
34296c021f
Revamp Notification types Pebble ( #453 )
...
* Remove notification switches for enum & hashmap
* Fix code style
* Fix null reference exception
* Add whatsapp support
* Remove duplicate entry
2016-12-09 17:54:19 +01:00
Andreas Shimokawa
313499abd4
Pebble: also display debug level in app logs output
2016-12-08 23:20:00 +01:00
Daniele Gobbetti
2d0489960e
Pebble: boilerplate code to open dictation session #189
...
This is just boilerplate code, doesn't do anything but will do no harm as it's not called from anywhere
2016-12-08 16:38:31 +01:00
Andreas Shimokawa
013029443b
Pebble: Minor cleanups
2016-12-04 17:21:29 +01:00
Andreas Shimokawa
a691cd0ff7
Pebble: add option to enable applogs (debug messags from pebble apps)
2016-12-04 16:55:27 +01:00
Andreas Shimokawa
3db009e77d
Pebble: do not dump all LE traffic, minor code cleanups
2016-12-02 23:38:54 +01:00
Andreas Shimokawa
ae2c107ed1
Pebble 2/LE: only notify once when first PP packets are incoming
2016-12-02 08:50:02 +01:00
Andreas Shimokawa
bc9041a4c9
Pebble 2/LE: on connect wait 30s max and stop waiting immediately if a real PP connection got establish (ie write request on the gatt server)
2016-12-02 08:07:44 +01:00
Andreas Shimokawa
3eda2d4b81
Pebble 2/LE: honor reconnect tries
2016-12-02 00:38:53 +01:00
Uwe Hermann
0746aaa579
app: Random typo and consistency fixes.
2016-12-01 20:22:12 +01:00
Andreas Shimokawa
f0789cc147
Pebble 2/LE: fix another bug when reconnecting
2016-12-01 00:28:23 +01:00
Andreas Shimokawa
2993bb6b5c
Pebble 2/LE: fix potential NPE
2016-12-01 00:20:21 +01:00
Andreas Shimokawa
74c20f3a82
Pebble 2/LE: More fun with reconnect
2016-11-30 23:56:58 +01:00
Andreas Shimokawa
b878fa5eda
Pebble LE/Pebble 2: Fix reconnect not working when first attempt fails
2016-11-30 22:28:34 +01:00
Andreas Shimokawa
95ec1fb44c
Pebble LE/Pebble 2: Improve reconnect
2016-11-30 19:54:21 +01:00
Andreas Shimokawa
34ad088b88
Pebble: Experimental support for BLE on all models via dev option in Pebble Settings
...
HOWTO:
1) Pair you normal Pebble (not necessary if already done), make sure it was connected once
2) Unpair your LE pebble if already paired
3) Switch on "Always prefer BLE" in Pebble Settings
4) Tap on the + in Control Center to add a new device
5) Pair your Pebble-LE XXXX or Pebble Time LE XXXX inside Gadgetbridge's Device Discovery actibity
Now Gadgetbridge will connect to your LE Pebble when tapping on Pebble XXXX if "Always Prefer BLE" option is enabled.
You can easily switch back to classic LE by turning that option off again
2016-11-27 09:49:28 +01:00
Andreas Shimokawa
a5263141d7
Pebble 2: Ignore all GATT communication with all other that the current device
...
Fixes a bad bug where disconnecting from another BLE device caused the Pebble2 to disconnect
2016-11-25 14:28:04 +01:00
Andreas Shimokawa
381323011e
Pebble 2: work around FW installation problems
...
Wait a 0.5s after each complete Pebble packet and do not longer wait at all after a completed GATT package chunk (was 0.1s)
Big outgoing messages will be now much faster such as firmware installations but smaller take more time than before.
(This is not the proper fix but I could update the firmware this way, failed 10 times before after a few percent)
2016-11-24 18:52:58 +01:00
Andreas Shimokawa
eb052cead3
Pebble 2: Also honor the mtu when client gets a change reported
...
Should help older LE Pebbles
2016-11-21 17:29:16 +01:00
Andreas Shimokawa
647b67cfca
Pebble 2: call both requestMTU and use the characteristic write
2016-11-21 15:17:03 +01:00
Andreas Shimokawa
fce86482b9
Pebble 2: try an alternative way of setting the MTU (might revert)
2016-11-21 14:54:01 +01:00
Andreas Shimokawa
e8da301da3
Pebble 2: fix a few crashes with disconnect/ reconnect
2016-11-20 22:04:49 +01:00
Andreas Shimokawa
4f3c46f704
Pebble 2: only add second service if first one was added sucessfully
2016-11-20 00:12:41 +01:00
Andreas Shimokawa
3b250a4568
Pebble 2: initial hacky reconnect support
...
Works sometimes, at least less crashes
(#432 )
2016-11-19 23:53:07 +01:00
Andreas Shimokawa
ddfab1cdae
Pebble 2: use requestMTU() on Android 5+ instead of characteristics write.
...
This actually fixes MTU problems with older Pebbles (Time, OG)
2016-11-18 23:47:48 +01:00
Andreas Shimokawa
4dc085de57
Pebble 2: React to MTU notifications, fixes LE for older pebbles also
...
It seems that setting the MTU on older pebbles does not work, so just use what we can use.
Maybe old pebbles need setMTU() which only works on Android 5+, we could use that conditionally...
2016-11-18 23:47:48 +01:00
Andreas Shimokawa
66e3de9168
Pebble 2: improve connection problems (at least for me)
2016-11-18 22:38:39 +01:00
Andreas Shimokawa
d7256d172e
I hate java
2016-11-15 23:23:21 +01:00
Andreas Shimokawa
163a7bdf15
Pebble 2: save heart rate values to database (hopefully)
2016-11-15 23:21:13 +01:00
Andreas Shimokawa
82a47022fa
Pebble 2: allow to disable/enable HRM in context menu of Workout app
...
Okay this might be stupid since Workout seems to work also works without HRM!
I assumed (wrongly) that I will disable Workout by disabling HRM
anyway, better than not being able to toggle it at all!
2016-11-15 12:17:51 +01:00
Andreas Shimokawa
4b7f47ba6c
Pebble 2: add Workout system app to app manager on P2 and hexdump incoming HRM datalog
2016-11-15 11:56:14 +01:00
Andreas Shimokawa
00a71f53b3
Pebble 2: add not yet working code (at least not without weird workarounds)
...
This is is a pain because of tons of weird pairing issues
2016-11-13 21:29:58 +01:00
cpfeiffer
d89899557c
Mi2: Add config option to configure date/time display
...
(added a new EventHandler method to set a specific configuration option)
2016-11-13 20:47:24 +01:00
Andreas Shimokawa
f68bbe453b
Pebble: bump flags and version we report
...
Plus some small preparations for P2 support which do not hurt in master
2016-11-10 11:05:32 +01:00
Andreas Shimokawa
14ef5202e1
some internal testing which does not hurt in master
2016-11-03 11:07:44 +01:00
Andreas Shimokawa
d6b9e6d64b
Pebble: Support sending byte arrays from app configuration data
...
Also add debug output if trying to encode unknown classes in PebbleProtocol
(Fixes #421 )
2016-10-28 00:32:45 +02:00
Daniele Gobbetti
503bcee7b4
Support record version 13 (firmware 4.2)
2016-10-21 13:07:07 +02:00
cpfeiffer
713989ef38
Add event "test new function" for the debug screen
2016-10-11 23:06:59 +02:00
Andreas Shimokawa
cd195a5969
map more apps to notification types (icons and colors on the pebble)
2016-10-11 11:54:52 +02:00
Daniele Gobbetti
42f622af85
Support record version 12 (firmware 4.1)
2016-09-30 17:28:46 +02:00
Andreas Shimokawa
9cccb085c4
Pebble: allow sending acks to pebblekit android apps which always use transaction id -1 (this seems to be okay for pebblekit apps which do not want to use real transaction ids)
2016-09-26 21:51:11 +02:00
Andreas Shimokawa
8080734470
Pebble: use telegram icon for telegram messages
...
also use the facebook icon for the official facebook app
(untested because we would never use facebook)
2016-09-21 21:31:23 +02:00
Andreas Shimokawa
6a18d90fee
Vibratissimo: add simple and buggy activity with a slider for vibration control
...
Also includes some fixes and "find your device" support ;)
2016-09-20 20:28:52 +02:00