1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-12-25 18:15:49 +01:00
Commit Graph

1440 Commits

Author SHA1 Message Date
cpfeiffer
49b8b9ebca More robolectric stuff
- guard against multiple GBApplication.onCreate() invocations
- test DBHelper.getDevice() for a start
2016-08-25 00:00:53 +02:00
cpfeiffer
38c4be4379 Remove isEqual() in favor of Objects.equals() 2016-08-24 23:14:25 +02:00
cpfeiffer
bfc0b4faaf Add robolectric dependency and addd a first EntitiesTest
Use KitKat (19) as target sdk since robolectric 3.1.2/sqlite4java
does not understand "WITHOUT ROWID" tables.

Also, add constants for user's gender and document some things.
2016-08-24 22:56:42 +02:00
cpfeiffer
02ac70e2a7 Only dismiss the dialog is the activity is still alive 2016-08-24 22:56:42 +02:00
Andreas Shimokawa
ec4469a87b Testing with dummy onboarding activity
crashes
2016-08-24 20:15:26 +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
Andreas Shimokawa
0ae9955a6f Display Toast when trying to import old Misfit data (unsupported)
... and update TODO
2016-08-20 21:38:39 +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
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
cpfeiffer
7a16834482 *return* the created device! 2016-08-18 21:29:26 +02:00
cpfeiffer
deeaa87df7 Batch the import of old activity samples to save memory during import 2016-08-18 20:51:15 +02:00
Andreas Shimokawa
ce8af615d1 Merge branch 'composite-key-dao' 2016-08-18 20:35:56 +02:00
cpfeiffer
6e98defe94 Only import old activity data once per device, not for every provider 2016-08-18 20:29:20 +02:00
cpfeiffer
fbf06c1fe3 Separate coordinator and support instances for Mi1 and Mi2 #323
+ Some more testing stuff for Mi2
2016-08-17 00:53:16 +02:00
cpfeiffer
26d490ffd6 Store the DeviceType in the Device entity
(so that we can later recreate a GBDevice from a Device)
2016-08-17 00:34:19 +02:00
cpfeiffer
9b7e8e06d6 Improved time conversion (0x2A0F)
- support for org.bluetooth.characteristic.local_time_information
- support for day of week in 0x2A2B

Unfortunately Mi Band 2 does not support 0x2A0F ;(
2016-08-15 00:40:35 +02:00
cpfeiffer
6843b5aa8f Add icon for Mi Band 2 2016-08-15 00:39:31 +02:00
cpfeiffer
8766fc5269 Handle MiBand2 device type 2016-08-14 23:25:35 +02:00
cpfeiffer
a38bea892a Some logging of found devices/uuids 2016-08-14 23:21:09 +02:00
Andreas Shimokawa
4ddbbfdfb0 change db name to test-db5 2016-08-14 22:36:50 +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
cpfeiffer
7c060506cf Invalidate UserAttributes and DeviceAttributes when new ones are created 2016-08-13 00:52:35 +02:00
cpfeiffer
b3984a409c Fix checking for up-to-date User and Device attributes 2016-08-13 00:27:38 +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
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
Andreas Shimokawa
fe5ec74ca1 Pebble Health: read overlay data in sample provider and patch in raw kind
completely untested
2016-08-09 11:56:05 +02:00
Andreas Shimokawa
5072d6b959 Pebble: try to write to health activity overlay table 2016-08-08 19:16:53 +02:00
Andreas Shimokawa
af58b4600d whoops 2016-08-07 12:15:40 +02:00
Andreas Shimokawa
c4f83d68cd refactoring: add generic support for manually filtering samples by acticty kind in AbstractSampleProvider
This allows a lot of simplifications for Morpheuz and Misfit
2016-08-07 11:45:09 +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
cpfeiffer
a7b9ae5596 whitelist fw 4.15.12.10 #369 2016-08-04 00:05:58 +02:00
Andreas Shimokawa
43f3913669 update Japanese, Ukranian and Spanish from transifex (thanks!) 2016-08-02 00:43:37 +02:00
Andreas Shimokawa
9520e23439 fix negative steps in Charts with Morpheuz 2016-08-02 00:31:29 +02:00
cpfeiffer
43d7566c0b some more microsteps #206 2016-08-01 22:18:57 +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
b43b7948b0 Let GallCallback return boolean values in order to mark an event as "consumed"
(to avoid dispatching the event to further listeners (ble profiles)
2016-07-28 23:04:37 +02:00
cpfeiffer
c9a9566dad Minor fixlet 2016-07-28 22:42:16 +02:00
cpfeiffer
493444a2a0 Remove unused stuff 2016-07-28 22:28:29 +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