Commit Graph
100 Commits
Author SHA1 Message Date
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
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
cpfeiffer eac8f5f8c7 Extract isValidHeartRate() method to HeartRateUtils 2017-10-31 23:16:39 +01:00
cpfeiffer e2868f0e24 Just a FIXME for someone 2017-10-12 23:25:26 +02:00
cpfeiffer 7137387b08 Huh, travis doesn't like gradle 4.2 yet!? Trying 4.1 2017-09-28 19:17:46 +02:00
cpfeiffer ffb2f37af5 Update gradle to 4.2 2017-09-28 18:54:58 +02:00
cpfeiffer 0687564bbb Remove unused, commented out code 2017-09-28 17:31:40 +02:00
cpfeiffer 770c8a482d Bip: pass the right logger instance 2017-09-27 21:46:23 +02:00
cpfeiffer 32d5ceb78f Make update notification dismissable on error conditions
good idea, @joserebelo #821
2017-09-25 23:25:04 +02:00
cpfeiffer 976942757f Make sure we get a stacktrace in the log
(so we don't have to guess where it happened) #807
2017-09-25 23:25:04 +02:00
cpfeiffer 0fd6064ab6 Just a single method rename, to make it more clear 2017-09-25 23:00:39 +02:00
cpfeiffer 3c9fab0471 Fix fw update notification being stuck at the end
Fixes #821
2017-09-25 00:03:40 +02:00
cpfeiffer 35e59d0add Bip: WIP for ashimokawa 2017-09-17 22:36:49 +02:00
cpfeiffer e9a68e70b5 Make Mi2 FetchOperation reusable 2017-09-09 00:02:30 +02:00
cpfeiffer a93ace255b Don't crash, don't queue a transaction twice!
Fixes #794
2017-09-04 23:39:40 +02:00
cpfeiffer e44eb03698 Amazfit Bip: avoid sending weather info when not initialized 2017-09-04 23:23:51 +02:00
cpfeiffer 1ddea9268d Amazfit Bip: request GPS fw version earlier
(to avoid recreation of DeviceAttributes because fw2 is sometimes available and sometimes not.)
2017-09-04 23:19:53 +02:00
cpfeiffer f5934dfb3b Don't crash when no firmware version available yet 2017-09-03 23:56:30 +02:00
cpfeiffer 55bf9ef784 Some logging 2017-09-03 23:51:20 +02:00
cpfeiffer 24797c7dd7 Make AbstractGBActivity abstract :-) 2017-09-03 10:48:14 +02:00
cpfeiffer 962720145e Fix custom language being lost for newly created activities
So we do need to set the language both on change and onCreate()

For some reason, the title bar of the SettingsActivity is not updated on recreate().

Closes #787
2017-09-03 01:04:34 +02:00