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
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)
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
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 )
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.
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
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
when receiving configuration data from the external browser.
Parse the passed data to load the correct watchface javascript, and ensure
the currently connected device is a Pebble (and try to reconnect if there
is no device connected, as a bonus)
What happens in reality is that devices are sorted according to their
connection status first, and then by name. So even if/when we support
multiple device connection, the order should remain sane.
This closes#842.
- fix bug that caused the wrong device to be connected sometimes
- add accent color
- add battery status
- remove duplicated title
- allow to connect also before first connection (the last connected device will be used)
- Disconnect button if connected
- Fetch activity if connected and supported by device
- (re)connect the last connected device if disconnected
Known bug: In the last case, if multiple devices were connected, the wrong device gets re-connected
- 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
As requested in #736, this adds an entry in the settings menu that allows to blacklist certain calendars.
To avoid confusion, all the former blacklist methods and fields have been renamed to apps_blacklist. The new entries are called calendars_blacklist.
Importing the settings has not been tested with the current changes.
Closes#736
Future improvements TODO: The new setting lives in the Pebble section, i believe in the future the blackslist functionality should be centralized and put in the sidebar.
Replacing the top frame with a data-uri is forbidden since chromium-based-webview version 60.
With this commit we swap the body with an iframe when needed. Old webviews work as usual also with this approach.
No special treatment is needed for local storage as its usage is forbidden in data-uri iframes.
Fixes#758
JAVA side:
- first trivial handling of ACK/NACK message,
- fake the location age until an update mechanism is implemented,
- make the appmessage parsing more robust,
- comment the forecast mimicked reply as it was wrong and confusing for some watchfaces
JS side: first trivial handling of ACK/NACK message
- add back support for clay that was mistakenly removed
- timestamps are in milliseconds in JS as well
- intercept the whole URL path instead of the last part
- the webview is not static anymore (but its holder is)
- the openweathermap calls of type weather and forecast are now supported (as properly as possible)
- assemble the main JSON messages in the weather receiver, as info are lost afterwards
- switch to Uri parsing instead of String (also unify handling of legacy and new requests)
- attempt to address most of the lints/warnings of AS
- remove printStackTrace in favor of LOG.warn
- rename the createWebView method to getInstance
- remove the stateChangeListener after it has been fired once and remove obsolete code within
- instantiate the jsInterface object only when needed
- use the application context when possible to limit the usage of the mutableContextWrapper
- added title and feature graphic for all three languages
- added short and full description for English and Italian
- added changelog only for last version and only for English
- centralize the logic for skipping unwanted notifications
- use *Compat methods wherever possible
Leaving out the problematic parts (persistent IDs and updating)