Commit Graph
100 Commits
Author SHA1 Message Date
cpfeiffer ce2f984e9f Fix some file closing issues 2018-09-15 23:54:51 +02:00
cpfeiffer 8aad6cd620 Avoid autoboxing, remove redundant cast 2018-09-15 23:51:51 +02:00
cpfeiffer 898165ce0b Avoid lots of false static analysis warnings 2018-09-15 23:30:39 +02:00
cpfeiffer 08595f4e3d Avoid autoboxing 2018-09-15 22:52:30 +02:00
cpfeiffer 87bee53ef3 Add a tiny bit of javadoc 2018-09-15 22:43:45 +02:00
cpfeiffer f9e600d369 Deduplicate code 2018-09-15 22:38:20 +02:00
cpfeiffer d6f5e36e12 Huami devices: Fix seldom fetch failures (better support for app level ble feedback)
Fixes #1264
2018-09-15 22:24:27 +02:00
cpfeiffer b6d68207cb Don't store the live step values in the db 2018-09-11 23:26:51 +02:00
cpfeiffer add9be5ff6 Another place to handle possible negative steps values 2018-09-11 23:24:27 +02:00
cpfeiffer aee0e54d05 Handle possible negative steps values 2018-09-11 23:08:29 +02:00
cpfeiffer fbcd2840ca No need to call method twice 2018-09-11 23:04:18 +02:00
cpfeiffer 88ad6cf0e0 Improve balance handling 2018-09-10 23:41:01 +02:00
Carsten PfeifferandGitHub d899e1aaef Merge pull request #1257 from elagin/language_settings_group
Group language settings.
2018-09-07 19:08:06 +02:00
cpfeiffer a2bd8212f6 Attempt to fix connection problems on Samsung devices 2018-09-06 18:25:41 +02:00
Carsten PfeifferandGitHub 7b709dd975 Merge pull request #1250 from haditim/persianTransliteration
Persian transliteration
2018-09-05 23:33:34 +02:00
Carsten PfeifferandGitHub 9612ce209f Merge pull request #1254 from roigreenberg/master
Rtl support: Add missing Persian letters + fix bug
2018-09-05 23:28:59 +02:00
Carsten PfeifferandGitHub 449184c591 Merge pull request #1253 from skweee/android9callerid
Fix caller ID for incoming calls on Android 9
2018-09-05 21:37:24 +02:00
cpfeiffer 4f7e5b256a Use constants for "rtl" and "contextualArabic" preferences 2018-09-05 21:32:06 +02:00
cpfeiffer bd162f6319 Fix small copy&paste issue in test cases 2018-09-05 20:49:15 +02:00
Carsten PfeifferandGitHub e67398af87 Merge pull request #1233 from roigreenberg/master
Adding RTL support
2018-09-05 20:48:15 +02:00
cpfeiffer 19ee3a14d4 Handle batter state LOW without a level
Fixes #1197
2018-09-04 22:31:12 +02:00
Carsten PfeifferandGitHub 5e4ecd774b Merge pull request #1181 from Dikay900/remove_invalid_hr_data
remove incorrect HR data <10 from the graphs
2018-09-04 21:08:21 +02:00
Carsten PfeifferandGitHub 000f1ab478 Merge pull request #1249 from joserebelo/roidmi_fix
Roidmi: fix duplicated DeviceType key
2018-09-01 19:46:25 +02:00
Carsten PfeifferandGitHub ece0f094eb Merge pull request #1236 from uroybd/master
Better Bengali transliteration.
2018-09-01 09:35:23 +02:00
Carsten PfeifferandGitHub b2db49770b Merge pull request #1179 from joserebelo/roidmi
New device: Roidmi
2018-08-31 20:03:45 +02:00
Carsten PfeifferandGitHub 52b6b8db73 Merge pull request #1222 from joserebelo/notifications-timeout
Support minimum time between notifications
2018-08-20 22:45:18 +02:00
cpfeiffer 15407e6cb4 Updated changelog for 0.29.1 2018-08-19 21:59:51 +02:00
cpfeiffer f89f0d7f77 Remove duplicate entry 2018-08-18 13:34:40 +02:00
Carsten PfeifferandGitHub 783246b45c Merge pull request #985 from comradekingu/patch-2
Spelling: device, System Weather, Norwegian bokmål, Android, .
2018-08-18 13:17:27 +02:00
Carsten PfeifferandGitHub fabe9834e9 Merge branch 'master' into patch-2 2018-08-18 13:16:47 +02:00
Carsten PfeifferandGitHub c4411a9c48 Merge pull request #1206 from UncleInf/transliterate_lithuanian
Adding Lithuanian transliteration
2018-08-18 13:08:40 +02:00
cpfeiffer d93799e72a Improve Teclast H1 and H3 device matching #1207 2018-08-18 12:57:21 +02:00
cpfeiffer 50295864f5 Use a custom IntentListener callback instead of LocalBroadcastManager for ble profiles
The issue here is the following:

- we used intents in the generic BleProfile classes to notify about the results of e.g. certain read requests
- we used to send these results asynchronously via LocalBroadcastManager.sendBroadcast(), which always used the main thread for sending
- however, we noticed that reconnecting to devices sometimes failed because the results arrived too late and the next action in the BLE queue lacked the necessary information
- the fix was to use LocalBroadcastManager.setBroadcastSync(), so that the results arrive in time
- this unfortunately meant that they were not sent in the main thread anymore, and especially, this would send all pending intents that were previously queued via sendBroadcast() also in the "wrong" thread (in order to keep the order of events)

The fix is to use a custom IntentListener callback interface for synchronous notifications of ble profile results
*without* also causing other, previously queued intents to be sent.

Fixes #1218
2018-08-18 00:39:14 +02:00
cpfeiffer 98cd54657a Avoid unnecessary boxing 2018-08-17 00:28:00 +02:00
cpfeiffer c6bfd296a6 Avoid another potential NPE 2018-08-17 00:22:52 +02:00
cpfeiffer f96b10cca0 Avoid potential NPE 2018-08-17 00:19:10 +02:00
cpfeiffer 0b63fa1c59 Remove some (now) unnecessary casts 2018-08-17 00:13:38 +02:00
cpfeiffer 0145013597 Add some @Nullable 2018-08-17 00:13:38 +02:00
cpfeiffer e32dcd9d73 Update gradle, may need Android Studio settings change, see below
If you get a message about disabling "Configuration on demand" in gradle.properties,
do the following:

Open File -> Settings -> Build, Execution, Deployment -> Compiler
and uncheck "Configure on demand".

No messing with gradle.properties necessary.
2018-08-17 00:13:38 +02:00
Carsten PfeifferandGitHub 26fcb3cbbb Merge pull request #1212 from elagin/legend_wordwrap_center
Enable word wrap and set center horizontal alignment for legend into …
2018-08-16 23:58:00 +02:00
Carsten PfeifferandGitHub 73f699c602 Merge pull request #1207 from Dougal19/master
Support added for H3 watch strap
2018-08-16 23:54:33 +02:00
Carsten PfeifferandGitHub f2db7b2919 Merge pull request #1216 from elagin/start_end_sleep
Display start and end sleep.
2018-08-16 23:40:01 +02:00
cpfeiffer dd3cbc3e31 Update changelog for 0.29.0 2018-08-08 21:57:32 +02:00
Carsten PfeifferandGitHub 4a07c63381 Merge pull request #1194 from elagin/string_toString
Redundant String.toString()
2018-08-08 21:34:45 +02:00
Carsten PfeifferandGitHub 95e39cabba Merge pull request #1190 from maxirnilian/watch9
Watch 9: Initial support
2018-08-08 21:16:59 +02:00
cpfeiffer e15afaab2f Probe connected devices first for firmware installation 2018-08-06 23:13:59 +02:00
cpfeiffer 22e7569587 Add a small testcase for logging 2018-08-06 23:13:59 +02:00
cpfeiffer cc3c70b161 Send results of AbstractBleProfile synchronously
This should fix issues like a ConditionalWriteAction failing with an NPE when GBDevice.getFirmwareVersion() returns null even though the DeviceInfoProfile had already received the firmware version (but the intent notification has not been received yet).
2018-08-06 20:51:28 +02:00
cpfeiffer ec0d62f67b If firmwareRevision is null, use softwareRevision 2018-08-06 20:26:39 +02:00
cpfeiffer 92bd3122f3 Improve logging 2018-08-06 20:22:10 +02:00
cpfeiffer f7c9828cc1 Avoid potential NPE 2018-08-06 20:22:10 +02:00
cpfeiffer fe438f2354 More detailed changelog for ZeTime for 0.28
(taken from https://github.com/Lightwars/Gadgetbridge-1/commit/8af6515df886878a55be4d343e27b6e68a9ff32d)
2018-08-05 00:01:48 +02:00
cpfeiffer 5bca05caac Fix loop condition! 2018-08-04 23:10:11 +02:00
cpfeiffer 664ffdd629 Adjust testcases for samples with calculated timestamps 2018-08-02 22:02:52 +02:00
cpfeiffer 16fb1a584d Errors during activity track timestamp fixup should be non-fatal
So just log them. #1134
2018-08-01 19:49:09 +02:00
cpfeiffer df84927954 Fix filename generation and add testcasce
Fixes #1169
2018-08-01 19:33:33 +02:00
cpfeiffer 7f1c0521ea Small fixes to activity point timestamp fixup 2018-08-01 19:33:33 +02:00
Carsten PfeifferandGitHub 098d3091cc Merge pull request #1153 from Disasm/master
ID115 support
2018-07-31 23:27:35 +02:00
cpfeiffer 163b547395 Remove level_list_device.xml, just use the DeviceType icon 2018-07-30 22:49:00 +02:00
Carsten PfeifferandGitHub 9e184601d9 Merge pull request #1177 from joserebelo/pr
Add missing break + Allow devices to not support being found
2018-07-27 22:57:22 +02:00
cpfeiffer 63231ec49a Revert "remove unused getPrimaryActivity() from coodinators, mark Mi Band HRX as non-heartrate"
This reverts commit 495ba81edc.

See discussion in https://github.com/Freeyourgadget/Gadgetbridge/issues/1165
2018-07-27 13:15:10 +02:00
Carsten PfeifferandGitHub 55f7120a77 Merge pull request #1171 from dakhnod/fix-missing-sourceAppId
Fix missing sourceAppID field
2018-07-26 23:47:26 +02:00
Carsten PfeifferandGitHub 1030a118a4 Merge pull request #1148 from Lightwars/zetime
Add MyKronoz Zetime support
2018-07-14 22:23:07 +02:00
cpfeiffer f2ff1991da Comment out chatty debug output 2018-07-09 22:55:20 +02:00
cpfeiffer f88ef0e688 Fix ActivityDetailsParserTest now that we reuse trackpoints 2018-04-15 16:48:57 +02:00
cpfeiffer 19c6c4c88a Fix refreshing of summaries 2018-04-13 20:27:31 +02:00
cpfeiffer 66063256a7 More improvements of GPX export, optimize nearest closest trackpoint finding a bit 2018-04-13 01:16:38 +02:00
cpfeiffer b12286c892 Handle possible null return
Fixes #1052
2018-04-06 23:45:58 +02:00
cpfeiffer d2c952ffa5 Improvements to the singleton pattern, better encapsulate fields 2018-03-18 12:59:32 +01:00
cpfeiffer 6370c6cac1 Make sure to close the outputstream of the export 2018-02-24 21:02:53 +01:00
cpfeiffer 78b50e82fa Fix crash in settings activity with export location
The way this works will never be a fully working solution, because uris are
*not supposed* to be resolved to a filesystem path. So while this may work
right now, it will most probably fail in the future, with other content providers.

See e.g. https://github.com/iPaulPro/aFileChooser/issues where this code originally came from
(via Stackoverflow).

We won't crash anymore, but we won't support certain content providers. In the long run, we
should search for the proper solution.

Closes #982
2018-02-11 14:32:21 +01:00
cpfeiffer 560f1705f4 An attempt at workarounding mpandroidchart crashes #960 2018-02-03 01:08:25 +01:00
cpfeiffer b0ffd2c279 Mention font installation for Mi Band 2
Fixes #967
2018-02-01 23:50:17 +01:00
cpfeiffer d3f3cefaf8 Update changelog for mpandroidchart fixes 2018-01-14 22:27:26 +01:00
cpfeiffer dd670ef783 Update changelog for bgjs crash fix 2018-01-14 21:24:13 +01:00
cpfeiffer fa0fd250cf Attempt to fix crash with ExternalPebbleJSActivity #863 2018-01-14 01:40:04 +01:00
cpfeiffer da5d1e3685 Trying to simplify ExternalPebbleJSActivity#onCreate() a bit
(by splitting into separate methods)
2018-01-14 00:20:13 +01:00
cpfeiffer 9ee1aa87e8 Move some methods to clarify responsibilities and simplify some things 2018-01-13 21:58:40 +01:00
cpfeiffer e159a5dde3 Cleanup, deduplication, null-handling fixes 2018-01-13 21:08:51 +01:00
cpfeiffer 0e2c73e6fe As a test, use custom MPAndroidchart with fixes applied
See #917

So far, merged
PhilJay/MPAndroidChart#3232
PhilJay/MPAndroidChart#2958
PhilJay/MPAndroidChart#3145
PhilJay/MPAndroidChart#3201
PhilJay/MPAndroidChart#3321
PhilJay/MPAndroidChart#3207
PhilJay/MPAndroidChart#3384
2018-01-04 00:52:35 +01:00
cpfeiffer d570ee864d Fix logs sometimes not containing stacktraces
Fixes #916
2018-01-04 00:12:59 +01:00
cpfeiffer b9f19970df Small safety measure against null device 2018-01-04 00:12:59 +01:00
cpfeiffer fccd2ebb77 Display the actual firmware kind instead of "Firmware"
i.e. "GPS Firmware", "Watchface", "Resources", ...
2017-12-11 23:36:39 +01:00
cpfeiffer 53398e019b Make installer view scrollable 2017-12-11 22:20:36 +01:00
cpfeiffer d447829d6f Bump build:gradle to 3.0.1 2017-12-08 23:18:11 +01:00
cpfeiffer fb0a4ed738 Another attempt at fixing another issue with new tools.build gradle:3.0.0 2017-11-12 01:20:28 +01:00
cpfeiffer 7b3e929cd4 Another attempt at fixing travis build 2017-11-11 00:55:05 +01:00
cpfeiffer a839a88e40 Attempt to fix travis with new com.android.tools.build:gradle:3.0.0 2017-11-11 00:49:31 +01:00
cpfeiffer da7de378d3 Back out the DST handling, since it causes problems with activity fetching
Details: when we ask to fetch activity samples from date:time:tz+dst, the band,
under certain conditions, will send us back date:time:tz (without the dst offset)

We're fine with that, so we start fetching. When it's done, we take the last sample's
timestamp (still without dst offset), convert it to a unix timestamp, create a Calendar
using current tz and apply the unix timestamp. Then we send that timestamp again to the
band in order to fetch activity samples from then, but we again add the dst offset to the tz,
so send as date:time:tz+dst without changing the timestamp. That way, we may end up at the
timestamp we began with, fetching the same activity data again and not progressing.

We first need to thorougly understand how the devices behave, before we can reenable and fix
this.
2017-11-07 21:24:48 +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 9e79eee707 Bip wip: fix position -> item mapping 2017-11-03 22:04:01 +01:00
cpfeiffer 23b18abfe8 Avoid potential NPE 2017-11-03 22:01:11 +01:00
cpfeiffer d9de8e0cab Bip: new activity type mapping 2017-11-03 21:54:48 +01:00
cpfeiffer 8b66d0f0f7 Bip: oups, that was just for testing 2017-11-02 00:19:31 +01:00
cpfeiffer c8b71677cd Bip: remember last time synced 2017-11-02 00:18:48 +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 56e835771e Bip: update schema version for BaseActivitySummary again 2017-11-01 20:22:44 +01:00
cpfeiffer 923d7ae09d Bip: fix activity track kind constants 2017-11-01 20:02:30 +01:00
cpfeiffer 7b3556756a Bip: activity types are different from samples' activity kind 2017-10-31 23:39:49 +01:00