Commit Graph
100 Commits
Author SHA1 Message Date
Daniele Gobbetti 224661ccd5 Add changelog entries, fix some typos 2018-06-26 20:28:36 +02:00
Daniele Gobbetti 57734f3cda Update contributors list.
Also update the self-contained script to use official overrides from
mailmap files.
2018-06-25 18:27:01 +02:00
Daniele Gobbetti 6807714af3 Register autofetch receiver in DeviceCommunicationService
This allows the register to be registered only when the device is connected,
and also toggling without completely exiting the application.

The logic in the receiver itself was simplified and an explanation added
to the preference summary.
2018-06-23 11:19:09 +02:00
Daniele Gobbetti 2a30e9486c Reduce the amount of lines in the logcat for binary dumps
Concatenate the binary values instead of logging one byte per line.
2018-06-23 11:15:03 +02:00
Daniele Gobbetti f99895da0c Remove activity transfer toast, add title to the transfer notification
Also create a separate channel that allows "muting" transfer notifications
on android oreo and above.
2018-06-19 22:03:49 +02:00
Daniele Gobbetti b81de63b30 Use checkboxes for notification and pebblemsg blacklist
also support dark theme and add a menu entry for accessing blacklist functionality
2018-06-19 18:26:06 +02:00
Daniele Gobbetti d55d551943 Add overflow menu to blacklist and whitelist all installed applications
Fixes #679
2018-06-18 21:29:12 +02:00
Daniele Gobbetti 2ca8e4a4e4 Forward notifications marked as local only if they are emitted by skype
Also add skype for business package name.

Blind implementation as I don't have access to these apps.

Fixes #1109
2018-06-18 20:52:26 +02:00
Daniele Gobbetti 4d0020ae1d Add the option the blacklist applications also for Pebble Messages
Fixes #996
2018-06-18 20:38:37 +02:00
Daniele Gobbetti 2f4c9ef0d9 Keep the embossed logo visible behind the device cards. 2018-06-18 20:27:38 +02:00
Daniele Gobbetti 3c00332a77 Always stop BT/BTLE discovery when exiting the Discovery Activity
Hopefully solves the leaks
2018-06-18 20:26:28 +02:00
Daniele Gobbetti 45ecdaa213 Pebble: Webview: do not use the contextWrapper if it's null.
It should never happen but I had a crash on API 19, possibly a race condition
somewhere.
2018-06-18 20:23:23 +02:00
Daniele GobbettiandGitHub 60412e4b1d Fix link to the blog 2018-06-07 13:27:32 +02:00
Daniele Gobbetti 3c3e38741a Pebble: remove the legacy countdownlatch on Pebble GATT server code
The GATTServer code is now in line with the new GATTClient code.
2018-05-19 22:42:05 +02:00
Daniele Gobbetti d817759d1f Add missing changelog entry 2018-05-19 22:40:45 +02:00
Daniele Gobbetti b7ce6eeae3 Add changelog and bump version 2018-05-19 21:48:20 +02:00
Daniele Gobbetti f1736808cb Auto connect at boot on recent androids respecting the user settings
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
2018-05-16 19:08:53 +02:00
Daniele Gobbetti 65b0d9da4b Explicitly register the bluetooth state change receiver on Oreo
The implicit manifests declaration is not enough anymore
2018-05-16 19:03:06 +02:00
Daniele Gobbetti d109630e74 Use TelephonyManager getCallState() instead of the provided extras
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)
2018-05-16 18:56:36 +02:00
Daniele Gobbetti e6748c34fc Update the notification from DeviceManager instead of DeviceCommunicationService
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
2018-05-13 20:19:09 +02:00
Daniele Gobbetti 9b0b21845a Short descriptions below 80 chars but with device names for IT and EN 2018-05-06 17:01:23 +02:00
Daniele Gobbetti fd664b9c67 Add proper mime type to shared gpx files
This prevents apps to show up in the intent chooser that do not know how
to deal with gpx files (e.g. Conversations)
2018-04-27 21:00:38 +02:00
Daniele Gobbetti d512585fae More timezone fixes for android < 24
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 )
2018-04-24 21:00:22 +02:00
Daniele Gobbetti c71eba9483 Hotfix for connection issues on API < 24
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.
2018-04-16 18:26:23 +02:00
Daniele Gobbetti 477c27dcf0 Weather: get wind speed and direction from the Weather Notification app
The wind direction is approximate because we only get the quadrant, not
a precise value
2018-04-14 21:16:13 +02:00
Daniele Gobbetti cc83021ae3 Weather (and Pebble Webview): fix name and add wind information to weather data
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
2018-04-14 19:42:05 +02:00
Daniele Gobbetti 8f6d287592 Amazfit Bip: add option to reset the last fetched activity (timestamp)
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
2018-04-12 22:11:58 +02:00
Daniele Gobbetti 134905ed6a Missing method needed by the previous commit. 2018-04-12 22:07:15 +02:00
Daniele Gobbetti e7c10f3f01 Use a different DateTimeFormat on legacy android versions (<24)
Fixes #1055
2018-04-12 21:48:02 +02:00
Daniele Gobbetti 5af353d6dc Amazfit Bip: limit the activities to the currently selected device in Control Center
Also don't reverse the results, but sort in the query
2018-04-07 10:16:36 +02:00
Daniele Gobbetti 74dcec730c Amazfit Bip: implement deletion and select all actions
Also add white-on-black icons for all the actions
2018-04-05 22:41:03 +02:00
Daniele Gobbetti 80addd3454 Amazfit Bip: Add Contextual Action Bar and long press to select
Change metaphor from long-press-to-contextual-menu to long-press-to-select
The multiple deletion is not functional, the share menu works
2018-04-04 21:38:27 +02:00
Daniele Gobbetti 4f3a0be897 Amazfit Bip: add FloatingActionButton to initiate activities fetching
The swipe to refresh still works for the time being
2018-04-02 21:22:28 +02:00
Daniele Gobbetti 27caa08a1b Amazfit Bip: do not export GPX tracks if there is no point in the track
The approach ignores the activity types and only uses the presence of
valid lon/lan points in the track to create the GPX file or not.
2018-04-02 18:42:08 +02:00
Daniele Gobbetti cd029e4853 Amazfit Bip: fixes to the activities activity
- Prevent the swipe-to-refresh unless we are on top of the list
- Show the most recent activities on top of the list
2018-04-02 15:53:19 +02:00
Daniele Gobbetti ec1f4505bd Pebble: prevent crashing when the ExternalPebbleJS Activity was not running
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)
2018-03-17 18:50:53 +01:00
Daniele Gobbetti 8e67f31309 Pebble Webview: check the availability of Internet Helper packages before
binding the service to it.

Could help with #643, but it's a blind attempt.
2018-03-17 16:57:02 +01:00
Daniele Gobbetti d286f497f0 Pebble: Iterate over knownKeys only if they are present.
Fixes #1027
2018-03-17 16:12:40 +01:00
Daniele Gobbetti 3e903362e6 Explicitly ask for RECEIVE_SMS permission at startup.
Should fix #1025
2018-03-17 15:58:44 +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
Daniele Gobbetti bf4ba91cbc Update contributors list.
Also update the self-contained script to use preferred contact name/address.
Fixes #1002
2018-02-26 13:12:46 +01:00
Daniele Gobbetti bf729f41b2 Attempt to make travis work again.
This is only a workaround.

We need to follow https://github.com/travis-ci/travis-ci/issues/8874#issuecomment-350350607
to know when the workaround will not be needed anymore
2018-02-24 15:09:08 +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
Daniele Gobbetti bd6cfe6000 Adaptive launcher icon background color (forgotten file) 2018-02-20 07:43:09 +01:00
Daniele Gobbetti 461353292b Add adaptive launcher icon
Old launcher icon is still present and used in navigation drawer and
possibly other places. Tested on API 26 and 22.

Closes #1001
2018-02-19 21:39:48 +01:00
Daniele Gobbetti e7a1e1b8c3 Move the connected device to top in control center
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.
2018-02-19 18:27:48 +01:00
Daniele Gobbetti 4f246b3ed9 Add Antox to the chat applications.
Notifications coming from the chat.tox.antox package are treated as chat
messages. This closes #910
2018-02-17 17:39:15 +01:00
Daniele Gobbetti 48b89f1bd2 Add Kontalk to the chat applications.
Notifications coming from the org.kontalk package are treated as chat
messages. This closes #994
2018-02-17 17:33:34 +01:00
Daniele Gobbetti e28333fe6e Fixes to make the application run on Oreo
- tested on Oreo 8.1

this commit includes changes cherry picked from 3b6da66643
2018-02-14 21:35:22 +01:00
Daniele Gobbetti 8bd9cd6dff Fix alarm details activity on small screen
Tested using the split screen functionality, this change allows to
scroll if the controls do not fit in the screen. Fixes #935
2018-02-10 23:56:37 +01:00
Daniele Gobbetti 55d9ff0954 Amazfit Cor: Whitelist firmware 1.0.6.76
Reported as working on the issue tracker. Closes #984
2018-02-10 23:36:05 +01:00
Daniele Gobbetti 831303aea8 Fix regression introduced by 737578debc
With many thanks to https://github.com/80tf3262p8 who spotted the error

closes #975
2018-02-10 16:54:20 +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
Daniele Gobbetti 81d4ca84a8 Add Polish 'Ł' and 'ł' to transliteration map
closes #987
2018-02-10 16:53:35 +01:00
Daniele Gobbetti a29394b96e Omnijaws Weather: correctly pick todays' min and max temperature 2018-02-10 16:53:35 +01:00
Daniele Gobbetti a74ffca249 Bump version and add changelog 2018-01-20 14:21:08 +01:00
Daniele Gobbetti 888e7fa229 Add support for Omnirom Omnijaws weather service.
This uses a contentobserver and doesn't do anything if it's not available.
Should be feature equivalent to the LineageOS weather receiver.
2017-12-17 22:35:17 +01:00
Daniele Gobbetti 797ad096dc Don't add the fetch activity action button on KK
Fixes #886

Add accent color also on first notification creation #759
2017-11-19 16:39:44 +01:00
Daniele Gobbetti 331ca6a47e Merge branch 'master' into bip-wip 2017-11-01 22:12:13 +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
Daniele Gobbetti e7839f1c39 Replace the Combined Charts with simple Line Charts
Fixes #808
The datasets had to be separed in order to fill the area below each line with the right color.
2017-11-01 17:35:05 +01:00
Daniele GobbettiandGitHub 8f8b6bdf46 Fix spacing in LICENSE file
Github "automatic license recognizer" wasn't happy with the spacing of the original file.

There is NO CONTENT CHANGE in the file!
2017-11-01 14:58:43 +01:00
Daniele Gobbetti 98b04dd2fc Allow disabling left/right swipe on the graphs
Fixes #860
 Added preference to control this option
 Swiping down will still toggle a sync of the data from the device (if connected) in any case
2017-11-01 09:07:01 +01:00
Daniele Gobbetti 5417c5b5f6 Change notification, and fix the connection logic:
- 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)
2017-10-30 21:37:31 +01: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
Daniele Gobbetti 5262c6e3d7 Add quick actions buttons to Gadgetbridge notification #759
- 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
2017-10-20 22:49:53 +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
Daniele Gobbetti e99b802a35 Pebble: enable toggle background JS only if experimental features are enabled 2017-10-10 22:00:01 +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
Daniele Gobbetti c74ea64b70 Pebble: Address the missing remarks of #807
- Separate the getAudioPlayer method
- Replace the println calls with proper LOG statements
2017-09-25 11:09:45 +02:00
Daniele Gobbetti 4d2cc8cfcb Reconcile with changes in italian strings file
Closes #796
2017-09-25 10:59:00 +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
Daniele Gobbetti df2a313168 Webview: make the webview more robust to disconnections 2017-09-03 17:55:00 +02:00
Daniele Gobbetti b8a137226f Webview: Fix sending configuration from watchfaces when background message exchange is going on 2017-09-03 17:10:04 +02:00
Daniele Gobbetti d669d3b325 Make NoF1 compatible with background js branch 2017-09-03 17:09:19 +02:00
Daniele Gobbetti bb962001a5 Merge branch 'master' into background-javascript
# Conflicts:
#	app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBApplication.java
2017-09-03 16:49:27 +02:00
Daniele Gobbetti 612592516b Colored buttons everywhere! 2017-08-27 19:26:27 +02:00
Daniele Gobbetti f7e814431e Use material "history" icon for changelog
fixes #775
2017-08-27 18:48:13 +02:00
Daniele Gobbetti 44d2384aec Use gridlayout from support library
Add gridlayout dependency and use it instead of heavily nested linearlayouts (fragment_live_activity) or to simplify existing grid layouts.
2017-08-27 18:26:49 +02:00
Daniele Gobbetti 41feb008a7 Various style fixes
The top axis had the default color and was not visible with dark theme.
Enabled granularity of 1 to avoid fractions of steps being shown on the axis.
2017-08-27 17:26:24 +02:00
Daniele Gobbetti 8aebf2d9d5 Null extras bundle should not be processed.
Blind attempt to address #778
2017-08-25 22:01:21 +02:00
Daniele Gobbetti 1017561fb6 Add amazfit to the shorlist of supported vendors/devices (DE). 2017-08-19 21:32:44 +02:00
Daniele Gobbetti 8c23d6ec29 Add amazfit to the shorlist of supported vendors/devices. 2017-08-19 21:31:49 +02:00
Daniele Gobbetti c05e5f15ab Add link to liberapay.com in the main drawer.
/cc #14
2017-08-18 21:51:12 +02:00
Daniele Gobbetti d00b5a5d5d Merge branch 'master' into background-javascript 2017-08-18 12:15:01 +02:00
Daniele Gobbetti c1834ec4ea Fastlane/fdroid test - fallback images
Removed images for Italian, to check if fdroid falls back to the english images
2017-08-18 12:12:59 +02:00
Daniele Gobbetti 8cce2d1362 Pebble: allow to blacklist certain calendars
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.
2017-08-18 10:34:42 +02:00
Daniele Gobbetti 6c38c6bb79 Reword changelog and add versioncode to xml 2017-08-17 18:18:16 +02:00
Daniele Gobbetti 91b1464824 Pebble: use iframe for clay configuration webpages
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
2017-08-16 21:31:39 +02:00
Daniele Gobbetti 868c0543d5 Pebble: JS proper removal of callbacks (transaction handling) 2017-08-07 18:35:09 +02:00
Daniele Gobbetti 7475d170a7 Pebble: add support for the (unreleased) internet helper addon
This will use the internet helper application if it's available on the android device or fall back to existing methods if it doesn't.
2017-08-05 16:04:48 +02:00
Daniele Gobbetti 9cca16cb00 Pebble: JS fix sending configuration data (regression introduced with last commit) 2017-08-02 22:18:11 +02:00
Daniele Gobbetti aa28625d9f Pebble: JS basic implementation of transaction acknowledgment
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
2017-08-02 22:08:29 +02:00
Daniele Gobbetti 8353026c08 Pebble: call the callbacks, do not return them 2017-07-28 18:38:03 +02:00
Daniele Gobbetti c81a768000 Pebble: call the callbacks, do not return them 2017-07-28 18:34:36 +02:00
Daniele Gobbetti 25e6af81a4 Pebble: some more fixes to the webview
- 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
2017-07-28 18:30:27 +02:00
Daniele Gobbetti 868593cfd3 Pebble: further improvements to the background webview
- 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
2017-07-26 18:12:12 +02:00