cpfeiffer
d2c952ffa5
Improvements to the singleton pattern, better encapsulate fields
2018-03-18 12:59:32 +01:00
Sergio Lopez
092e62bfad
Pebble: add support for weather in Simply Light watchface
...
Celsius forced as with other watchfaces #482
2018-02-28 22:42:47 +01:00
Daniele Gobbetti
d88badaf4d
Pebble JS: add transactionId metadata to the appmessage.
...
Removes the errors in Pebble-Casio-WV58DE as reported in #482
2018-02-28 21:56:46 +01:00
License Bot
238bacde9f
Update license headers
2018-02-26 14:27:33 +01:00
Daniele Gobbetti
daabff1364
Blind attempt to fix crashing configuration page if bgJS is disabled
...
This might help #643 but I could not reproduce the reported issue
2018-02-23 18:56:05 +01:00
Andreas Shimokawa
4d7c697497
Pebble: Fix for background javascript that tries to send floats or doubles
...
Also log further exceptions
Thanks @danielegobbetti for the original patch ;)
2018-02-14 23:20:22 +01:00
Daniele Gobbetti
8ba56db786
Pebble Webview: refine response mimicking
...
- check the called domain to return (potentially) different messages
- mimic the online check of TrekVolle watchface
2018-02-10 16:53:35 +01:00
Andreas Shimokawa
e657b327c9
Pebble: only call Pebble object in javascript if it is actually available
2018-02-04 00:02:14 +01:00
Andreas Shimokawa
d9c012025d
Pebble: prepend application start event to premature appmessage from a newly started app
...
This should fix some InvalidStateExceptions when using background javascript
2018-01-25 16:42:43 +01:00
Andreas Shimokawa
06d6aeacb9
Prepare find phone feature to be generic and implement apphandler for upcoming pebble helper app
2018-01-19 23:12:50 +01:00
cpfeiffer
fa0fd250cf
Attempt to fix crash with ExternalPebbleJSActivity #863
2018-01-14 01:40:04 +01:00
cpfeiffer
da5d1e3685
Trying to simplify ExternalPebbleJSActivity#onCreate() a bit
...
(by splitting into separate methods)
2018-01-14 00:20:13 +01:00
cpfeiffer
9ee1aa87e8
Move some methods to clarify responsibilities and simplify some things
2018-01-13 21:58:40 +01:00
cpfeiffer
e159a5dde3
Cleanup, deduplication, null-handling fixes
2018-01-13 21:08:51 +01:00
Andreas Shimokawa
948002dc7c
Weather: recreate OWM fake reply from weatherSpec, no not directly create in in Weather Notification receiver
...
This should bring CM weather on par with Weather Notficication when using background js
2017-12-14 14:54:09 +01:00
Andreas Shimokawa
0befc1a95e
Weather refactoring
...
No longer save an instance of ParcelableWeather2, rely on our WeatherSpec instead which now has all forecast data and save reconstructed owm weather json in Weather
2017-11-30 10:24:31 +01:00
Andreas Shimokawa
879272deb7
Weather: refactoring and support forecast for more than one day
2017-11-29 23:57:36 +01:00
Andreas Shimokawa
7ffcc44378
Pebble: fix nasty crash when appmessage id is > 127
...
This is a regression since Gadgetbridge 0.22.0
Potentially fixes the following:
- #868
- #876
- #884
NOTE:
Java has no unisgned, java has no unsigned, java has no unsigned.
Java has no unisgned, java has no unsigned, java has no unsigned.
Java has no unisgned, java has no unsigned, java has no unsigned.
2017-11-14 22:28:54 +01:00
Andreas Shimokawa
97fda2434d
Pebble: prevent potential NPE, and add more loggins in PebbleKit code
2017-11-14 22:10:40 +01:00
Andreas Shimokawa
d25da96804
Pebble: log some errors during JSON encoding/decoding
2017-11-14 22:02:00 +01:00
Andreas Shimokawa
1e324acd65
Mi Band 2/Bip/Cor: Whole day HR Measurement
2017-11-11 00:04:51 +01:00
Daniele Gobbetti
72f76b60d3
Pebble: send temperatures according to the configured measurement system
...
Fixes #858
<Without further comments but feel free to insert a long rant about the beauty of the metric system>
2017-11-01 17:58:58 +01:00
License Bot
3ea2ac6dd2
Update license headers
2017-10-25 09:29:36 +02:00
Daniele Gobbetti
e028b4d223
Pebble: add method to stop the background JS engine without disposing the webview
2017-10-23 20:47:30 +02:00
Andreas Shimokawa
ea06df4d0c
Pebble: dispose webview when app with app handler has been started (misfit, morpheuz)
2017-10-23 09:23:28 +02:00
Andreas Shimokawa
6603b3fa05
Merge branch 'background-javascript'
2017-10-16 23:06:36 +02:00
License Bot
8f06e36c00
Update license headers
2017-10-16 09:38:02 +02:00
Daniele Gobbetti
2a0388f1c6
Pebble: background webview add allowed domains array
2017-10-13 22:16:01 +02:00
Daniele Gobbetti
c4f36d1202
Pebble: background webview, address (most of) review comments
2017-10-13 21:57:22 +02:00
Daniele Gobbetti
b0c723b68a
Pebble: enable legacy handlers if background JS is disabled
2017-10-10 22:10:26 +02:00
Andreas Shimokawa
0eb8a0b5e2
Pebble: Fix background javascript for Pebble2/LE/Emulator
2017-10-04 23:12:49 +02:00
Andreas Shimokawa
49bebc3440
Merge branch 'master' into background-javascript
2017-10-01 23:36:22 +02:00
Andreas Shimokawa
486596b1a8
Pebble: support setting the other non-metric system crap for the pebble
...
(pebble health has to be activated again in app manager after changing the option)
This also moves the fake:// uri handling code from PebbleIoThread to PebbleSupport
2017-09-30 23:27:19 +02:00
Daniele Gobbetti
e8ae47de79
Pebble: Make background JS support toggle-able
...
- Add preference to enable background JS (default disabled)
- Remove the dummy activity used to create the webview, use ExternalPebbleJSActivity instead
- Add layout for legacy configuration, used if background JS is not enabled
- Create the view upon connecting, not when launching the application
- Remove the generic helpers used to find out if any device would need the background webview
- Drastic refactoring of WebviewSingleton moving internal classes in a new package "webview" in service/devices/pebble
2017-09-25 17:12:35 +02:00
Daniele Gobbetti
af6271a428
Merge branch 'master' into background-javascript
2017-09-25 11:21:11 +02:00
Frank Slezak
6ec1555178
Add support for dynamic Pebble background colors ( #819 )
...
Pebble: Add support for dynamic Pebble background colors
- Add a couple additional icon types
- Add Lighthouse (currently unused)
- Add Transit (public transportation app)
- Tweak the colors on existing icon types
- Implement logic to grab primary (vibrant) color from app logo
- The color will be used when displaying a notification for an app
that does not have any configs bound to it.
- Alter NotificationType to support a color (named pebbleColor)
- Alter the Pebble notification poster to listen to the color from
the notification
- Alter the DeviceCommunicationService to allow for color passthrough.
- Add logic to convert HEX or Integer representations of RGB888 colors
to Pebble RGB222 format.
- make the package name retrieved lowercase.
Fixes : #815
2017-09-19 13:24:31 +02:00
Andreas Shimokawa
99d873a178
Merge branch 'master' into background-javascript
2017-09-13 21:51:55 +02:00
Daniele Gobbetti
6def9dc07e
Pebble: allow to translate quick actions sent to the watch
...
Fixes #789
2017-09-10 17:57:18 +02:00
Andreas Shimokawa
f1d252c7ee
Disable appmessage handler for healthify and trekvolle
2017-08-22 20:14:41 +02:00
Daniele Gobbetti
d00b5a5d5d
Merge branch 'master' into background-javascript
2017-08-18 12:15:01 +02:00
Andreas Shimokawa
b25febf0e5
Pebble: LOG stacktrace when connection fails
2017-08-12 00:18:15 +02:00
Andreas Shimokawa
6916beabed
Pebble: fix wrong uuid being passed from protocol to js
2017-08-02 23:09:43 +02:00
Andreas Shimokawa
ceec76b4f6
Pebble: preparations for js appmessage ack/nack callbacks
2017-08-01 00:03:28 +02:00
Andreas Shimokawa
30d6b96432
Merge branch 'master' into background-javascript
2017-07-30 23:26:05 +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
Andreas Shimokawa
eb7e635cdc
Merge branch 'master' into background-javascript
2017-07-15 23:07:46 +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
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
6d54cfab88
Merge branch 'master' into background-javascript
2017-05-12 22:16:11 +02:00
Andreas Shimokawa
a1690700f4
Revert "Refactor notification management"
...
This reverts commit cede8a0826
.
2017-05-10 22:26:02 +02:00
Andreas Shimokawa
3751273cd0
Merge branch 'master' into background-javascript
2017-05-09 14:04:33 +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
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
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
86392dbf06
Merge branch 'master' into background-javascript
2017-04-20 14:34:32 +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
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
5c0c5581bb
Merge branch 'master' into background-javascript
...
# Conflicts:
# app/src/main/assets/app_config/js/gadgetbridge_boilerplate.js
# app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinator.java
# app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/DeviceCoordinator.java
2017-04-08 21:16:01 +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
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
Translation Bot
a14e14eeb9
Merge branch 'master' into background-javascript
2017-03-10 23:14:40 +01:00
License Bot
e392fbfd80
Add license header to all java files.
2017-03-10 14:53:19 +01:00
Daniele Gobbetti
76be0ae676
Pebble background webview improvements:
...
remove the pre-KITKAT checks as the minsupportedversion is KITKAT
fix the currentPosition override
move the returned configuration parsing to onResume method (where it was previously) as it seems more reliable
pass the whole GBDeviceEventAppMessage object, this way the jsInterface in the webview doesn't need to be static anymore
change the way the webview is initialized, this way the context doesn't need to be static anymore
use runOnUiThread instead of the Handler .. MainLooper to post the commands to the webview instance
comment a couple of custom message handler for weather as the watchapp seem to work well with JS alone
add a couple of log messages for debugging
known issue: legacy app configuration pasting does not work.
2017-02-28 21:11:26 +01:00
Andreas Shimokawa
593b169f00
Pebble: Put icon into fake weather response, disable mario time native handler (since it works a bit now) :)
2017-02-27 22:28:42 +01:00
Daniele Gobbetti
a545c56680
Pebble: ack the messages that go to the webview and do not destroy it on disconnect.
2017-02-26 17:57:26 +01:00
cpfeiffer
711800f3d0
Collaborative attempt to initialize the background webview on startup
2017-02-25 18:01:08 +01:00
Andreas Shimokawa
772a22f78b
Merge branch 'master' into background-javascript
2017-02-25 13:02:07 +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
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
Andreas Shimokawa
5dfd40062f
fix previous commit
2017-02-10 23:16:36 +01:00
Andreas Shimokawa
f956d94181
Pebble: make sure to not display "open on phone" and "dismiss" when the source of a notification was our AlarmClockReceiver
2017-02-10 23:11:21 +01:00
Andreas Shimokawa
ee28ccd4fe
Pebble: add a dev option to always and immediately ACK PebbleKit messages to the watch
...
Might help #509
2017-02-10 23:07:36 +01:00
Andreas Shimokawa
f35e3e460d
remove K9 receiver as is works better with generic notifications
2017-02-09 17:35:46 +01:00
Andreas Shimokawa
c0076b20d3
fix copy and pasta error
2017-02-09 17:24:07 +01:00
Andreas Shimokawa
5bb1995eb9
Pebble: fix privacy mode title being "null" in some cases
2017-02-09 17:10:39 +01:00
Andreas Shimokawa
e2b3394900
made caller privacy pebble setting generic
2017-02-07 10:15:23 +01:00
Daniele Gobbetti
b7bad268c2
Pebble: support weather for Obsidian
...
Ref: #482
2017-02-05 17:21:04 +01:00
Daniele Gobbetti
dccd6c1b06
Pebble: implement privacy modes
...
The user can choose whether to completely hide the notification text or push it off-screen. This also effects the incoming call notification.
Fixes #370
2017-02-05 16:37:59 +01:00
Daniele Gobbetti
f66f765fb6
Merge remote-tracking branch 'origin/master' into background-javascript
...
# Conflicts:
# app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/PebbleIoThread.java
2017-01-28 17:43:34 +01:00
Andreas Shimokawa
25433ef6bc
Pebble: do not display a toast when watchapp configuration could not be found during initialization of appmessage handler
...
Unfortunately all users without TimeStyle installed got an error in Gadgetbridge 0.17.2
2017-01-24 23:12:36 +01:00
Andreas Shimokawa
4f45ad660d
Pebble: refactor PebbleKit stuff into its own class
2017-01-24 22:56:09 +01:00
Andreas Shimokawa
a451b5367b
Pebble: dynamic key support for Square handler
2017-01-24 19:02:45 +01:00
Andreas Shimokawa
712ce1aa8b
Pebble: dynamic keys support for healthify
2017-01-24 18:50:43 +01:00
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