Daniele Gobbetti
1f1a34cf25
Replace the contributors.md file with a self-generating contributors.rst file.
...
The contributors.rst file is a bash quine originally found here https://gist.github.com/danielegobbetti/c691740ec6f815c75c065049fdc35243
2016-12-17 18:16:28 +01:00
Daniele Gobbetti
bb5791485c
Add log statements when notifications are not sent to gadget
...
This should help debuggin #456
2016-12-11 22:48:12 +01:00
Daniele Gobbetti
388c47ea29
Add some changelog items
2016-12-09 20:25:00 +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
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
Daniele Gobbetti
13b761c073
Liveview: add notice to changelog
2016-12-08 09:17:45 +01:00
Daniele Gobbetti and GitHub
259eb51784
Merge pull request #445 from Freeyourgadget/liveview
...
Liveview: Initial support for Liveview devices
2016-12-07 13:21:40 +01:00
Daniele Gobbetti
6a09023c24
Liveview: add some sanity checks to the incoming data lenghts
2016-12-07 13:09:15 +01:00
Daniele Gobbetti
4eb56eb9ca
Liveview: refactor the BT stream reading functionality
...
Read the expected number of bytes at each step instead of a single byte.
2016-12-05 17:45:03 +01:00
Daniele Gobbetti
e53b8b6b32
Liveview: ignore the SocketTimeoutException, disconnect in any other case
2016-12-04 21:04:30 +01:00
Daniele Gobbetti
e773b71194
Liveview: add device and supported features in README
2016-12-04 20:46:34 +01:00
Daniele Gobbetti
219cc7bff1
Merge branch 'master' into liveview
2016-12-04 20:42:29 +01:00
Daniele Gobbetti
8c01123a48
Liveview: addressed the first feedback.
...
- centralized string encoding and byte order
- replaced printStrackTrace with LOG.error
2016-12-04 19:10:58 +01:00
Daniele Gobbetti
e0a844b60a
Liveview: Initial support for Liveview devices
...
Working so far: stable connection, setting time and sending notifications.
2016-12-03 16:20:02 +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
Daniele Gobbetti
16c4f1a5ca
Pebble: add toggle to use last known location for sunrise and sunset
...
This adds the feature discussed in #415 , the used location is the last recorded by the network location provider, if it's not available then the stored location is used.
2016-11-06 15:42:52 +01:00
Daniele Gobbetti
b9bfb8c93a
Use attr resources to enable theme dependent colors for the charts.
2016-10-29 20:29:35 +02:00
Daniele Gobbetti
e2a9574406
Add logic to open zip files. Lately pebble apps are recognized as such.
2016-10-29 16:27:31 +02:00
Daniele Gobbetti
1f77e3e84f
Coordinator: add explicit methods to determine if the device supports app management and which class is responsible for it.
2016-10-25 17:39:11 +02:00
Daniele Gobbetti
503bcee7b4
Support record version 13 (firmware 4.2)
2016-10-21 13:07:07 +02:00
Daniele Gobbetti and cpfeiffer
21fc5c7498
Integrate Daniele's live-sensor-data support
2016-10-11 23:13:40 +02:00
Daniele Gobbetti
bbecfbeace
Check if the bluetoothReceiver is still valid before unregistering it.
...
Do not set the scan tipe as BT classic if the discovery action has been set by BLE scans.
2016-10-03 22:31:33 +02:00
Daniele Gobbetti
42f622af85
Support record version 12 (firmware 4.1)
2016-09-30 17:28:46 +02:00
Daniele Gobbetti
fabc52fdad
Don't forward group summary notifications to the wearable, they are meant for the android device only
...
Possibly also related to #395
2016-09-27 17:33:10 +02:00
Daniele Gobbetti
ea39bb9c09
TODO: indent the bullets correctly
2016-09-07 21:17:18 +02:00
Daniele Gobbetti
b9d3028d3f
Added a some testing results
2016-09-07 21:12:21 +02:00
Daniele Gobbetti
aa2d37c76b
Small changes to the DB management activity #UX
2016-09-04 16:20:50 +02:00
Daniele Gobbetti
5cbedc782d
Pebble health: accept records of firmware 4.0 (nothing changed among the data we parse)
2016-09-04 15:59:19 +02:00
Daniele Gobbetti and GitHub
044c9ed101
Update CHANGELOG.md
...
Add mention of the fact that data migration is not automatically performed as first point.
Added database management activity
Fix typo and add clarification about data migration
2016-09-02 12:10:56 +02:00
Daniele Gobbetti
507338d034
TODO: One down, but two more to go.
2016-08-31 17:36:01 +02:00
Daniele Gobbetti
1e6cb67edd
UI refactoring of the DB management activity.
...
Added a method to delete the legacy DB only.
2016-08-31 17:35:28 +02:00
Daniele Gobbetti
e230bd1d07
Fix reference to the DB management activity
2016-08-31 15:27:31 +02:00
Daniele Gobbetti
6a2043eeb7
Create DB management activity by taking the existing functionalities from the debug activity.
2016-08-31 15:12:26 +02:00
Daniele Gobbetti
84e644fa1a
Add preference for save raw pebble health data.
2016-08-31 14:05:02 +02:00
Daniele Gobbetti
2a2ad20aa3
Store raw data in the DB for later interpretation.
2016-08-21 20:24:02 +02:00
Daniele Gobbetti
b617ba7264
Fix the logic regarding the last sample of a run. Remove the unneded try-catch block and reuse the current DB session instead.
2016-08-21 17:38:07 +02:00
Daniele Gobbetti
5a3a0495c9
TODO: Onboarding activity before new release
2016-08-21 17:14:02 +02:00
Daniele Gobbetti
6119f3501a
Import the old samples and map the ranges to overlays for pebble.
2016-08-19 21:09:32 +02:00
Daniele Gobbetti
0126b90f20
Store the timestamps as sent by the pebble. Use a strict inequality operator at the end of the period to exclude the last sample.
2016-08-18 21:44:06 +02:00
Daniele Gobbetti
23c289ce1a
Use the real raw values as received by the device.
...
Some types were also added, even though they are educated guesses.
2016-08-09 20:22:05 +02:00
Daniele Gobbetti
22d0387f76
Fix the comparison order again ,as it was correct originally.
...
Partial revert of 5cfddbb7e9
2016-08-09 20:05:42 +02:00
Daniele Gobbetti
4a7a34f461
Use only the overlay table for storing overlay data.
...
This removes the need to wait to have minute samples to store the overlay data, hence store has been made void instead of boolean.
2016-08-09 18:05:24 +02:00
Daniele Gobbetti
5cfddbb7e9
Use the right properties to build the query and fix the comparison operators.
...
Performance: iterate first on the smaller dataset.
2016-08-09 17:52:07 +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
20e2846d00
Enable localization of appmanager tab strip
2016-06-25 11:27:56 +02:00
Daniele Gobbetti
0f0a7ea925
Add send sms system app (commented because it only appears on Time series Pebbles after setting up SMS call decline)
2016-06-25 11:19:01 +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
ad3f7e53b3
Try hard to hide the browser activity from the stack.
2016-06-18 21:08:51 +02:00
Daniele Gobbetti
245b8655e7
Fixed typo #251
2016-06-18 21:01:32 +02:00
Daniele Gobbetti
6749c493b1
Changelog for app configuration
2016-06-18 19:13:03 +02:00
Daniele Gobbetti
7263307409
Merge remote-tracking branch 'origin/master' into appmanager-fragments
2016-06-18 19:00:23 +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
fffeb87607
Use constant instead of hardcoded string
2016-06-18 18:33:35 +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
Daniele Gobbetti
4120d686b8
Some key events were not working with the default audio player. Reported in #322
2016-06-15 22:15:21 +02:00
Daniele Gobbetti
968d15c8d8
Keep the pebble health data on the pebble watch if the activity provider is not pebble Health.
...
This will nack all pebble health datalog messages. As mentioned in #322 , this would allow to use multiple android device without secondary devices "sipping" the health data from the watch.
2016-06-04 18:21:49 +02:00
Daniele Gobbetti
edb7471e0c
Added a paragraph about questions
...
In the hope this helps for issue #319
2016-06-04 17:14:29 +02:00
Daniele Gobbetti
409097bc00
Merge pull request #320 from white-gecko/patch-1
...
Update README.md fix pebble wiki article
2016-06-03 17:41:19 +02:00
Daniele Gobbetti
42acb8915a
Pass the integer keys to pebble, even if they are not within the known app keys. Requested in #251
2016-05-31 12:24:28 +02:00
Daniele Gobbetti
bef59ae9c0
Parse new version of Pebble health datalog message with tag "84".
...
This message was previously treated as a further "Sleep" message type, with firmware version 3.12 further types were added that are clearly unrelated to sleep (possibly to high-intensity activities like running etc.), hence the related code is now moved to a separate class.
The only decoded records are still sleep-related.
Fixes #312
2016-05-23 21:13:12 +02:00
Daniele Gobbetti
a49335fa67
Allow to change stored samples converting only certain old types
2016-04-07 17:52:15 +02:00
danielegobbetti
d2af3468f0
Add support for new datalog message added in pebble firmware 3.11
...
This adds support for storing deep sleep data.
2016-04-06 21:48:16 +02:00
Daniele Gobbetti
51def0d497
Add light intensity to the known steps datalog message.
...
Add support for record version 6 introduced with firmware 3.11.
There are more data in each record now, but we still do not know what they mean.
Close #270
2016-04-04 23:33:17 +02:00
Daniele Gobbetti
34600e085e
Fix wrong assignment, needed to properly deal with datalog messages longer than 255
2016-04-04 23:13:57 +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
danielegobbetti
4a3547228e
Update changelog md file and bring xml file on par with it.
2016-03-20 18:15:45 +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
e69fac9704
Do not show the configure menu item for non configurable watch apps.
2016-03-18 16:47:14 +01:00
danielegobbetti
ea855a4cc2
Also open public URLs with an external browser.
2016-03-13 08:31:50 +01:00
danielegobbetti
d378b4eb7b
Intercept clay pebblejs://close url
2016-03-08 21:44:12 +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
danielegobbetti
459f6baf08
Fix missing column in the creation script (upgrades were fine, but new installation weren't).
...
Reindent changelog file.
2016-03-06 17:28:21 +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
3920b3f977
Do not override the configured settings with our old stored values (but keep them around)
2016-03-04 17:43:43 +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
Daniele Gobbetti
df741e9571
Install app on watch directly instead of telling the user to do so.
2016-02-26 15:29:26 +01:00
danielegobbetti
b5a726b777
Change layout of the alarms activity, fixes #216 .
2016-02-21 17:21:04 +01:00
danielegobbetti
6eb35b955e
Prevent race condition on android 6 (?) at the cost of losing the gender data (we cannot display a toast at this point unfortunately).
2016-02-21 16:46:48 +01:00
danielegobbetti
b858e50804
Use strings to store activity shared preferences.
...
System has trouble with accessing integer in the preferences, so let's not use them.
2016-02-21 13:04:32 +01:00
Daniele Gobbetti
cc42583885
add missing newline
2016-02-17 15:19:05 +01:00
Daniele Gobbetti
8294921de7
Do not ack the sleep data until we can actually store them
...
Added helper method to fetch the latest timestamp stored in the DB, needed for the aforementioned feature.
Update changelog
This closes #188 \o/
2016-02-11 19:14:40 +01:00
Daniele Gobbetti
20c4e49fe1
Refactoring of the Pebble Health steps data receiver.
...
Added logic to deal with pebble health sleep data.
Added database helper to change the type of a range of samples (needed for sleep data).
Fixes to the Pebble Health sample provider.
2016-02-09 17:52:21 +01:00
danielegobbetti
10b5c571bb
Use Kilometers as distance unit
2016-02-07 16:44:16 +01:00
danielegobbetti
2f8207abf9
Initial support for reading pebble health steps/activity data.
2016-02-07 09:27:51 +01:00
danielegobbetti
03ad7f5a24
Do not enable insights on the watch. Add notice about health activation to changelog.
2016-02-06 21:38:55 +01:00
danielegobbetti
ba9e00d2e4
Add strings for activate and deactivate pebble Health
2016-02-06 21:23:21 +01:00
danielegobbetti
a451b37ceb
Added refactoring of user details to changelog
2016-02-06 19:48:03 +01:00
Daniele Gobbetti
baf5eee72f
Refactored the User Activity-tracking related preferences.
...
Created a new device-independent class ActivityUser to hold the data
Moved the constants from the miband constant class to the ActivityUser class
Removed the miband-specific in favor of common-prefixed preferences (with upgrade support for legacy values)
Changed the way the gender is stored to an integer value
Removed the hardcoded default values for user data in favor of static fields of the ActivityUser class
2016-02-02 17:33:24 +01:00
Daniele Gobbetti
94c8633bad
Move the generic user info outside the miband preferences activity. They still have to be renamed.
2016-02-02 14:32:19 +01:00
Daniele Gobbetti
5b016e2577
WIP, read the miband user information for the time being.
2016-01-29 17:45:35 +01:00
Daniele Gobbetti
9f2a7f5448
actual deletetion of the Health app.
...
It brings the health watchapp back to the pristine state "you need pebble health in order to use this app". The data, however, is not deleted!
2016-01-28 11:59:23 +01:00
danielegobbetti
7ba3a874a2
Message to activate Pebble Health, possibly.
2016-01-25 23:15:19 +01:00
Daniele Gobbetti
1cbe965802
Add analog+digital settings
2015-12-29 10:45:14 +01:00
Daniele Gobbetti
f9122bc674
send the calendar events each time the time is sent to miband, until we have a common strategy (e.g. EventHandler).
2015-12-29 10:01:32 +01:00
Daniele Gobbetti
1d9e1d7caf
Fix possible race condition when availableSlots == 3
...
(There are two difficult things...)
2015-12-29 09:18:02 +01:00
Daniele Gobbetti
3ee418a45b
Implement pushing messages upon watchapp start.
...
This watchface is used as example: https://github.com/ygalanter/PebStyle because it doesn't initiate a connection like others do.
At the moment this is more a proof of concept^W^W^Wdirty hack then anything else.
2015-12-23 14:22:28 +01:00