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