Commit Graph

2400 Commits

Author SHA1 Message Date
Andreas Shimokawa 43fc3873bb bump version, update changelog 2017-04-27 07:46:30 +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
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 85511fb97f Updated translations from transifex (thanks!) 2017-04-25 22:03:55 +02:00
cpfeiffer b2a1805e4f Update changelog for 0.19.0 2017-04-25 22:02:57 +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
Andreas Shimokawa 839e350d1e Bump version, update CHANGELOG 2017-04-24 12:05:04 +02:00
Translation Bot b5255f2e2a update translations from Transifex (THANKS!) 2017-04-24 12:00:31 +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 63c640f471 Port off of deprecated API 2017-04-21 22:30:29 +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 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
Daniele Gobbetti d9769be78d Merge branch 'master' into feature-calendarsync 2017-04-17 20:06:44 +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
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
cpfeiffer c93e97f10f Shave ~600KB off the apk size with the help of a FrankenDAO
We use a patched version of greenDAO's DaoGenerator with a bugfix
and additional support for
- composite primary keys
- WITHOUT_ROWID

We used to use jitpack for including our own greendao dependency into
Gadgetbridge. Since jitpack does not know how to build a real greenDAO
release, it will simply include all artifacts, including ftl templates
etc. which we do not need at runtime at all.

We could fix this by patching greenDAO build, but we actually don't need
to do that, since we can simply use the pristine greenDAO runtime
dependency. It will happily use our custom DAOGenerator-generated
entities.
2017-04-10 21:44:00 +02:00
Andreas Shimokawa 3860c2f9c4 update changelog, bump versions 2017-04-09 22:39:50 +02:00
Translation Bot a5fdc90b6e update translations from transifex, thanks! 2017-04-09 22:35:46 +02: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
cpfeiffer bb98910e1c Update gradle to 3.4.1, pmd to 5.5.5 2017-04-08 23:59:00 +02:00
cpfeiffer 39c7c1aae3 Update robolectric to 3.3.2 2017-04-08 23:42:29 +02:00
cpfeiffer 4519f35ff1 Bump up versions of some dependencies 2017-04-08 23:38:12 +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
cpfeiffer c2f83fa857 Add changelog entries 2017-04-08 22:36:51 +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 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 bd833a37d4 Get rid of the v21 special style
We don't need it anymore since we are extending AppCompat.
2017-04-08 15:45:32 +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
Alberto de6ce1a3d7 Show all the detailed information in the CardView's overflow
Do not limit the height of the overflow list to 50dp.

It is possible that we will need to limit the maximum allowed height in the future.
2017-04-08 09:03:45 +02:00
Daniele Gobbetti 3004177f44 Update Changelog 2017-04-08 09:00:01 +02:00
Daniele Gobbetti cad777e4ce Pebble: always return the position after 10 tries. Fixes #643
This is a workaround for bugs in the javascript code of the configured watchfaces, that could fail to handle a returned failure properly and crash the webview / fill its stack.
2017-04-08 08:57:23 +02:00
Daniele Gobbetti df71d695c3 Pebble: pass an object to the ready event handlers
apparently also the ready event needs an object for some watchfaces. Reported in #643 (not the main report)
2017-04-08 08:50:18 +02:00
Daniele Gobbetti 4dbc255ad5 Pebble: return the current position to the caller of the getCurrentPosition function.
This fixes a bug introduced in d8894d315a that affects also #643.
2017-04-08 08:34:33 +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
cpfeiffer e1797fc9f7 When connecting for the first time, set "pair" to true 2017-04-07 00:40:33 +02:00
cpfeiffer 26ff7d67e3 Remove some now useless code 2017-04-07 00:11:25 +02:00
cpfeiffer d2053b32bf Small cleanup 2017-04-06 23:58:50 +02:00
Alberto f3edf7559d HPlus: added low battery information (#638)
HPlus: Notification of low battery

I added the notification of low battery HPlus ... specifically, I used
the HPlusConstants.DATA_STATS event on hplusSupport

I also included the status of the device in the list of
gbdevice -> getDeviceInfos
2017-04-06 23:55:29 +02:00
cpfeiffer 5b8624de71 Make pairing optional after discovery
See #642 which might be fixed by not pairing.
2017-04-06 23:47:35 +02:00
Andreas Shimokawa 3675386c13 Fix spider arms haging out of pie slices
Also make the Pie in week sleep chart look as the other pie chart in "Your Sleep"
2017-04-05 22:42:54 +02:00
Alberto 45eb14684b import export SharedPreferences (#600)
Import and export SharedPreferences

i add function for import and export SharedPreferences setting

when export or import db execute export or import SharedPreferences

for blacklist i preload HashSet
2017-04-05 00:16:17 +02:00
cpfeiffer f48729cc64 Pie Charts: some improvements wrt the labels
Still room for optimization.

Thanks to Alberto!
2017-04-05 00:08:17 +02:00
Daniele Gobbetti 8e780fa122 Add some space between the tabs and the chart legend. 2017-04-03 21:24:21 +02:00
Daniele Gobbetti 4ab39e2c00 Just applied automatic code formatting to all layout files. NO content change. 2017-04-03 21:09:35 +02:00
Daniele Gobbetti e556a65ff5 Change layout it to avoid duplicates.
It didn't cause any issue as this layout is not referenced anywhere.
2017-04-03 21:05:27 +02:00
Daniele Gobbetti 0573939c9e Lint: change marginRight to marginEnd 2017-04-03 21:03:31 +02:00
Daniele Gobbetti 96a49f0b7a Fix alignment of action icons and enable proper (vector) scaling. 2017-04-03 18:30:29 +02:00
Daniele Gobbetti d8894d315a Pebble: In the geolocation override, fail if the position is too old.
The previous logic was wrong as it was calling success every time. Further checks must be added for some watchfaces.
2017-04-02 22:34:22 +02:00
walkjivefly f0d81818b3 Swap deep and light sleep colours in charts
This partially "fixes" issue #442. The effect of the change is
purely cosmetic: deep sleep is (once again) dark blue, light sleep
is (once again) light blue.
2017-04-02 19:49:55 +02:00
Andreas Shimokawa e4c7a921ea Pebble: try to improve 70% to 60% battery level accuracy 2017-04-02 00:12:19 +02:00
Andreas Shimokawa 742615c6f4 prevent rare NPE in onNotificationRemoved() 2017-04-02 00:04:55 +02:00
cpfeiffer f2dca649a3 Update to mpandroidchart 3.0.2 2017-04-01 23:57:12 +02:00
walkjivefly f321a4bac5 Correct camel-case for mVisibleInActivity 2017-04-01 23:16:00 +02:00
Daniele Gobbetti e89ba529c3 Apply some Material design guidelines to the charts
- replace the PagerTabStrip with a TabLayout (moved to top and scrollable)
- move the date selection to the bottom
- do not update the activity title as the tab name is much more visible now
2017-04-01 17:47:54 +02:00
Daniele Gobbetti 9a0439c6e0 Apply some Material design guidelines to the app management
- replace the PagerTabStrip with a TabLayout (moved to top)
- change the row element to adhere to the guidelines wrt spacing
- move the FAB a bit and hide it when scrolling down, scroll up to reveal it again
2017-04-01 17:06:38 +02:00
Daniele Gobbetti db4e37d08b Make the drag handle less prominent (grey) 2017-04-01 15:45:30 +02:00
Andreas Shimokawa 173b4fbbe6 Add legend ans labels to weekly sleep charts
Also remove the "missing sleep" gray entry to avoid confusion
2017-03-31 23:42:25 +02:00
Daniele Gobbetti 8fccbe3b69 Pebble: implement battery display in control center
- extract the millivolts reading from the analytics datalog message and map to percentage
- mapping is manually made and is possibly wrong, but the values are commented
- the values are sent once per hour and are delayed, this might make the reading really inaccurate on pebble time round watches
2017-03-31 18:23:02 +02:00
Daniele Gobbetti f80215b37a Use standard recyclerview for app reordering
- allow dragging by using a drag handler (as per best practice)
- remove the custom draglistview dependency
- update to the latest android support libraries
2017-03-31 18:17:53 +02:00
Andreas Shimokawa 562049296c Pebble: fix datalogging
Was broken after 0.18.4
2017-03-30 23:01:40 +02:00
João Paulo Barraca ab3f6c0bbf Fixes #629 2017-03-30 14:45:02 +01:00
Andreas Shimokawa b25bc66485 Allow Datalog handlers to return GBDeviceEvent[] 2017-03-28 09:51:06 +02:00
Andreas Shimokawa 07272e5a68 update changelog, bump version to 0.18.4 2017-03-27 22:15:03 +02:00
Daniele Gobbetti 46501be249 Enlarge the "hit box" of each icon (replace some margin pixels with padding).
Fixes #615
2017-03-27 13:56:03 +02:00
Daniele Gobbetti 1813ec9378 Forbid landscape orientation on AlarmDetails activity.
Landscape mode triggers a bug in android DatePicker on devices with small screens.
Fixes #612
2017-03-26 20:29:57 +02:00
Daniele Gobbetti d550defcb3 Do not save an alarm as "smart" if the device does not support it (#612)
Opening the activity when a device that does not support smart alarms is connected hides the "smart alarm" toggle. This is now reflected also on the saved data.
This solution is not ideal in case of multiple devices but as long as #577 is not solved its the best we can do.
2017-03-26 17:57:03 +02:00
João Paulo Barraca 11b48e7a1a Set HPlus Sleep Intensity to 10% 2017-03-24 20:52:14 +00:00
João Paulo Barraca 75089d7cb4 Add HPlus and LiveView icons to level list 2017-03-24 18:10:05 +00:00
cpfeiffer da9742fd67 Mi1: Attempt to recognize Mi1 model with hwVersion = 8
Closes #364
2017-03-20 23:25:42 +01:00
cpfeiffer 14552a1a80 Disable live activity tracking when activity is paused
Fixes #496
2017-03-20 23:01:28 +01:00
cpfeiffer b97674ba85 Mi2: Display realtime steps in Live Activity #428
Thanks for the hint!
2017-03-20 23:01:28 +01:00
Andreas Shimokawa 7c63f92aaa Remove obsolte and unused code related to old and unsupported activity database 2017-03-20 22:27:17 +01:00
Translation Bot ad82a75312 update translations from transifex (thanks!) 2017-03-19 21:34:57 +01:00
Andreas Shimokawa abd79ef5c9 0.18.3 2017-03-18 17:22:40 +01:00
Andreas Shimokawa 5d042cf3c8 Fix weekly charts to display the same value for every day Android < 7
Closes #604
2017-03-18 17:13:35 +01:00
cpfeiffer cc159cf80f 0.18.2 2017-03-18 11:46:08 +01:00
cpfeiffer f1d07c83f6 Fix NPE #603 2017-03-18 11:41:47 +01:00
Andreas Shimokawa b2886b81c9 bump version, update changelog 2017-03-17 22:52:36 +01:00
Andreas Shimokawa fe07e09d41 Fix firmware installation on Pebble Time Round
Closes #602
2017-03-17 22:34:50 +01:00
Andreas Shimokawa 9eade33d72 Start VibrationActivity when using "find device" button with Vibratissimo
(The activity was inaccessible)
2017-03-16 17:38:13 +01:00
License Bot 6a842c52fa Update license header in all java files. 2017-03-16 17:36:15 +01:00
Andreas Shimokawa 7a6b0ed2b0 support material fork of K9 2017-03-16 17:24:15 +01:00
Andreas Shimokawa 408dd9c26f Do not try to request k9 permissions in CCv2, we dont need it 2017-03-16 17:20:18 +01:00
cpfeiffer f4e955dbe0 Updated changelog for 0.18.0 2017-03-15 23:42:30 +01:00
Translation Bot c1af01a155 update translations from transifex (thanks!) 2017-03-15 21:26:05 +01:00
cpfeiffer d408be5ec8 Mi2: make text/icon notifications confiurable and version dependent 2017-03-15 00:26:39 +01:00
cpfeiffer cf35e84feb Mi2: add hint about font installation for text notifications 2017-03-14 23:54:56 +01:00
cpfeiffer 5d96df3508 Mi2: add hint about intermediate firmware 1.0.0.53 2017-03-14 23:45:30 +01:00
cpfeiffer 2d60beea1f Mi2: added some more tested firmware/font versions 2017-03-14 22:59:48 +01:00
cpfeiffer e62a860ee6 Avoid potential NPE when neither name nor number are available 2017-03-14 22:03:30 +01:00
Alberto 6989ca9db3 Add privacy mode that hides the phone number (#588) 2017-03-14 21:45:36 +01:00
cpfeiffer 17ecee0cab Mi2: initial support for text notifications and icons
See #560
2017-03-14 00:45:54 +01:00
cpfeiffer 8fc6dfeca7 Improved AlertNotificationProfile
AlertLevel, AlertCategory, Control Point
2017-03-14 00:45:54 +01:00
cpfeiffer 4b230412b6 Some utility methods + tests 2017-03-14 00:45:54 +01:00