1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-08-29 02:25:14 +02:00
Commit Graph

468 Commits

Author SHA1 Message Date
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
Andreas Shimokawa
0218cee0e1 Pebble: fix long standing bug in uuid encoding for ACK messages (did not seem to do any harm) 2017-01-11 23:42:40 +01:00
Andreas Shimokawa
50cb3c9db3 Pebble: remove null termination from cstrings when converting to json for PebbleKit 2017-01-11 22:39:08 +01:00
Andreas Shimokawa
185605211d Pebble: fix bug in PebbleKit implementation regarding binary data transferred from a watchapp to a 3rd party Android app
(Fixes a bug with TCW)
2017-01-10 22:30:55 +01:00
Andreas Shimokawa
f2e6ce6380 Pebble: fix incoming calls (recently broken) 2017-01-10 18:23:35 +01:00
Andreas Shimokawa
3644d5e7a6 Pebble: remove notifications when dismissed on the phone (#326)
Most of the code is generic, so it could be implemented by other devices.
I dont know what happens if multiple messages arrive in the same notification.
So, this is experimental.
2017-01-09 16:33:00 +01:00
Andreas Shimokawa
c6999713d2 Pebble: use Notifications system app as parent UUID for notifications 2017-01-09 15:11:50 +01:00
Andreas Shimokawa
f05b51fd83 Pebble: Add option to disable call display
Closes #494
2017-01-09 14:41:02 +01:00
Andreas Shimokawa
855a141ec4 Pebble: in AppMessageHandler provide a default implementation of handleMessage which just ACKs 2017-01-08 17:17:29 +01:00
Daniele Gobbetti
1fda1ba1b2 Pebble: try to get rid of the sleep and rely on countdownlatch instead.
Could help with #494
2017-01-08 16:48:50 +01:00
Daniele Gobbetti
09cc0134db Pebble: add support for weather in some watchfaces by gh/zalewszczak
See https://github.com/zalewszczak/pebble for a list of watchfaces
#482
2017-01-08 15:27:01 +01:00
Daniele Gobbetti
7f50e0d2b7 Pebble: add support for weather in square watchface
So far celsius are forced for temperature #482
2017-01-07 22:41:10 +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
f175701825 Merge branch 'master' into background-javascript 2017-01-01 19:45:27 +01:00
Daniele Gobbetti
eaaa940637 Pebble: refactor the background webview
Now native controls seem to work (including datepicker), still the webview is not started upon watchapp start, but when long-pressing each app in the app manager. After the webview is started it will live in the background until device disconnect.
2017-01-01 18:33:39 +01:00
Andreas Shimokawa
507e58922f Pebble: fix decoding of byte and short appmessage data (when a native handler is present) 2017-01-01 17:58:34 +01:00
Andreas Shimokawa
6d02a76328 Merge branch 'master' into background-javascript 2017-01-01 17:25:12 +01:00
Andreas Shimokawa
f25605f5a1 Pebble: First shot at TrekVolle support
Also some cleanups
2017-01-01 16:24:46 +01:00
Andreas Shimokawa
8b55110679 Pebble: allow weather to be send to watchfaces on fw < 4.x 2017-01-01 14:19:35 +01:00
Andreas Shimokawa
1722a6dc47 Pebble: minor code cleanup 2017-01-01 13:55:07 +01:00
Andreas Shimokawa
7930b7da75 Pebble: Support Healthify Weather 2016-12-31 20:08:53 +01:00
Andreas Shimokawa
5a83cb1c48 Pebble: fix npe in mario time handler
I shout stop for 2016! :D
2016-12-31 19:29:41 +01:00
Andreas Shimokawa
b811247704 Pebble: Adapt MarioTime logic 2016-12-31 19:27:21 +01:00
Andreas Shimokawa
984e639e97 Pebble: push current weather to TimeStylePebble again when watchface gets started 2016-12-31 19:17:08 +01:00
Andreas Shimokawa
4e543d4b34 Pebble: rename pushMessage() to onAppStart() 2016-12-31 19:04:05 +01:00
Andreas Shimokawa
82c0f35c58 Pebble: add encodeUpadteWeather() to AppMessageHandler for easier watchface support
Now in Timestyle weather is in sync with what we get from weather notification
2016-12-31 18:56:24 +01:00
Andreas Shimokawa
266c6b8817 Pebble: send weather to Pebble when we get notified by weather notification 2016-12-31 15:56:05 +01:00
Andreas Shimokawa
f12e786837 Pebble: fix mario time appmessage handler (weather condition icon hardcoded to sunny for now) 2016-12-31 13:33:50 +01:00
Andreas Shimokawa
95e6d2c740 Pebble: delete WeatherNeat handler, it was only used for testing and the watchface seems outdated 2016-12-31 12:35:40 +01:00
Andreas Shimokawa
4631e5bbaf Pebble: restore find lost device feature abused for testing 2016-12-31 12:15:44 +01:00
Daniele Gobbetti
e477d22c88 Pebble: support the system weather app.
- enable/disable weather app from the watchapp list
- convert weather data to a format that can be displayed by the system app

TODO: send the weather data periodically
2016-12-30 20:14:13 +01:00
Daniele Gobbetti
0e9ce5d186 Pebble: get min/max temperature also for the forecast 2016-12-30 19:58:56 +01:00
Andreas Shimokawa
240c81ecb4 Pebble: implement weather related protocol encoding
this is not yet connected to anything...
2016-12-30 15:26:44 +01:00
Andreas Shimokawa
b045d5ac26 Merge branch 'master' into feature-weather 2016-12-30 00:10:54 +01:00
cpfeiffer
aadde7d1ca Port to UriHelper, fix potential resource leak 2016-12-29 01:41:47 +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
Andreas Shimokawa
2148b431ea Merge branch 'master' into feature-weather 2016-12-19 23:32:53 +01:00
Andreas Shimokawa
bd5dc6bfbc Pebble 2/LE: Add setting to limit the MTU (for debugging broken BLE stacks) 2016-12-19 23:28:06 +01:00
Andreas Shimokawa
8990e7e3da Merge branch 'master' into feature-weather 2016-12-17 00:20:16 +01:00
Andreas Shimokawa
97aed43518 Pebble: fix for previous commit
(potential crashes when installing and receiving notifications)
2016-12-17 00:17:05 +01:00
Andreas Shimokawa
9588535004 Merge branch 'master' into feature-weather 2016-12-17 00:01:37 +01:00
Andreas Shimokawa
2b3592f354 Pebble: allow sending data to the pebble during installation on FW >= 3.0
It seems to be no problem to recieve notifications etc during app installation with non legacy firmwares :)
2016-12-16 23:47:59 +01:00
Andreas Shimokawa
825f2bf2e8 Merge branch 'master' into feature-weather 2016-12-11 20:27:28 +01:00
Andreas Shimokawa
31122f0b09 Pebble: Propagate watch apps launches outside of PebbleProtocol
This does not do anything yet.
2016-12-11 20:25:46 +01:00
Andreas Shimokawa
f63a7db5f9 Pebble: map owm conditions to TimeStyle icons
This is probably not the way we should do it, just experimenting for personal use :P
2016-12-11 00:08:57 +01:00
Daniele Gobbetti
a6a2c6d6d6 Pebble: timestyle doesn't use Yahoo anymore.
The values do not work anyway, because it's mapping them internally. See https://github.com/freakified/TimeStylePebble/tree/master/src/pkjs for the mappings.
2016-12-10 15:09:22 +01:00
Andreas Shimokawa
779699cd95 Pebble: remove configuration stuff from TimeStylePebble handler, update weather keys
This is not usable now, just playing around
2016-12-09 23:31:32 +01:00
Andreas Shimokawa
a0e21d7c6d Merge branch 'master' into feature-weather 2016-12-09 23:29:54 +01:00
Andreas Shimokawa
0e1287e382 Pebble: also execute AppMessageHandler.pushMessage() if present when connection gets established
This does not have any effect now since pushMessage() is not used in this branch
2016-12-09 23:21:51 +01:00
Andreas Shimokawa
efb1cd389b Merge branch 'master' into feature-weather 2016-12-09 21:52:55 +01:00
Andreas Shimokawa
17b581022b optimize imports 2016-12-09 20:14:17 +01:00
Kevin Richter
34296c021f Revamp Notification types Pebble (#453)
* Remove notification switches for enum & hashmap
* Fix code style
* Fix null reference exception
* Add whatsapp support
* Remove duplicate entry
2016-12-09 17:54:19 +01:00
Andreas Shimokawa
313499abd4 Pebble: also display debug level in app logs output 2016-12-08 23:20:00 +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
Andreas Shimokawa
013029443b Pebble: Minor cleanups 2016-12-04 17:21:29 +01:00
Andreas Shimokawa
a691cd0ff7 Pebble: add option to enable applogs (debug messags from pebble apps) 2016-12-04 16:55:27 +01:00
Andreas Shimokawa
3db009e77d Pebble: do not dump all LE traffic, minor code cleanups 2016-12-02 23:38:54 +01:00
Andreas Shimokawa
ae2c107ed1 Pebble 2/LE: only notify once when first PP packets are incoming 2016-12-02 08:50:02 +01:00
Andreas Shimokawa
bc9041a4c9 Pebble 2/LE: on connect wait 30s max and stop waiting immediately if a real PP connection got establish (ie write request on the gatt server) 2016-12-02 08:07:44 +01:00
Andreas Shimokawa
3eda2d4b81 Pebble 2/LE: honor reconnect tries 2016-12-02 00:38:53 +01:00
Uwe Hermann
0746aaa579 app: Random typo and consistency fixes. 2016-12-01 20:22:12 +01:00
Andreas Shimokawa
f0789cc147 Pebble 2/LE: fix another bug when reconnecting 2016-12-01 00:28:23 +01:00
Andreas Shimokawa
2993bb6b5c Pebble 2/LE: fix potential NPE 2016-12-01 00:20:21 +01:00
Andreas Shimokawa
74c20f3a82 Pebble 2/LE: More fun with reconnect 2016-11-30 23:56:58 +01:00
Andreas Shimokawa
b878fa5eda Pebble LE/Pebble 2: Fix reconnect not working when first attempt fails 2016-11-30 22:28:34 +01:00
Andreas Shimokawa
95ec1fb44c Pebble LE/Pebble 2: Improve reconnect 2016-11-30 19:54:21 +01:00
Andreas Shimokawa
34ad088b88 Pebble: Experimental support for BLE on all models via dev option in Pebble Settings
HOWTO:
1) Pair you normal Pebble (not necessary if already done), make sure it was connected once
2) Unpair your LE pebble if already paired
3) Switch on "Always prefer BLE" in Pebble Settings
4) Tap on the + in Control Center to add a new device
5) Pair your Pebble-LE XXXX or Pebble Time LE XXXX inside Gadgetbridge's Device Discovery actibity

Now Gadgetbridge will connect to your LE Pebble when tapping on Pebble XXXX if "Always Prefer BLE" option is enabled.
You can easily switch back to classic LE by turning that option off again
2016-11-27 09:49:28 +01:00
Andreas Shimokawa
a5263141d7 Pebble 2: Ignore all GATT communication with all other that the current device
Fixes a bad bug where disconnecting from another BLE device caused the Pebble2 to disconnect
2016-11-25 14:28:04 +01:00
Andreas Shimokawa
381323011e Pebble 2: work around FW installation problems
Wait a 0.5s after each complete Pebble packet and do not longer wait at all after a completed GATT package chunk (was 0.1s)
Big outgoing messages will be now much faster such as firmware installations but smaller take more time than before.

(This is not the proper fix but I could update the firmware this way, failed 10 times before after a few percent)
2016-11-24 18:52:58 +01:00
Andreas Shimokawa
eb052cead3 Pebble 2: Also honor the mtu when client gets a change reported
Should help older LE Pebbles
2016-11-21 17:29:16 +01:00
Andreas Shimokawa
647b67cfca Pebble 2: call both requestMTU and use the characteristic write 2016-11-21 15:17:03 +01:00
Andreas Shimokawa
fce86482b9 Pebble 2: try an alternative way of setting the MTU (might revert) 2016-11-21 14:54:01 +01:00
Andreas Shimokawa
e8da301da3 Pebble 2: fix a few crashes with disconnect/ reconnect 2016-11-20 22:04:49 +01:00
Andreas Shimokawa
4f3c46f704 Pebble 2: only add second service if first one was added sucessfully 2016-11-20 00:12:41 +01:00
Andreas Shimokawa
3b250a4568 Pebble 2: initial hacky reconnect support
Works sometimes, at least less crashes
(#432)
2016-11-19 23:53:07 +01:00
Andreas Shimokawa
ddfab1cdae Pebble 2: use requestMTU() on Android 5+ instead of characteristics write.
This actually fixes MTU problems with older Pebbles (Time, OG)
2016-11-18 23:47:48 +01:00
Andreas Shimokawa
4dc085de57 Pebble 2: React to MTU notifications, fixes LE for older pebbles also
It seems that setting the MTU on older pebbles does not work, so just use what we can use.
Maybe old pebbles need setMTU() which only works on Android 5+, we could use that conditionally...
2016-11-18 23:47:48 +01:00
Andreas Shimokawa
66e3de9168 Pebble 2: improve connection problems (at least for me) 2016-11-18 22:38:39 +01:00
Andreas Shimokawa
d7256d172e I hate java 2016-11-15 23:23:21 +01:00
Andreas Shimokawa
163a7bdf15 Pebble 2: save heart rate values to database (hopefully) 2016-11-15 23:21:13 +01:00
Andreas Shimokawa
82a47022fa Pebble 2: allow to disable/enable HRM in context menu of Workout app
Okay this might be stupid  since Workout seems to work also works without HRM!
I assumed (wrongly) that I will disable Workout by disabling HRM

anyway, better than not being able to toggle it at all!
2016-11-15 12:17:51 +01:00
Andreas Shimokawa
4b7f47ba6c Pebble 2: add Workout system app to app manager on P2 and hexdump incoming HRM datalog 2016-11-15 11:56:14 +01:00
Andreas Shimokawa
00a71f53b3 Pebble 2: add not yet working code (at least not without weird workarounds)
This is is a pain because of tons of weird pairing issues
2016-11-13 21:29:58 +01:00
cpfeiffer
d89899557c Mi2: Add config option to configure date/time display
(added a new EventHandler method to set a specific configuration option)
2016-11-13 20:47:24 +01:00
Andreas Shimokawa
f68bbe453b Pebble: bump flags and version we report
Plus some small preparations for P2 support which do not hurt in master
2016-11-10 11:05:32 +01:00
Andreas Shimokawa
14ef5202e1 some internal testing which does not hurt in master 2016-11-03 11:07:44 +01:00
Andreas Shimokawa
d6b9e6d64b Pebble: Support sending byte arrays from app configuration data
Also add debug output if trying to encode unknown classes in PebbleProtocol

(Fixes #421)
2016-10-28 00:32:45 +02:00
Daniele Gobbetti
503bcee7b4 Support record version 13 (firmware 4.2) 2016-10-21 13:07:07 +02:00
cpfeiffer
713989ef38 Add event "test new function" for the debug screen 2016-10-11 23:06:59 +02:00
Andreas Shimokawa
cd195a5969 map more apps to notification types (icons and colors on the pebble) 2016-10-11 11:54:52 +02:00
Daniele Gobbetti
42f622af85 Support record version 12 (firmware 4.1) 2016-09-30 17:28:46 +02:00
Andreas Shimokawa
9cccb085c4 Pebble: allow sending acks to pebblekit android apps which always use transaction id -1 (this seems to be okay for pebblekit apps which do not want to use real transaction ids) 2016-09-26 21:51:11 +02:00
Andreas Shimokawa
8080734470 Pebble: use telegram icon for telegram messages
also use the facebook icon for the official facebook app
(untested because we would never use facebook)
2016-09-21 21:31:23 +02:00
Andreas Shimokawa
6a18d90fee Vibratissimo: add simple and buggy activity with a slider for vibration control
Also includes some fixes and "find your device" support ;)
2016-09-20 20:28:52 +02:00
Andreas Shimokawa
9c2e40ecc0 Pebble: fix mixup of userId and deviceId in contructor for Misfit and Morpheuz samples 2016-09-11 00:12:37 +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
84e644fa1a Add preference for save raw pebble health data. 2016-08-31 14:05:02 +02:00
cpfeiffer
c59553c9c9 Rename GBDevice#hardwareVersion to model
(e.g. while DeviceType is "PEBBLE" in general, the model
might specify a Pebble Time or Time Steel.
2016-08-26 20:57:59 +02:00
Daniele Gobbetti
2a2ad20aa3 Store raw data in the DB for later interpretation. 2016-08-21 20:24:02 +02:00
Andreas Shimokawa
3fb558c536 db refactoring: add raw data column in health overlay table and make rawType part of the composite key 2016-08-18 22:06:26 +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
Andreas Shimokawa
69933c5e92 db refactoring: depend on latest -fyg patched greendao, change column order again (primary keys first), remove index from pebble health overlay also 2016-08-14 22:33:41 +02:00
Andreas Shimokawa
eb962c65f0 work towards composite keys
(builds but does not run because greendao generates wrong table creation code - we need to fix that)
2016-08-13 01:24:43 +02:00
Andreas Shimokawa
68b303246d db refactoring: change column order for health overlay table also 2016-08-10 23:26:25 +02:00
Andreas Shimokawa
359ed46b06 db refactoring: remove raw activity kind field from pebble health minute data, add a blob column for raw undecoded health minute data.
also:
- change column order for all pebble related minute data tables (mandatory stuff first, then custom columns, for easier addition of new columns)
- remove unused code

TODO:
- fix column order in Mi Band table also
2016-08-10 23:06:07 +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
Andreas Shimokawa
5072d6b959 Pebble: try to write to health activity overlay table 2016-08-08 19:16:53 +02:00
Andreas Shimokawa
6b2565e4c9 DB refactoring: remove activity type from Morpheuz database, determinate it in PebbleMorpheuzSampleProvider instead 2016-08-07 01:47:15 +02:00
Andreas Shimokawa
e05d40dc7e Pebble: Support for latest version of Morpheuz (4.6)
Also a few simplifications and minor fixes.
Morpheuz 3.7 should still work (last version for FW 2.x)
2016-08-06 01:19:38 +02:00
Andreas Shimokawa
4fe498efc2 Pebble: delay 100ms after writing a pebble packet to the output steam
This fixes a problem on newer firmwares, probably from 3.0 on, where sending an
appmessage packet right after acknowledging a previous incoming appmessage
packet results in our outgoing appmessage packet to be NACKed by the pebble
firmware and not even reaching the app running on the pebble.
2016-07-31 23:49:19 +02:00
Andreas Shimokawa
8ba1ae3f3e create extra table for Morpheuz, remove more unused stuff
Pebble activity tracker now do not share a common base anymore.

TODO: consider creating a custom way of querying activity types like in Misfit. The activity kind stored in the database now is solely based on the intensity, so it is redundant.

(#206)
2016-07-31 00:06:26 +02:00
Andreas Shimokawa
eabe625c47 rename some classes, remove obsolete ones 2016-07-30 23:22:27 +02:00
cpfeiffer
b22111df9d Fix field ordering of ActivitySample (c'tor!) and improve importer #206 2016-07-28 22:12:20 +02:00
Andreas Shimokawa
8ea29e6e1d Refactor database / sample access (#206)
We now have separate tables for each provider's samples but a common interface.
2016-07-27 23:34:13 +02:00
Andreas Shimokawa
726f767576 work towards a Pebble Misfit raw sample table 2016-07-25 22:19:39 +02:00