1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-07-03 11:33:19 +02:00
Commit Graph

2221 Commits

Author SHA1 Message Date
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
Andreas Shimokawa
47bdeea257 Amazfit Bip: map a few more icons 2017-09-25 22:34:05 +02:00
Daniele Gobbetti
e8ae47de79 Pebble: Make background JS support toggle-able
- Add preference to enable background JS (default disabled)
- Remove the dummy activity used to create the webview, use ExternalPebbleJSActivity instead
- Add layout for legacy configuration, used if background JS is not enabled
- Create the view upon connecting, not when launching the application
- Remove the generic helpers used to find out if any device would need the background webview
- Drastic refactoring of WebviewSingleton moving internal classes in a new package "webview" in service/devices/pebble
2017-09-25 17:12:35 +02:00
Daniele Gobbetti
af6271a428 Merge branch 'master' into background-javascript 2017-09-25 11:21:11 +02:00
Daniele Gobbetti
c74ea64b70 Pebble: Address the missing remarks of #807
- Separate the getAudioPlayer method
- Replace the println calls with proper LOG statements
2017-09-25 11:09:45 +02:00
cpfeiffer
3c9fab0471 Fix fw update notification being stuck at the end
Fixes #821
2017-09-25 00:03:40 +02:00
Andreas Shimokawa
e28085e6af Mi Band 2/ Bip: Do not send user info if not set up 2017-09-24 23:03:11 +02:00
Andreas Shimokawa
717eb6ba58 Amazfit Bip: Whitelist fw 0.0.8.97/.98, fix detection for newer alm and cep files 2017-09-24 22:44:18 +02:00
Andreas Shimokawa
46b50515f3 Mi Band 2/Bip: set user info from user attributes 2017-09-23 00:51:57 +02:00
Andreas Shimokawa
2be84435ce Mi Band 2/Bip: implement setting user info (experimental, disabled) 2017-09-23 00:09:52 +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
f5b8bdb1c2 add missing file 2017-09-18 23:26:34 +02:00
Andreas Shimokawa
412153364e Amazfit Bip: initial support for fetching debug logs from the watch
TODO:
- fix wrong toast about start time
- properly create an API for this kind of stuff (currently uses testNewFunction())
2017-09-18 23:24:11 +02:00
cpfeiffer
35e59d0add Bip: WIP for ashimokawa 2017-09-17 22:36:49 +02:00
Andreas Shimokawa
37da178365 Amazfit Bip: log "step goal reached" event 2017-09-16 19:53:06 +02:00
Andreas Shimokawa
9471131490 Amazfit Bip: log more events coming from the watch 2017-09-16 12:33:33 +02:00
Andreas Shimokawa
e5a8ca5374 Amazfit Bip: more debug output for events coming from the watch 2017-09-16 00:20:33 +02:00
Andreas Shimokawa
d49db12a0d Amazfit Bip: Allow flashing of GPS CEP and Almanac, whitelist .96 fw 2017-09-15 11:44:24 +02:00
Andreas Shimokawa
3301194e75 Consolidate duplicate Mi2 / Bip icon definition
Also handle some more recently added icons
2017-09-14 10:15:14 +02:00
Kaz Wolfe
2bc0c27b90 Update Pebble Notification Icons
- Add a large number of notification icons missing from current version
- Update colors for existing icons to match Pebble colors exactly
- Add hooks for new icons

Linked issue: N/A
2017-09-14 08:04:54 +02:00
Andreas Shimokawa
99d873a178 Merge branch 'master' into background-javascript 2017-09-13 21:51:55 +02:00
License Bot
a10fc8ad4e Update license headers 2017-09-12 12:39:15 +02:00
Andreas Shimokawa
acf779a8e4 Amazfit Bip: fix long messages not being displayed at all 2017-09-11 23:20:57 +02:00
Andreas Shimokawa
b87d9d649d Amazfit Bip: Whitelist FW 0.0.8.88 2017-09-11 23:05:49 +02:00
Michal Novotny
05d0625b68 Mi Band 2: Implement multiple button actions
This enables option for multiple button actions according to the "Delay after button action". This broadcast is being sent to the intent
along with button_id extra identifying how many times have the pass been done.

By pass defined number of button presses is meant.
2017-09-10 23:02:13 +02:00
Quallenauge
851e47f550 Add support for EXRIZU K8 smartband.
The device is compatible to HPLUS protocol.
2017-09-10 22:57:32 +02:00
Daniele Gobbetti
6def9dc07e Pebble: allow to translate quick actions sent to the watch
Fixes #789
2017-09-10 17:57:18 +02:00
Gabe Schrecker
6f702778f4 Support control of multiple media playback applications (#807)
* Added Lollipop only detection of the playing media package, using MediaSessionManager. Replicates funtionality of the Official Pebble client.
2017-09-10 15:17:21 +02:00
protomors
b66b33239d Added database migration. 2017-09-10 14:45:09 +02:00
protomors
273c2ddbfd NO.1 F1: Support for heart rate measurement. 2017-09-10 14:45:09 +02:00
protomors
918cc75f6c NO.1 F1: fetch sleep data. 2017-09-09 18:12:39 +02:00
cpfeiffer
e9a68e70b5 Make Mi2 FetchOperation reusable 2017-09-09 00:02:30 +02:00
Andreas Shimokawa
5cd00ccbb5 Fix language switching for good
Maybe
:D

Fixes #802
2017-09-07 23:26:53 +02:00
Andreas Shimokawa
3e05f8ff4a Merge branch 'master' into background-javascript 2017-09-05 22:49:07 +02:00
Michal Novotny
fcf9be877a Support for button actions on Mi Band 2 device (#793)
Implement button actions for MiBand 2
2017-09-05 22:37:41 +02:00
Andreas Shimokawa
f0a9c57937 Merge branch 'master' into background-javascript 2017-09-05 10:21:45 +02:00
Andreas Shimokawa
365fcace06 Fix merge 2017-09-05 10:20:37 +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
Andreas Shimokawa
a911ba5423 Merge branch 'master' into background-javascript 2017-09-04 21:08:36 +02:00
Sami Alaoui
f6ce0c1a0e Add initial support for Teclast H30
Scan and connection, battery level, firmware version, date and time sync
(along with some other currently hardcoded settings), notification
support, alarm support, and some more.
2017-09-04 20:59:09 +02:00
protomors
b8c5a44709 Removed interpolation of data samples. Added intensity column for activity chart. 2017-09-04 20:38:20 +02:00
protomors
22a15c631c Notify user about failed operations. 2017-09-04 20:38:20 +02:00
protomors
b7c1c28e76 Split hour samples into minutes. 2017-09-04 20:38:20 +02:00
protomors
ecd9964c5b NO.1 F1: Fetch steps data. 2017-09-04 20:38:20 +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
Daniele Gobbetti
df2a313168 Webview: make the webview more robust to disconnections 2017-09-03 17:55:00 +02:00
Daniele Gobbetti
d669d3b325 Make NoF1 compatible with background js branch 2017-09-03 17:09:19 +02:00
Daniele Gobbetti
bb962001a5 Merge branch 'master' into background-javascript
# Conflicts:
#	app/src/main/java/nodomain/freeyourgadget/gadgetbridge/GBApplication.java
2017-09-03 16:49:27 +02:00
Andreas Shimokawa
cfc310692f Amazfit Bip: Fix call notification with unknown caller 2017-09-03 14:37:32 +02:00
Andreas Shimokawa
a63dc4a018 Pebble: fix taking screenshots on Android 8.0
Closes #790
2017-09-03 14:12:41 +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
Andreas Shimokawa
f39d8cd2e2 Amazfit Bip: Use AlertCategory.Email for email
Somehow the custom icon for email no longer works with never firmwares
2017-09-02 23:25:53 +02:00
cpfeiffer
c468e7f521 Mi Bands+Bip: when an operation finishes, unset the gatt callback on the BtLEQeue
Otherwise it will continue to receive events until another transaction is being executed.
2017-09-02 22:49:58 +02:00
cpfeiffer
c91e14f644 Bip: some code deduplication 2017-09-02 21:45:56 +02:00
Andreas Shimokawa
eaf7b76715 Pebble: Try to support spotify
untested
 #704
2017-09-01 23:47:03 +02:00
protomors
e7fff32fb8 Send more settings to device (with hardcoded values, for now).
Now bracelet should work correctly without ever connecting to native app.
2017-09-01 22:19:33 +02:00
protomors
c97136e4fe Fixed wrong parameter. Time is set in 24-hour format. 2017-09-01 22:19:33 +02:00
protomors
f8473ac42d Initial notifications support and some refactoring. 2017-09-01 22:19:33 +02:00
protomors
f5b8fada75 Initial NO.1 F1 support.
Works: connecting, writing user data, reading firmware version and battery charge, finding device.
2017-09-01 22:19:33 +02:00
Andreas Shimokawa
e839a2c6a3 Trim strings coming from DeviceInfoProfile (BLE).
On the Bip strings have trailing zeroes. Putting this in the Database results in a "BLOB"
2017-08-31 11:52:21 +02:00
Andreas Shimokawa
32c03013ce Display fw2 as GPS for Amazfit Bip 2017-08-29 23:12:28 +02:00
Andreas Shimokawa
c627d690c7 Merge branch 'master' into background-javascript 2017-08-29 22:53:38 +02:00
Andreas Shimokawa
23fa37d99d Amazfit Bip: get and display gps version
Currenty this is displayed as HR (heart rate firmware)
2017-08-29 22:16:59 +02:00
AnthonyDiGirolamo
f855dc5d45 Add Google Messenger as well 2017-08-28 21:34:19 +02:00
AnthonyDiGirolamo
24c9ef339b Add Pebble icon notifications for Gmail, Inbox, and Google Calendar. 2017-08-28 21:34:19 +02:00
Andreas Shimokawa
74652397dd Merge branch 'master' into background-javascript 2017-08-28 00:35:28 +02:00
Andreas Shimokawa
a3108a4958 fix string 2017-08-27 23:37:42 +02:00
Andreas Shimokawa
455dfde63d Amazfit Bip: add instructions and warning to the firmware installation screen 2017-08-27 23:08:10 +02:00
Andreas Shimokawa
1ff8fbac55 switch speed zones and live activity tabs
(makes it easier, since live activity is not for all devices9
2017-08-27 22:00:28 +02:00
Daniele Gobbetti
41feb008a7 Various style fixes
The top axis had the default color and was not visible with dark theme.
Enabled granularity of 1 to avoid fractions of steps being shown on the axis.
2017-08-27 17:26:24 +02:00
Andreas Shimokawa
2eb25e7c4e Amazfit Bip: Firmware installation screen improvements
- Try to improve firmware detection (older 0.0.8.xx firmwares were not detected)
- Whitelist GPS firmware that comes with firmware 0.0.8.xx
- show actual device icon istead of hardcoded Mi Band icon
2017-08-27 00:32:15 +02:00
Andreas Shimokawa
b4639b9062 Speed Zones Chart: remove unused legend code 2017-08-27 00:04:08 +02:00
Andreas Shimokawa
6fb0a977fc rename StatsChartFragment to SpeedZonesFragment 2017-08-26 23:55:11 +02:00
Vebryn
ea6457c359 fix building error 2017-08-26 23:36:59 +02:00
Vebryn
a61cbddb5d simplifying speed zones and re-enabling 2017-08-26 23:35:16 +02:00
Andreas Shimokawa
165dcf897b Amazfit Bip: fix sending weather at specific times 2017-08-26 00:42:04 +02:00
Andreas Shimokawa
a5886cbb49 Revert "store UTC in weather timestamp"
It was already in UTC but I sucked

This reverts commit b9eedce13b.
2017-08-26 00:41:36 +02:00
Andreas Shimokawa
6d28b8232b Amazift Bip: fix weather on FW 0.0.8.74, support condition text 2017-08-25 23:36:14 +02:00
Daniele Gobbetti
8aebf2d9d5 Null extras bundle should not be processed.
Blind attempt to address #778
2017-08-25 22:01:21 +02:00
License Bot
15f4ce2869 Update license headers 2017-08-25 11:25:01 +02:00
Andreas Shimokawa
013e270a9c Add missing file :/ 2017-08-25 01:17:34 +02:00
Andreas Shimokawa
4bb18b9795 Amazfit Bip: enable caller name display upon initialization
This is neccessary for newer firmwares (0.0.8.74 at least)
(I assume this command also exists on Mi2, hope it is true :D)
2017-08-25 01:04:36 +02:00
Andreas Shimokawa
12d9b7812f Amazfit Bip: Initial experimental firmware update support
USE AT YOUR OWN RISK:

NOTE: During update your device is named a Mi Band

1) Flash .gps (installation will take a while after transfer)
2) Flash .res
3) Flash .fw (device will reboot)
4) Gadgetbridge wont notice that update was successfull, known bug.
2017-08-25 00:21:47 +02:00
Andreas Shimokawa
ebc1cedf55 damn typo 2017-08-23 23:12:44 +02:00
Andreas Shimokawa
a398f33cb8 Mi Band2: do not misuse ALERT_LEVEL_ constants, use AlertCategory enum 2017-08-23 23:04:40 +02:00
Andreas Shimokawa
f1d252c7ee Disable appmessage handler for healthify and trekvolle 2017-08-22 20:14:41 +02:00
Andreas Shimokawa
f4e11c8cb3 Merge branch 'master' into background-javascript 2017-08-22 20:13:20 +02:00
Andreas Shimokawa
460c5c9a24 Fix setting smart alarms on Mi Band
Closes #750
2017-08-22 01:01:35 +02:00
Andreas Shimokawa
b9eedce13b store UTC in weather timestamp 2017-08-22 00:26:49 +02:00
Andreas Shimokawa
4c8728c78f Amazfit Bip: Support app icons in notifications 2017-08-21 23:47:47 +02:00
Andreas Shimokawa
fdcc51cb98 Amazfit Bip: Support sending notification body, not only title 2017-08-20 23:58:41 +02:00
Andreas Shimokawa
1eff950bde Amazfit Bip: Support some weather icons 2017-08-19 23:49:19 +02:00
Andreas Shimokawa
1f6634374d Amazfit Bip: send weather for today and tomorrow (high and lows)
TODO: convert condition codes
2017-08-19 20:58:13 +02:00
Daniele Gobbetti
c05e5f15ab Add link to liberapay.com in the main drawer.
/cc #14
2017-08-18 21:51:12 +02:00
Andreas Shimokawa
b19cf85a12 Amazfit Bip: support E-Mail icon and do also send notifications from unknown sources 2017-08-18 16:21:54 +02:00
Daniele Gobbetti
d00b5a5d5d Merge branch 'master' into background-javascript 2017-08-18 12:15:01 +02:00
Daniele Gobbetti
8cce2d1362 Pebble: allow to blacklist certain calendars
As requested in #736, this adds an entry in the settings menu that allows to blacklist certain calendars.
To avoid confusion, all the former blacklist methods and fields have been renamed to apps_blacklist. The new entries are called calendars_blacklist.
Importing the settings has not been tested with the current changes.
Closes #736

Future improvements TODO: The new setting lives in the Pebble section, i believe in the future the blackslist functionality should be centralized and put in the sidebar.
2017-08-18 10:34:42 +02:00
Andreas Shimokawa
a6059a5ce2 Add transliteration for German
Closes #766
2017-08-16 21:41:51 +02:00
Andreas Shimokawa
cd5af1e66a Amazfit Bip: implement find lost device by simulating a phone call from "Gadgetbridge" 2017-08-16 20:55:20 +02:00
Translation Bot
7108dd7b88 Amazfit Bip: Implement support for rejecting calls
Taking calls does not work with recent Android versions, I guess we need to push the button in the notification :(
2017-08-15 17:24:16 +02:00
cpfeiffer
6b1ba4d161 Don't duplicate colors, use the theme #757 2017-08-14 21:59:49 +02:00
Andreas Shimokawa
80dce95372 Inital Amazfit Bip support
Support is almost on Mi Band 2 level.

What does not work yet:
- flashing firmware files
- taking or rejecting phone calls
- syncing GPS tracks
- sending weather
- notification only include title, not a body
- unknown notification's text is not forwarded to the watch at all (same on Mi Band 2 #754)
2017-08-13 16:31:11 +02:00
Andreas Shimokawa
4dc53a4390 Also theme full changelog with default css (copy and paste sucks, I know) 2017-08-12 00:45:07 +02:00
Andreas Shimokawa
7302832d84 Also include DEFAULT_CSS for ChangeLog theming 2017-08-12 00:32:25 +02:00
Andreas Shimokawa
b25febf0e5 Pebble: LOG stacktrace when connection fails 2017-08-12 00:18:15 +02:00
Andreas Shimokawa
9ea4b8ae43 Show dark themed changelog when dark theme is selected
Closes #757
2017-08-11 23:57:00 +02:00
Andreas Shimokawa
65835db5cc Pebble: more debug output for webview singleton, whitelist tagesschau.de for tests 2017-08-10 00:33:54 +02:00
Daniele Gobbetti
7475d170a7 Pebble: add support for the (unreleased) internet helper addon
This will use the internet helper application if it's available on the android device or fall back to existing methods if it doesn't.
2017-08-05 16:04:48 +02:00
Andreas Shimokawa
6916beabed Pebble: fix wrong uuid being passed from protocol to js 2017-08-02 23:09:43 +02:00
Daniele Gobbetti
aa28625d9f Pebble: JS basic implementation of transaction acknowledgment
JAVA side:
- first trivial handling of ACK/NACK message,
- fake the location age until an update mechanism is implemented,
- make the appmessage parsing more robust,
- comment the forecast mimicked reply as it was wrong and confusing for some watchfaces

JS side: first trivial handling of ACK/NACK message
2017-08-02 22:08:29 +02:00
Andreas Shimokawa
5939c244fb Merge branch 'master' into background-javascript 2017-08-01 11:19:17 +02:00
cpfeiffer
95ce3d333e Ugly workaround for blacklist not properly persisting
Fixes #696
2017-08-01 00:10:10 +02:00
Andreas Shimokawa
ceec76b4f6 Pebble: preparations for js appmessage ack/nack callbacks 2017-08-01 00:03:28 +02:00
cpfeiffer
12f9386fac Also handle resetting language to default properly #733 2017-07-31 23:00:02 +02:00
cpfeiffer
c1925a4e64 Properly handle and distribute language change #733
Also centralize QUIT handling in GBActivity
2017-07-31 22:49:05 +02:00
Andreas Shimokawa
3b35bde42c Pebble: Pass booleans from Javascript Appmessage as such
(missing parts from c2af2dd15c in master)
2017-07-30 23:27:49 +02:00
Andreas Shimokawa
30d6b96432 Merge branch 'master' into background-javascript 2017-07-30 23:26:05 +02:00
Andreas Shimokawa
c2af2dd15c Pebble: Pass booleans from Javascript Appmessage as such and convert to int16 later when sending to pebble
https://developer.pebble.com/guides/communication/using-pebblekit-js/#type-conversion
2017-07-28 23:54:29 +02:00
Daniele Gobbetti
25e6af81a4 Pebble: some more fixes to the webview
- add back support for clay that was mistakenly removed
- timestamps are in milliseconds in JS as well
- intercept the whole URL path instead of the last part
2017-07-28 18:30:27 +02:00
lazarosfs
7f5aeb6ab1 greek transliteration map 2017-07-27 23:59:06 +02:00
Daniele Gobbetti
868593cfd3 Pebble: further improvements to the background webview
- the webview is not static anymore (but its holder is)
- the openweathermap calls of type weather and forecast are now supported (as properly as possible)
- assemble the main JSON messages in the weather receiver, as info are lost afterwards
- switch to Uri parsing instead of String (also unify handling of legacy and new requests)
- attempt to address most of the lints/warnings of AS
- remove printStackTrace in favor of LOG.warn
2017-07-26 18:12:12 +02:00
Daniele Gobbetti
79f3cad36d Pebble: some refinements to webview
- rename the createWebView method to getInstance
- remove the stateChangeListener after it has been fired once and remove obsolete code within
- instantiate the jsInterface object only when needed
- use the application context when possible to limit the usage of the mutableContextWrapper
2017-07-24 23:57:07 +02:00
Daniele Gobbetti
f6946c4402 Merge branch 'master' into background-javascript 2017-07-24 23:47:15 +02:00
Andreas Shimokawa
23d12f7289 Charts: various visual improvements
Thanks @girlwithnoname
2017-07-23 17:56:32 +02:00
Andreas Shimokawa
30eee7ccd5 update changelog bump version 2017-07-21 19:56:49 +02:00
José Rebelo
f7abe2d4a3 Mi Band 2: Inactivity Warnings 2017-07-17 20:25:52 +02:00
Andreas Shimokawa
eb7e635cdc Merge branch 'master' into background-javascript 2017-07-15 23:07:46 +02:00
José Rebelo
34bd2ed9cc Mi Band 2: Do Not Disturb 2017-07-15 21:17:29 +02:00
cpfeiffer
01d3a3a7be Mi Band 2: set goal notification also in phase2Initialize() 2017-07-15 21:15:42 +02:00
José Rebelo
ceb82f3474 Mi Band 2: Goal notification 2017-07-15 21:14:25 +02:00
Carsten Pfeiffer
377e999067 Merge branch 'master' into mi2-display-items 2017-07-13 23:26:25 +02:00
José Rebelo
6c95a9fcb9 Mi Band 2: Rotate wrist to switch info 2017-07-13 23:20:11 +02:00
José Rebelo
2c0b105aa6
Mi Band 2: Display item settings 2017-07-12 14:59:14 +01:00
Andreas Shimokawa
a4e35b49b2 Only show realtime chart on device supporting it 2017-06-02 21:59:46 +02:00
Translation Bot
fb8f866031 disable "Speed Zones" graph
It is not ready yet and full of bugs
2017-06-02 21:42:41 +02:00
João Paulo Barraca
e97f4d3909 HPlus: set not worn when charging 2017-05-31 15:20:20 +01:00
freezed-or-frozen
9b5c1b91c0 modify MiBandSUpport.handleSensorData() to convert raw values in acceleration values 2017-05-30 23:11:59 +02:00
Andreas Shimokawa
05a4486277 Pebble 2/LE: try to improve pairing results by setting another unknown flag
This might help with "bad pairing" where a pebble wont connect anymore after toggling bluetooth on the watch
A workaround was to scan bluetooth before connecting after toggling bluetooth on the watch
2017-05-28 23:43:37 +02:00
Daniele Gobbetti
737578debc The good parts of "refactor notification management"
- centralize the logic for skipping unwanted notifications
- use *Compat methods wherever possible

Leaving out the problematic parts (persistent IDs and updating)
2017-05-28 18:50:41 +02:00
cpfeiffer
4e9b85999e Unregister some listeners to avoid leaking #655 2017-05-28 00:19:24 +02:00
Pavel Motyrev
3a55c67b9e Missed delimiter 2017-05-23 18:25:07 +02:00
João Paulo Barraca
4c7d6d4a10 HPlus: remove debug messages 2017-05-22 23:29:19 +01:00
João Paulo Barraca
bd754b4130 HPlus: Start detecting band not worn 2017-05-22 23:19:43 +01:00
João Paulo Barraca
013cbf139a Merge branch 'master' of https://github.com/Freeyourgadget/Gadgetbridge 2017-05-22 23:14:08 +01:00
João Paulo Barraca
759b9c81a3 HPlus: Fix Unicode handling 2017-05-22 23:14:05 +01:00
cpfeiffer
e279cd736f Some logging for the weird blacklist issue #696 2017-05-21 21:02:23 +02:00
cpfeiffer
c79eda5507 Remove "tapString" from DeviceCoordinator 2017-05-19 22:35:37 +02:00
cpfeiffer
5e079bb480 Pull out useful code from LiveviewIOThread into BtClassicIoThread 2017-05-19 22:27:50 +02:00
João Paulo Barraca
845869e25e HPlus: Fix intensity calculation without continuous connectivity 2017-05-19 10:39:21 +01:00
cpfeiffer
1d79c9d93d Dark theme: set some text colors for the speed zone tab 2017-05-18 23:26:04 +02:00
cpfeiffer
07f4d3148a Also reset the last package counter when doing a second round
See #691
2017-05-15 23:11:52 +02:00
Andreas Shimokawa
b1d1e701f9 Pebble: map walk and run to TYPE_ACTIVITY instead of UNKNOWN
fixes speed zones chart being empty for pebble health
2017-05-15 22:30:07 +02:00
Andreas Shimokawa
7cce2aeb8b Cleanup Speed zones chart code
- Remove unused stuff
- rename "pie" and "sleed" (there is no sleep and no pie here :)
2017-05-15 22:19:50 +02:00
cpfeiffer
e4faabeca3 Fix NPE
Closes #691
2017-05-15 19:34:33 +02:00
cpfeiffer
0e4b9a4eb8 Mi2: Keep fetch activity data until data is from today
When the fetch operation finishes successfully, double check if
the last received data is from today. If it is older, fetch again.
Closes #611
2017-05-15 00:38:26 +02:00
Vebryn
7dc9c28c74 initial version of speed zones tab (#674)
* #673 initial version of speed zones tab

* #673 fix copyrights and initial step speed length
2017-05-14 23:09:27 +02:00
Andreas Shimokawa
b31a6a5db9 Pebble: Fix wrong timestamps with Morpheuz running on Firmware >=3
Fixes #689
2017-05-13 22:18:56 +02:00
Andreas Shimokawa
6d54cfab88 Merge branch 'master' into background-javascript 2017-05-12 22:16:11 +02:00
Andreas Shimokawa
a1690700f4 Revert "Refactor notification management"
This reverts commit cede8a0826.
2017-05-10 22:26:02 +02:00
Andreas Shimokawa
4591f07bcd Revert "Parse the EXTRA_MESSAGE bundle in the notification, if present."
This reverts commit bc28990a96.
2017-05-10 22:25:46 +02:00
Andreas Shimokawa
f9c70714b8 revert all unrelated changes done in background-javascript branch 2017-05-09 14:42:19 +02:00
Andreas Shimokawa
3751273cd0 Merge branch 'master' into background-javascript 2017-05-09 14:04:33 +02:00
Andreas Shimokawa
bbbb9dd448 Pebble: do not start calendar event listener at all when calendar access is denied
Fixes #678
2017-05-09 12:32:00 +02:00
Andreas Shimokawa
805a38ae3c Merge branch 'notification-refactor' 2017-05-08 22:22:34 +02:00
João Paulo Barraca
d73d4b3a13 HPlus: Handles missing phone number. Fixes #675 2017-05-05 22:17:52 +01:00
Andreas Shimokawa
9f309df84d Calendar sync: Use instance id instead of event it to fix recurring events
Also parse duration string if no end time was set

If this breaks anything, revert
2017-05-04 21:52:54 +02:00
João Paulo Barraca
8a39d8b2eb HPlus: Detect Zeband Plus Unicode Support 2017-05-04 14:16:21 +01:00
João Paulo Barraca
497f9a6658 HPlus: Handle SW Version message from Zeband Plus 2017-05-04 13:47:32 +01:00
Andreas Shimokawa
b475fd2dc7 Just disconnect if bluetooth gets turned off, do not quit all activities. 2017-05-01 17:33:34 +02:00
Daniele Gobbetti
bc28990a96 Parse the EXTRA_MESSAGE bundle in the notification, if present.
This way notifications are updating for the Conversations app.
2017-04-29 23:22:03 +02:00
Daniele Gobbetti
ccfe8d5777 Merge branch 'master' into notification-refactor 2017-04-29 21:34:19 +02:00
Daniele Gobbetti
cede8a0826 Refactor notification management
- centralize the logic for skipping over unwanted notifications
- use *Compat methods wherever possible
- use unique and persistent ID (update notifications)
- switch to using BigText style by default (since we can now update existing notifications)
- for Pebble: delete and reinsert notification as updating is not possible
2017-04-28 18:03:19 +02:00
cpfeiffer
07c61e6bcb Revert "Revert "Enable notifications during testcases to avoid NPE starting the service""
This reverts commit 6627371f92.
2017-04-27 08:03:48 +02:00
cpfeiffer
c3c5e0415d The Real Fix #666 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
b0384e90d5 Revert "Adjust test case setup and fix failing tests"
This reverts commit d9b0d639b8.
2017-04-27 07:39:36 +02:00
Andreas Shimokawa
6627371f92 Revert "Enable notifications during testcases to avoid NPE starting the service"
This reverts commit 739b5e9c50.

Might fix #666
2017-04-27 07:37:32 +02:00
João Paulo Barraca
69d215cb99 HPlus: Improve intensity calculation based on Tanaka et al, 2001 2017-04-27 00:58:36 +01:00
João Paulo Barraca
166695f00a HPlus: Handle more frame types 2017-04-27 00:24:03 +01:00
João Paulo Barraca
c9da7548ed HPlus: Improve reconnection to device 2017-04-27 00:24:03 +01:00
João Paulo Barraca
58cb73a756 HPlus: Improve transliteration 2017-04-27 00:24:03 +01:00
License Bot
8af9054f2d Update license headers 2017-04-26 00:14:25 +02:00
cpfeiffer
739b5e9c50 Enable notifications during testcases to avoid NPE starting the service 2017-04-25 22:51:56 +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
534eb385f7 Pebble: manage the dictation session initialization.
Currently we inform the watch that GadgetBridge doesn't support voice input.
2017-04-24 21:32:51 +02:00
Daniele Gobbetti
fae116d1bd Add Calendar related tests (WIP) 2017-04-24 13:50:53 +02:00
Andreas Shimokawa
bc4503c8bf Pebble: Add option for Calender Timeline sync (default on) 2017-04-24 12:39:40 +02:00
cpfeiffer
523055189f Some basics for testing the calendar functionality 2017-04-24 11:58:07 +02:00
Daniele Gobbetti
d570d188a2 Remove the low battery notification if a normal battery level is reported. 2017-04-24 09:53:48 +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
Daniele Gobbetti
f06298a3c8 Fix some lint errors and warnings:
- check the calling Intent action when autostarting
- replace the FAB + image with a vector drawable
2017-04-23 12:43:13 +02:00
cpfeiffer
9ed8004a69 Fix rare NPE 2017-04-22 23:56:04 +02:00
cpfeiffer
3f8620e026 Use toString() instead of risking a ClassCastException 2017-04-22 21:16:40 +02:00
cpfeiffer
2003d56190 Cleanup package blacklist handling
Didn't find a cause for #664, though.
2017-04-22 16:59:55 +02:00
cpfeiffer
36c1b5a6f2 Fix static context leak
I don't think this is the cause for #655, but it supposedly also breaks
instant run, so now it's fixed.
2017-04-21 22:34:47 +02:00
cpfeiffer
1e4351b03a Silence lint warning 2017-04-21 22:23:50 +02:00
João Paulo Barraca
70663af35a HPlus: Support reconnection when messages are to be sent. 2017-04-21 19:09:48 +01:00
Andreas Shimokawa
6dc1d76592 Pebble: recognize AOSP calendar and use calendar icon on pebble for reminders 2017-04-21 12:39:18 +02:00
Andreas Shimokawa
965ba190a6 Calendar Sync: Fix location not being passed to device code
Now location is displayed on the pebble ;)
2017-04-21 10:51:06 +02:00
cpfeiffer
696dc1f08d Attempt to fix reconnection not happening in some cases
Fixes #530
2017-04-20 23:01:32 +02:00
Andreas Shimokawa
bc368a788b Pebble: fix protocol encoding bugs of timeline pin, add location 2017-04-20 21:40:06 +02:00
Andreas Shimokawa
8385d8079a Pebble: allow encodeTimeLinePin() to encode other attributes than just title and subtitle
Unfortunately I did'nt find a way yet to add a description to the calendar pin (layout 2)
2017-04-20 20:09:29 +02:00
Andreas Shimokawa
15fb71337b Calendar Sync: Fix inverted logic when comparing hashes from db
Also improve debug output
2017-04-20 20:08:16 +02:00
Andreas Shimokawa
86392dbf06 Merge branch 'master' into background-javascript 2017-04-20 14:34:32 +02:00
Andreas Shimokawa
5717379aec Pebble: change timeline layout to "calendar" for calendaar events and display end time 2017-04-20 10:40:28 +02:00
Andreas Shimokawa
7ee20348db Only sync Calendar and Sunrise/Sunset on devices that support it 2017-04-19 21:51:23 +02:00
Andreas Shimokawa
a28d27839f Merge branch 'master' into feature-calendarsync 2017-04-19 20:19:15 +02:00
Daniele Gobbetti
3ef5f5b811 Add support for all day events and add location in the CalendarEventSpec
Further: fix the hashCode method to properly deal nulls fields.
2017-04-19 17:44:02 +02:00
Andreas Shimokawa
546b68ad2d Calendar Sync: detect changed events by hash code 2017-04-19 14:52:07 +02:00
Daniele Gobbetti
18157daf46 Ensure that the Notification listener service gets restarted if crashed.
This change adds an additional service that checks the status of the NotificationListenerService, and restarts it if it's stale/crashed.
Crashes happen mostly during development, but were reported also by users.
2017-04-19 13:23:13 +02:00
João Paulo Barraca
9decb7788b HPlus: use HR translated string 2017-04-18 10:51:49 +01:00
João Paulo Barraca
9f0d260e7a HPlus: Improve connection process (#651)
* Clean HPlus services and characteristics
* Improve connectivity
2017-04-18 10:47:28 +01:00
cpfeiffer
b142add631 Pass a GBDevice instead of GBDeviceCandidate to getBondingStyle() #651 2017-04-17 23:00:16 +02:00
Andreas Shimokawa
087f5879b0 Merge branch 'feature-calendarsync' of https://github.com/Freeyourgadget/Gadgetbridge into feature-calendarsync 2017-04-17 21:11:17 +02:00
Andreas Shimokawa
35efa30c4b Calendar Sync: Only enable calendar broadcast receiver when device is initialized
This excludes it from any auto connect logic.
We are now save to sync the calendar once in contructor.
2017-04-17 21:09:29 +02:00
Daniele Gobbetti
7b50ba9572 Implement hashCode() as equals has been implemented. 2017-04-17 21:07:50 +02:00
Daniele Gobbetti
1e231e6129 Move the Calendar receiver code in the proper place. 2017-04-17 20:33:39 +02:00
Daniele Gobbetti
61690eb2cc Get notified when calendar events change instead of polling. 2017-04-17 20:26:33 +02:00
Andreas Shimokawa
df0e77f368 Calendar Sync: Make greendao .update() work by adding a PK id :/ 2017-04-16 21:08:49 +02:00
Andreas Shimokawa
f7ca1fc76c Merge branch 'master' into feature-calendarsync 2017-04-16 19:59:23 +02:00
Andreas Shimokawa
67f035accf DBHelper: no not update device attributes in db if we call getDevice() on a disconnected device
Fixes NPE
2017-04-16 19:43:53 +02:00
Andreas Shimokawa
9970f8017f Calendar sync: save sync status to db to avoid leakage of deleted events
We now have a per device database that tracks sync states for calendar entries
We still cannot track changed calendar entries that where changed while we were disconnected
2017-04-16 19:37:43 +02:00
Daniel Hauck
ccb58f0f3c Basic calendar sync using additional receiver (#654) 2017-04-16 12:34:37 +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
589945f234 Use try-with-resources to ensure stream is closed on exception 2017-04-12 21:34:48 +02:00
João Paulo Barraca
6ed40a21c6 HPlus: convert text to either GB2312 or UTF-8 2017-04-12 14:29:24 +01:00
Andreas Shimokawa
810ba5419b Pebble: reenable battery level reporting, with percentage drom datalog 2017-04-09 17:05:09 +02:00
Daniele Gobbetti
5bf6251dc5 Rename some layout files as they are used for specific purposes 2017-04-09 16:03:07 +02:00
Daniele Gobbetti
fe626eb11e Remove the checkboxes in the alarms cardview and simplify layout of details activity
- rename the layout file of the alarm item to better organize the files
- add a color selector for the item view, this replicates the old behavior of using the color to highlight enabled days
- remove the nested linearlayouts in the alarm details activity layout and use CheckedTextView instead
2017-04-09 16:01:48 +02:00
cpfeiffer
1a88858c6f Fix some findbugs findings 2017-04-09 01:09:43 +02:00
Daniele Gobbetti
a77ff03ca5 Add filter functionality to the app blacklist activity 2017-04-09 00:21:43 +02:00
Andreas Shimokawa
f658059d20 Pebble: really disable battery reporting 2017-04-08 23:19:07 +02:00
cpfeiffer
4a4a1e25df Properly format the sleep goal as a duration, not as a time
Also suppress trailing zeros, e.g. display
8h instead of 8h 0m
2017-04-08 23:16:33 +02:00
Alberto
155ce5be02 Font size bar chart (#645)
Increas font size bar chart

small fix that improves the readability of the values on bar charts
2017-04-08 22:58:58 +02:00
cpfeiffer
2feb3bed47 Reduce animation time from 350ms to 250ms
(seemed a bit laggy to me)
2017-04-08 22:52:22 +02:00
Daniele Gobbetti
48728cbb50 Implement recyclerView in the AppBlackListActivity.
This allows to implement a search functionality (in the future)
2017-04-08 22:26:12 +02:00
Daniele Gobbetti
5c0c5581bb Merge branch 'master' into background-javascript
# Conflicts:
#	app/src/main/assets/app_config/js/gadgetbridge_boilerplate.js
#	app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/AbstractDeviceCoordinator.java
#	app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/DeviceCoordinator.java
2017-04-08 21:16:01 +02:00
Daniele Gobbetti
16cff936d3 Pebble: do not show the battery state in the control center
- the mapping voltage<->percentage is probably family dependent (or perhaps even device dependent!)
- the values are often outdated by more than one hour, this could yield to issue reports which are false positive
2017-04-08 18:46:39 +02:00
Daniele Gobbetti
018c2a971e Show the list of alarms as (material design) cards 2017-04-08 18:44:15 +02:00
Daniele Gobbetti
dd5ee03932 Set the right color for the Pie charts entry labels.
Closes #647 by showing the text also on the light theme, instead of hiding it everywhere.
2017-04-08 15:50:13 +02:00
Daniele Gobbetti
2e98b1396f Do not override the android:* text colors, define our own. This fixes a crash on API 19.
Also define them in the attrs xml file and do some grouping in the colors xml.
It might be we don't need them at all, but for the time being let's keep them around.
2017-04-08 15:49:00 +02:00
Daniele Gobbetti
5a019c238a Hide the dateBar but don't set it as gone, this prevents charts from changing size when swiping. 2017-04-08 15:16:35 +02:00
cpfeiffer
60ed9ca373 Remove default intent actions out of if-condition 2017-04-07 21:55:47 +02:00
cpfeiffer
202ae53d71 Ensure that a newly discovered and initialized device will be displayed
Fixed a race condition between ACTION_DEVICE_CHANGED event handlers:
- DeviceCommunicationService added the device to the database
- DeviceManager notified the views to be refreshed

When the latter happened before the former, thew new device would not
be displayed.

=> Let DeviceManager do both.
2017-04-07 21:17:37 +02:00