Arjan Schrijver
d4c69ebca3
Fossil Hybrid HR: Add steps and HR widgets
2021-07-19 13:43:05 +02:00
Arjan Schrijver
7d23044a45
Fossil Hybrid HR: Show widget previews in watchface designer
2021-07-19 13:43:05 +02:00
Arjan Schrijver
c77d3e49b1
Fossil Hybrid HR: Add file extensions to new assets
2021-07-19 13:43:05 +02:00
Arjan Schrijver
de403cf92e
Fossil Hybrid HR: Add watchface designer
2021-07-19 13:43:05 +02:00
vanous
fffe7e37c4
Allows to edit the GPX track entry in Sports Activity item
2021-07-14 11:41:41 +02:00
vanous
a9dc8e85ef
add missing icons to settings items
2021-07-06 20:54:56 +02:00
vanous
1f71a5e51f
Use distinct icons for total step and distance values in widget
2021-02-27 10:10:47 +01:00
vanous
5c3c23ea50
Improve Sports Activities dashboard and Filter
...
- makes nicer dashboard, unify with design in Activity List
- dashboard is now part of the sports activities list (had to overcome
some hurdles, because of the multiselect for sharing)
- add icons to Spinners in Sports Filter
2020-11-26 17:19:08 +01:00
vanous
551a5c1a66
Add Activity List Dashboard/Summary view
2020-11-12 13:50:44 +01:00
vanous
b364029f82
Level up icons in Activity List. Improve empty record.
2020-10-27 09:20:32 +01:00
vanous
e7b5053b13
Add Step length preference to About you
...
Add new distance icon
Distance in meters or km based on distance
Remove unnecessary definitions
Optimize new drawables
Map intensity to min steps
2020-10-16 21:07:57 +02:00
vanous
64d8504b7d
New item layout, icons, logic and defaults for daily activity list.
2020-10-14 01:52:27 +02:00
vanous
7371fb37c2
Add charts into Sports Activity Details. Improve pingpong icon.
2020-09-23 21:53:16 +02:00
vanous
30ebad8617
Activity icons, fastlane screenshots, pebble widget steps fix
2020-09-17 21:38:01 +02:00
vanous
874b510784
Add more features to ActivitySummariesFilter
...
Add possibility to pick individual SportsItem items into filtered view
Add quick time range selector
add deviceFilter for devices that supportsActivityTracks
add baseAltitude
add average speed, calculated from from distance/active time
make Activity Details layout scrollable
2020-09-05 20:22:04 +02:00
vanous
db29de4a9c
Material design Edit Icon, unified in Device alias and Activity name
2020-08-25 15:29:55 +02:00
vanous
f929c5bd2d
Add and improve icons for Device Actions and Sync calendar events
2020-08-25 09:34:35 +02:00
Daniele Gobbetti
206b718155
Revert "declare geposition variable"
...
the variable scope cannot be local, otherwise some watchfaces/watchapps
may break
This reverts commit 7ddd2a0
2018-11-02 11:24:59 +01:00
cpfeiffer
6cc29f041c
fixed lgtm recommendation
2018-11-02 00:10:52 +01:00
cpfeiffer
7ddd2a045a
declare geposition variable
2018-11-02 00:09:30 +01:00
Andreas Shimokawa
f03a3c1f3b
Pebble: try to fix ack/nack callbacks in background js
2018-01-25 17:31:47 +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
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
d00b5a5d5d
Merge branch 'master' into background-javascript
2017-08-18 12:15:01 +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
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
f6946c4402
Merge branch 'master' into background-javascript
2017-07-24 23:47:15 +02:00
Andreas Shimokawa
f98131ccd5
change launcher icon to non -NC licenced one (thanks @xphnx)
...
(added padding by fiddeling with the .svg in a text editor :O)
2017-07-21 14:18:43 +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
cad777e4ce
Pebble: always return the position after 10 tries. Fixes #643
...
This is a workaround for bugs in the javascript code of the configured watchfaces, that could fail to handle a returned failure properly and crash the webview / fill its stack.
2017-04-08 08:57:23 +02:00
Daniele Gobbetti
df71d695c3
Pebble: pass an object to the ready event handlers
...
apparently also the ready event needs an object for some watchfaces. Reported in #643 (not the main report)
2017-04-08 08:50:18 +02:00
Daniele Gobbetti
4dbc255ad5
Pebble: return the current position to the caller of the getCurrentPosition function.
...
This fixes a bug introduced in d8894d315a
that affects also #643 .
2017-04-08 08:34:33 +02:00
Daniele Gobbetti
d8894d315a
Pebble: In the geolocation override, fail if the position is too old.
...
The previous logic was wrong as it was calling success every time. Further checks must be added for some watchfaces.
2017-04-02 22:34:22 +02:00
Daniele Gobbetti
75d4abc9dc
Pebble background webview: bring back the mutableContextWrapper, otherwise inputs aren't working.
...
Reliably go back to first step of the configuration page when closing (this causes a Toast when closing the activity while in the clay settings page)
2017-03-04 20:43:32 +01:00
Daniele Gobbetti
f84c651c38
Pebble background webview: config page should be shown reliably now.
2017-03-04 19:46:18 +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
Daniele Gobbetti
6c993d40aa
Merge branch 'master' into background-javascript
...
# Conflicts:
# app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ExternalPebbleJSActivity.java
2017-02-25 15:26:55 +01:00
Daniele Gobbetti
e7846f4754
Pebble: override the native navigator.geolocation GetCurrentPosition
...
The native method requires FINE location permission, and we don't have it. Further we should handle the runtime permission request.
2017-02-25 13:31:48 +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
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
Daniele Gobbetti
3e9898d86c
Pebble: call the "ready" method also when returning from the external web browser
...
Additionally don't call decodeURIcomponent as the getURLVariable function already does this. Needed by apps like "slides of time". Closes 454
2016-12-09 11:55:11 +01:00
Uwe Hermann
0746aaa579
app: Random typo and consistency fixes.
2016-12-01 20:22:12 +01:00
Daniele Gobbetti
84327a5b86
Pebble: use also the device address as seed to store app configuration
...
This is not needed as long as one GB instance is used to manage a single pebble device, if multiple devices are managed the stored watchapp configuration could be messed up.
2016-11-27 11:31:03 +01:00
Daniele Gobbetti
5b804effa4
Pebble: use a proper event handling in the configuration JS
...
This allows more advanced configuration pages to work properly. The problematic config pages emerged while fixing #431
2016-11-24 18:03:47 +01:00
Daniele Gobbetti
42901a295d
Pebble: pretend the clay-settings key is always present (but empty per default) in the localStorage
2016-11-18 12:33:12 +01:00
Daniele Gobbetti
1a22752b98
Pebble: enable localStorage
...
LocalStorage native functions are overridden to keep each watchface's settings separated. It's possible the bind method do not work on older versions of android.
2016-11-14 17:51:33 +01:00
Andreas Shimokawa
e1992f43e5
run optipng on all pngs
2016-09-21 09:25:33 +02:00
Daniele Gobbetti
69be5dbbc7
Set the json directly instead of using parseconfig
...
Some watchfaces do some processing on the incoming json, and we are storing the json after the fact, and double parsing isn't good.
2016-06-26 14:13:47 +02:00
Daniele Gobbetti
1430619c30
Implement watchapp configuration presets.
...
This is a quick & dirty solution that may be improved by storing multiple presets in the DB in the future.
2016-06-26 11:55:08 +02:00
Daniele Gobbetti
988f5ef1b2
Go back and show Toast if the watchapp doesn't really support configuration.
2016-06-18 21:17:38 +02:00
Daniele Gobbetti
245b8655e7
Fixed typo #251
2016-06-18 21:01:32 +02:00
Daniele Gobbetti
966c3d4811
Various improvements to the configuration page:
...
- localstorage is now cleared at every launch: this prevents some clay configuration pages to send back to the watch a number of keys that were set by other configuration pages
- only execute JS on document ready: this prevents some race conditions
- added dummy getTimelineToken function to Pebble JS object
- corrected (hopefully!) a few logic errors in the JS code (this referenced where it wasn't)
- refactored the steps visualization in JS
- lifecycle changes to the java activity: now the configuration page gets closed as soon as the settings have been sent, and there is only one instance of it
2016-06-18 18:40:57 +02:00
Daniele Gobbetti
d5586478f3
Support legacy configuration pages #251
...
There are pages that do not honor return_to get parameter. This commit allows the user to enter the returned url manually.
2016-06-17 17:47:13 +02:00
cpfeiffer
4631df67ac
Some more logging + add svg launcher again (somehow it was not added again)
2016-03-30 22:53:08 +02:00
danielegobbetti
1933e2bf10
Localize the title of the configuration activity.
...
Auto open local settings (e.g. clay)
2016-03-21 21:19:32 +01:00
Daniele Gobbetti
538961fd2c
Add some style, intercept and display toast in case of JS errors
2016-03-18 17:50:24 +01:00
Daniele Gobbetti
2da50e27c2
call the ready event as soon as the app js file has been loaded. Add a button to debug the different steps.
2016-03-08 17:45:11 +01:00
Andreas Shimokawa
88982a6174
Merge pull request #235 from Freeyourgadget/feature-configuration
...
Use external browser for configuring pebble apps
2016-03-08 10:41:46 +01:00
cpfeiffer
5ae680cab5
Don't flush the logfile synchronously
2016-03-07 22:46:35 +01:00
cpfeiffer
dda6cb34e1
Fix logfile rotation (bug in logback-android)
2016-03-07 01:09:43 +01:00
Daniele Gobbetti
6d4b98719a
Implement some further JS methods to make additional watchapps happy
2016-03-04 17:44:42 +01:00
Daniele Gobbetti
089a59168e
Initial support for using an external browser for configuring pebble apps. This allows existing configuration pages to work without having internet access ourselves.
...
This is a better approach as initially thought in #191 .
What is missing is outlined in the (several) TODOs.
2016-03-02 21:07:27 +01:00
cpfeiffer
b9cb89ab8b
Component diagram giving an overview
...
(created with umbrello)
2016-01-26 23:05:54 +01:00
Daniele Gobbetti
ac7e21be48
Remove the activity log debug file.
...
This partially reverts commit 8b268a676c
2015-06-12 22:30:14 +02:00
Daniele Gobbetti
8b268a676c
Refactoring of the data ingestion method.
...
* no more ByteBuffer, but a fixed size byte array that gets flushed everytime it's needed
* log of activity data to a separate file (no DB integration yet)
* the size of the buffer must be a multiple of 3 (1 minute of data = 3 bytes) and 20 (the normal size of the chunks we get from the device)
* better logging and more comments in code
2015-06-01 22:20:22 +02:00
cpfeiffer
4518e8819d
Make file-logging configurable
2015-05-23 00:45:12 +02:00
Andreas Shimokawa
f54927624b
Move non Pebble specific code from PebbleIoThread to AbstractBTDeviceSupport
2015-05-22 20:20:33 +02:00
cpfeiffer
6fa2017dda
Logging: Compress package names and rotate log files
2015-05-17 23:37:28 +02:00
cpfeiffer
d2bcccaeef
Use logback-android for logging to external storage
...
(no WRITE_EXTERNAL_STORAGE permission necessary!)
2015-05-13 23:15:20 +02:00