1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-11-10 03:59:24 +01:00
Commit Graph

165 Commits

Author SHA1 Message Date
cpfeiffer
664ffdd629 Adjust testcases for samples with calculated timestamps 2018-08-02 22:02:52 +02:00
cpfeiffer
df84927954 Fix filename generation and add testcasce
Fixes #1169
2018-08-01 19:33:33 +02:00
Andreas Shimokawa
99dec159f7 Mi Band 3: add untested and incomplete support
This also improves firmware/RES probing to distinguish Mi Band 2/3 firmware files and Mi Band 3/Bip RES files.

Notes:
- Firmware flashing should might but is untested
- This basicall runs off the Amazfit Bip code which will probably incorrect (Mi Band 3 is proabably something between the Bip and the Mi Band 2)
2018-06-14 18:16:49 +02:00
cpfeiffer
f88ef0e688 Fix ActivityDetailsParserTest now that we reuse trackpoints 2018-04-15 16:48:57 +02:00
Andreas Shimokawa
29a05f1d8f refactor onFetchActivityData() into onFetchRecordedData(dataTypes) to make it more generic
This removes misuse of testNewFunctionality() and support fetching GPS data and debug logs
Fetching debug logs (Amazfit Bip/Cor) is now accessible in the debug activity
Fetching GPS data can be done by swiping in the list activity.
TODO: actually refresh list when fetching data is done :P

Also fix some android studio warnings on the go...
2018-03-31 16:21:25 +02:00
Andreas Shimokawa
3d3cc1f40c Merge branch 'master' into bip-wip 2018-03-13 17:27:18 +01:00
Ted Stein
1e0d7550d9 Add ta marbutah to Arabic transliteration.
Add ة, a normally-silent form of the letter ت that was missed when this
functionality was originally added.
2018-02-27 17:37:12 +01:00
Andreas Shimokawa
1349a1c7da Merge branch 'master' into bip-wip 2018-01-22 08:57:01 +01:00
Ted Stein
39e151f51d Add transliteration for Arabic and Farsi. 2018-01-12 22:05:33 +01:00
Andreas Shimokawa
6f68c8adde Merge branch 'master' into bip-wip 2018-01-04 12:09:57 +01:00
Andreas Shimokawa
f6b183d39a Allow firmware files up to 1.5MB
This helps some experiments
2017-12-21 09:40:47 +01:00
Andreas Shimokawa
2ccebe07f5 Merge branch 'master' into bip-wip 2017-11-11 00:08:19 +01:00
Andreas Shimokawa
1e324acd65 Mi Band 2/Bip/Cor: Whole day HR Measurement 2017-11-11 00:04:51 +01:00
cpfeiffer
b76e78768c Another small tz+dst parsing testcase 2017-11-07 21:23:54 +01:00
cpfeiffer
99710e7db3 Tiny test for parsing date,time,tz 2017-11-06 23:21:04 +01:00
cpfeiffer
fd159b7603 Bip: improved logging, read expected number of bytes for progress monitoring during sync 2017-11-01 23:05:29 +01:00
cpfeiffer
f5318287c4 WIP: Bip GPS fetching, parsing, exporting
Also adjust Mi2 date/time sending wrt DST offsets
2017-10-31 23:16:39 +01:00
Daniele Gobbetti
af6271a428 Merge branch 'master' into background-javascript 2017-09-25 11:21:11 +02:00
Frank Slezak
6ec1555178 Add support for dynamic Pebble background colors (#819)
Pebble: Add support for dynamic Pebble background colors
- Add a couple additional icon types
  - Add Lighthouse (currently unused)
  - Add Transit (public transportation app)
- Tweak the colors on existing icon types
- Implement logic to grab primary (vibrant) color from app logo
  - The color will be used when displaying a notification for an app
    that does not have any configs bound to it.
- Alter NotificationType to support a color (named pebbleColor)
- Alter the Pebble notification poster to listen to the color from
  the notification
- Alter the DeviceCommunicationService to allow for color passthrough.
- Add logic to convert HEX or Integer representations of RGB888 colors
  to Pebble RGB222 format.
- make the package name retrieved lowercase.

Fixes: #815
2017-09-19 13:24:31 +02:00
Andreas Shimokawa
ceec76b4f6 Pebble: preparations for js appmessage ack/nack callbacks 2017-08-01 00:03:28 +02:00
cpfeiffer
d8cbb18587 Revert "Ignore Test"
This reverts commit 62efd90e17.
2017-04-27 07:57:57 +02:00
cpfeiffer
f1fbab7dd9 Revert "Revert "Adjust test case setup and fix failing tests""
This reverts commit b0384e90d5.
2017-04-27 07:57:57 +02:00
Andreas Shimokawa
c4f8f86c00 import @Ignore 2017-04-27 07:52:12 +02:00
Andreas Shimokawa
62efd90e17 Ignore Test 2017-04-27 07:42:20 +02:00
Andreas Shimokawa
b0384e90d5 Revert "Adjust test case setup and fix failing tests"
This reverts commit d9b0d639b8.
2017-04-27 07:39:36 +02:00
cpfeiffer
d9b0d639b8 Adjust test case setup and fix failing tests
- add missing call super.setUp() in LoggingTest
- make use ofGBApplication's logger and db support instead
  of adding specific test things. Avoids differences between
  the local test things and the global GBApplication instances.
2017-04-25 21:55:06 +02:00
Daniele Gobbetti
fae116d1bd Add Calendar related tests (WIP) 2017-04-24 13:50:53 +02:00
cpfeiffer
523055189f Some basics for testing the calendar functionality 2017-04-24 11:58:07 +02:00
cpfeiffer
ed02a9781a Fix a cursor not being closed
Still won't be the cause for #655
2017-04-23 12:45:02 +02:00
cpfeiffer
63c640f471 Port off of deprecated API 2017-04-21 22:30:29 +02:00
Andreas Shimokawa
60b7a73558 Test: fix other test 2017-04-17 19:36:50 +02:00
Andreas Shimokawa
a936ff0616 Tests: set device state to inizialized before assuming fw version gets written to attributes 2017-04-17 19:19:23 +02:00
cpfeiffer
16af0724dd Replace method pair() with connectFirstTime()
Should help with #642 for hplus which did not implement pair()
2017-04-12 21:35:40 +02:00
cpfeiffer
bb98910e1c Update gradle to 3.4.1, pmd to 5.5.5 2017-04-08 23:59:00 +02:00
cpfeiffer
4519f35ff1 Bump up versions of some dependencies 2017-04-08 23:38:12 +02:00
cpfeiffer
b97674ba85 Mi2: Display realtime steps in Live Activity #428
Thanks for the hint!
2017-03-20 23:01:28 +01:00
cpfeiffer
4b230412b6 Some utility methods + tests 2017-03-14 00:45:54 +01:00
cpfeiffer
9411f80440 Mi2: support for updating firmware fonts (*.ft, *.ft.en)
This is related to #560, but alas is not sufficient for enabling text
notifications.
2017-03-07 23:26:41 +01:00
cpfeiffer
0b45fe63f0 Fix up the testcases
Please check if transliteration of Hebrew in LnaguageUtilsTest is
correct. It works just fine if you follow the mapping in LanguageUtils.

Test all transliteration in LanguageUtils only, the test in
DeviceCommunicationServiceTest does not need to be done for every
language.

Also use assertEquals(expected, value) instead of assertTrue(expected.equals(value));
2017-03-05 19:44:31 +01:00
Andreas Shimokawa
4a3eb6e8de fix obvious copy&paste error in tests 2017-03-04 22:46:41 +01:00
Yaron Shahrabani
858eaa6690 Added Hebrew transliteration and tests (#571) 2017-03-04 22:08:24 +01:00
ivanovlev
09539fd9bf Add transliteration test 2017-01-25 00:04:05 +03: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
cpfeiffer
96203f574f Tiny test for GattCharacteristic class 2017-01-08 21:37:43 +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
19c5cbfbb9 fix tests 2016-12-31 18:13:04 +01:00
cpfeiffer
375aa491d4 Another build fix 2016-12-15 21:06:17 +01:00
cpfeiffer
c69889d177 Simplified + fixed ArrayUtils.equals() + added lots of testcases 2016-12-11 23:30:20 +01:00
cpfeiffer
eb8129f62e Remove outdated comment 2016-12-11 23:30:20 +01:00
cpfeiffer
6dfc895303 Mi2: Initial work on firmware update #427 2016-12-11 02:11:58 +01:00
Uwe Hermann
0746aaa579 app: Random typo and consistency fixes. 2016-12-01 20:22:12 +01:00
cpfeiffer
a8a7d8db31 Mi2: WIP synchronize only new data since last sync
(#323)
2016-11-22 00:05:41 +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
cpfeiffer
d442030c2a Revert to robolectric 3.1.2 as 3.1.3 does not work at all. 2016-10-29 15:55:27 +02:00
cpfeiffer
713989ef38 Add event "test new function" for the debug screen 2016-10-11 23:06:59 +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
JohnnySun
53d4681763 Optimize Imports 2016-09-13 23:53:35 +08:00
cpfeiffer
bfffd64b65 Even more service testcase cleanup 2016-09-10 11:22:26 +02:00
cpfeiffer
c31049839a Make DeviceCommunicationServiceTestCase runnable with robolectric
- enables the test for travis
- tests operation when not connected
- tests connecting
- tests operation when connected
2016-09-10 11:12:51 +02:00
cpfeiffer
cd84b891d9 micro cleanup 2016-09-05 00:17:34 +02:00
cpfeiffer
ce175c2952 Test SampleProvider (MiBand for a start) 2016-09-05 00:10:38 +02:00
cpfeiffer
2e91246a45 Make sure that every Test class has at least one @Test method, or is abstract 2016-09-04 22:52:55 +02:00
cpfeiffer
2c27f30575 Some testcase infra 2016-09-04 22:10:35 +02:00
cpfeiffer
8e154ca67d slightly more testing of Device/Attributes 2016-09-03 21:16:45 +02:00
cpfeiffer
6f02f9e350 Unit-Test and fix *Attributes sort order
When adding e.g. new DeviceAttributes, we cannot simply add them to the
attributes list, because that list is supposed to be ordered. We could
insert it at the beginning, but that would be brittle to changes in the
GBDaoGenerator, so we simply re-fetch them from the db after adding
new attributes.
2016-09-02 00:34:30 +02:00
cpfeiffer
d9283d0f22 Sigh. Fix LoggingTest on Travis
When running all tests from gradle, they are executed in a single VM,
and from a quick look it is not configurable to start LoggingTest in
a separate VM (in order to enforce fresh logback configuration).

Thus, previously started tests interfere with the custom logback
configuration of LoggingTest.

=> Set the logback configuration in advance in build.gradle
2016-08-30 01:25:43 +02:00
cpfeiffer
bcb07ccacd Enable LoggingTest with robolectric 2016-08-29 00:26:29 +02:00
cpfeiffer
eb7771c1a9 Support for overlapping ActivityDescriptions + testcases 2016-08-28 00:22:34 +02:00
cpfeiffer
1a22259b4e Good practice: use the DAO to insert/update instead of the session
(saves a few cycles to look up the correct DAO from the session)
2016-08-27 23:12:48 +02:00
cpfeiffer
bfaaed7e5c Detcach samples from the session after querying, to save memory 2016-08-27 21:40:46 +02:00
cpfeiffer
350e72d534 Initial support for user-configured activity descriptions
- for a given user and time span, there may be an ActivityDescription
  - with a textual description
  - and a list of tags
- every tag has
  - a name
  - and an optional description
2016-08-27 00:25:45 +02:00
Andreas Shimokawa
34aead6c63 remove obsolte stuff 2016-08-26 23:37:17 +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
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
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
Andreas Shimokawa
b77f3ad3bf Pebble: Implement call dismissal with canned messages
This also moved the canned replies setting to pebble settings
(we will change that if we have another device supporting this)
2016-06-24 10:25:08 +02:00
Andreas Shimokawa
98999993e5 Pebble: In AppManager allow moving apps on the device to the top (context menu) 2016-06-12 01:20:12 +02:00
Steffen Liebergeld
e386d6da43 Add onSetMusicState(MusicStateSpec stateSpec)
This commit contains the infrastructure needed for the
NotificationHandler to send music state information to the device. That
is, it introduces a call onSetMusicState(MusicStateSpec stateSpec), that
in turn sets up an intent to the service, which will then call the
encodeSetMusicState() function of the device. encodeSetMusicState is
available for pebble only. There are empty stubs for other devices.
2016-06-08 20:31:48 +02:00
cpfeiffer
cb4dcf9fa6 Disable LoggingTest, fixes travis failures 2016-06-05 22:33:24 +02:00
cpfeiffer
50b7a02ef2 One more attempt at fixing dynamic logging reconfiguration
- moved out of GBApplication to class Logging
- the main thing is: when start()ing the FileAppender again, it *must*
- be configured to be non-lazy, otherwise it won't open the stream ever again.
2016-05-26 23:46:21 +02:00
Andreas Shimokawa
cb1ec5dccb Make calendar event type byte instead of int
Now the UUID will be constructed like this:

High 64bit 0x4742474200 | type
Low 64bit id
2016-05-24 13:11:57 +02:00
Andreas Shimokawa
4bd578ebea Pebble: send sunrise/sunset to watch for today and tomorrow, also delete previous timeline pins 2016-05-16 23:37:40 +02:00
Andreas Shimokawa
017f650b3f Pebble: send sunrine and sunset pins to timeline when setting time in debug menu
This is just a test and it will leak your timeline data, since we never delete it.
Also this adds some rough infrastructure for calendar events.
2016-05-16 17:30:11 +02:00
cpfeiffer
10d7274aa1 Fix testcases (all this should be scrapped and redone with e.g. robolectric) 2016-04-29 21:58:08 +02:00
cpfeiffer
f15a97d994 Initial live heartrate measurement in the live activity tab #178 2016-04-12 23:12:50 +02:00
Andreas Shimokawa
a15b327ff1 Refactoring: get rid of ServiceCommand, use new CallSpec and MusicSpec to pass Call and Music info 2016-04-04 20:08:34 +02:00
cpfeiffer
b129844169 Small fixes to PR 273 #232
- dynamically toggle hr sleep support when preference changes
- check hr support dynaically after device info is available to avoid false error message
2016-04-03 22:38:06 +02:00
Andreas Shimokawa
adfef3db42 Prepare code for more music metadata (duration, track count, current track number)
Oh and format code
2016-03-27 17:45:44 +02:00
cpfeiffer
a70c31f965 Add commandline for running all firmware tests 2016-03-26 00:10:32 +01:00
cpfeiffer
8165751e57 Refactoring to test the double firmware update procedure #234
(while performing the same, known to be working firmware update for Mi1A)

Result: double firmware update procedure works on Mi1A.

Also updated FirmwareTest. Perform all tests not only in the test itself,
but also at runtime before doing the actual update.

Further:
- fix setting of firmwareInfoSent state variable, which prevented installation
  of the section firmware
- make one string translatable
2016-03-25 23:45:27 +01:00
cpfeiffer
b419c93254 Disable the test for travis again 2016-03-21 23:44:58 +01:00
cpfeiffer
424d9cd142 More work on firmware detection, recognition and validation #234
Should be as robust as possible now.
2016-03-21 23:42:34 +01:00
Andreas Shimokawa
4be1926459 reformat code though Android Studio 2016-03-20 15:00:05 +01:00
cpfeiffer
b3410dcebe Improved testcase #234 2016-03-20 12:18:43 +01:00
cpfeiffer
e59c012553 Disable FirmwareTest for travis 2016-03-20 01:16:20 +01:00
cpfeiffer
4f956000c5 Enhanced support for firmware detection, recognition and upgrade #234
Also supports double firmware upgrade for Mi1S.
- so far, only hr firmware upgrade is tested for 1S
- adds junit testcases for firmware recognition and handling
2016-03-20 01:07:57 +01:00
cpfeiffer
6d8d6d5bc8 Testcases for firmware checking 2016-03-20 01:07:57 +01:00
Andreas Shimokawa
a96d042dce try to make mister travis happy 2016-03-03 16:07:59 +01:00
Andreas Shimokawa
5eb525ee44 Merge pull request #239 from 0nse/sleepAlarmWidget
Add widget to quickly set an alarm according to the user's preferred sleep length (in hours)
2016-03-02 00:36:13 +01:00
cpfeiffer
cbe73f71a1 Fix some typos (thanks!) #178 2016-02-29 22:08:34 +01:00