1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-12-02 15:02:56 +01:00
Commit Graph

2077 Commits

Author SHA1 Message Date
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
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
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
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
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
Andreas Shimokawa
b25bc66485 Allow Datalog handlers to return GBDeviceEvent[] 2017-03-28 09:51:06 +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
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
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
f1d07c83f6 Fix NPE #603 2017-03-18 11:41:47 +01:00
Andreas Shimokawa
fe07e09d41 Fix firmware installation on Pebble Time Round
Closes #602
2017-03-17 22:34:50 +01:00
Andreas Shimokawa
06c89b508e Merge branch 'master' into background-javascript 2017-03-16 18:01:51 +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
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
Andreas Shimokawa
a6bba1b094 In CCv2 allow to disconnect with long press in any state expect "not connected" 2017-03-13 22:27:59 +01:00
Andreas Shimokawa
09f3dad9ff Merge branch 'master' into background-javascript 2017-03-11 22:03:29 +01:00
Daniele Gobbetti
0ac77fc0a4 Remove the legacy ControlCenter and its usages. Add New GUI to the changelog. 2017-03-11 19:49:57 +01:00
Daniele Gobbetti
183d89dc47 Show the full changelog when selecting the Changelog entry in the navigation drawer.
Show a line separator between groups of icons in the navigation drawer.
2017-03-11 17:10:51 +01:00
Daniele Gobbetti
ecd2c166c2 Use constraintlayout for the cardview and few improvements.
Icons are now bigger.
"find device" is in the icon row
2017-03-11 16:50:12 +01:00
Daniele Gobbetti
2c152e8447 Override textColorPrimary and not textColor as it conflicts with support libraries (e.g. snackbar text).
Further, use textColorPrimary in the graphs instead of textColor.
2017-03-11 16:48:55 +01:00
Daniele Gobbetti
8117caf73c Merge branch 'master' into new_GUI 2017-03-11 16:44:16 +01:00
Andreas Shimokawa
33bf2994a9 Merge branch 'master' into background-javascript 2017-03-11 11:36:00 +01:00
Andreas Shimokawa
fe870ebc77 Move step goal generic, show proper sleep goal in weekly sleep goal
It is now also accessible via "About You" but still remains in the Mi Band Settings
(because it has to be setup initially by a "wizard")
2017-03-11 11:34:03 +01:00
Daniele Gobbetti
a1af4a4599 Add classification for Squeaky Mail as mail app. Fixes #589 2017-03-11 10:23:57 +01:00
Translation Bot
a14e14eeb9 Merge branch 'master' into background-javascript 2017-03-10 23:14:40 +01:00
Translation Bot
05a28cc580 Pebble: Fix screenshots for Android N
This was a regression only in master since we switched to SDK 25

This commit also fixes all other warnings with AbstractDeviceSupport.java
2017-03-10 23:10:40 +01:00
License Bot
e392fbfd80 Add license header to all java files. 2017-03-10 14:53:19 +01:00
Daniele Gobbetti
a566a6656c Fix line endings (no content changes) 2017-03-10 13:43:47 +01:00
cpfeiffer
6282597790 Handle BT issues with discovered characteristics
It occurred to me that onServicesDiscovered() was called multiple times
whenever I connected to my Mi Band 2. Either the band actually sent the
characteristics in multiple chunks or Android itself notified multiple
times.

So we gracefully handle this by
- updating the list of characteristics
- *not* initializing the device again when it *is* already initialized
or at least initializing.
2017-03-09 22:49:13 +01:00
Translation Bot
3abbe12b53 Merge branch 'master' into new_GUI 2017-03-08 21:42:52 +01:00
Andreas Shimokawa
b3c0f4e9fd Pebble: fix own fake response if units=metric was in original request 2017-03-08 11:00:46 +01:00
Andreas Shimokawa
453f94f8f6 Pebble: add cod=200 to fake owm json response (fixes TimeStyle cheking the response code) 2017-03-08 10:46:33 +01:00
Andreas Shimokawa
942984dec2 Merge branch 'master' into background-javascript 2017-03-08 10:24:31 +01:00
cpfeiffer
9411f80440 Mi2: support for updating firmware fonts (*.ft, *.ft.en)
This is related to #560, but alas is not sufficient for enabling text
notifications.
2017-03-07 23:26:41 +01:00
cpfeiffer
2b17d7fb14 More cleanup 2017-03-07 00:06:35 +01:00
cpfeiffer
31e0e9a5f7 Mi2: More internal cleanup from initial Mi1 copy&paste 2017-03-05 21:45:39 +01:00
cpfeiffer
f6bee00582 Mi2: some internal cleanups/renamings 2017-03-05 21:27:47 +01:00
cpfeiffer
c56b655b48 Mi2: send text notification for mi2 only, not mi1a 2017-03-05 10:43:19 +01:00
cpfeiffer
88b35c6eec Mi2: rename some constants + add two 2017-03-05 10:43:19 +01:00
Yaron Shahrabani
858eaa6690 Added Hebrew transliteration and tests (#571) 2017-03-04 22:08:24 +01:00
Daniele Gobbetti
75d4abc9dc Pebble background webview: bring back the mutableContextWrapper, otherwise inputs aren't working.
Reliably go back to first step of the configuration page when closing (this causes a Toast when closing the activity while in the clay settings page)
2017-03-04 20:43:32 +01:00
Daniele Gobbetti
f84c651c38 Pebble background webview: config page should be shown reliably now. 2017-03-04 19:46:18 +01:00
cpfeiffer
58e2538c4e Discovery: handle the case where a device is already bonded 2017-03-04 16:03:36 +01:00
Andreas Shimokawa
21b90d1e6e Merge branch 'master' into background-javascript 2017-03-04 13:27:34 +01:00
Andreas Shimokawa
90c61cb71c Merge branch 'master' into background-javascript 2017-03-04 13:24:44 +01:00
cpfeiffer
09967b2006 Mi2: follow 12h/24h system configuration
=> Remove custom preference option, #573
2017-03-03 22:32:54 +01:00
cpfeiffer
82ea5702c5 Mi2: configurable time format (12h/24h)
Fixes #573
2017-03-03 22:14:28 +01:00
cpfeiffer
4419200624 Mi2: Initial support for textual notifications #560 2017-03-03 20:12:43 +01:00
Andreas Shimokawa
a90e0074fc Change weekly sleep charts to display sleep from 12:00-12:00 instead of 0:00-0:00 2017-03-03 17:33:00 +01:00
Andreas Shimokawa
50f3ee73fc Merge branch 'master' into background-javascript 2017-03-03 14:28:38 +01:00
Andreas Shimokawa
9b2f47d10a Improvements to week sleep chart
Time to close #557
2017-03-03 14:21:59 +01:00
Daniele Gobbetti
76be0ae676 Pebble background webview improvements:
remove the pre-KITKAT checks as the minsupportedversion is KITKAT
fix the currentPosition override
move the returned configuration parsing to onResume method (where it was previously) as it seems more reliable
pass the whole GBDeviceEventAppMessage object, this way the jsInterface in the webview doesn't need to be static anymore
change the way the webview is initialized, this way the context doesn't need to be static anymore
use runOnUiThread instead of the Handler .. MainLooper to post the commands to the webview instance
comment a couple of custom message handler for weather as the watchapp seem to work well with JS alone
add a couple of log messages for debugging

known issue: legacy app configuration pasting does not work.
2017-02-28 21:11:26 +01:00
Andreas Shimokawa
593b169f00 Pebble: Put icon into fake weather response, disable mario time native handler (since it works a bit now) :) 2017-02-27 22:28:42 +01:00
Andreas Shimokawa
181b33d6be Merge branch 'master' into background-javascript 2017-02-27 22:11:41 +01:00
Daniele Gobbetti
ca73d0c2d4 Add mapping to weather icons 2017-02-27 21:45:10 +01:00
Daniele Gobbetti
21498bd2e9 Pebble: mimic openweatherapi response from our cached data.
This should allow watchfaces using openweathermap to run without modification (but we lack the icon ATM). Tested with multifit watchface.

Also centralize the location data in own local class and remove leftover comment.
2017-02-27 19:02:34 +01:00
cpfeiffer
19b0e5e801 Centralize icons for devices 2017-02-26 22:46:49 +01:00
Andreas Shimokawa
ac1875eea0 Charts: In "Sleep a week" chart display light and deep sleep as stacked bars 2017-02-26 21:41:27 +01:00
Daniele Gobbetti
ca8e0db078 Merge branch 'master' into background-javascript 2017-02-26 17:57:37 +01:00
Daniele Gobbetti
a545c56680 Pebble: ack the messages that go to the webview and do not destroy it on disconnect. 2017-02-26 17:57:26 +01:00
Daniele Gobbetti
176cf79cc1 Merge branch 'master' into new_GUI
# Conflicts:
#	app/build.gradle
2017-02-26 16:55:54 +01:00
Andreas Shimokawa
8b39ef3a52 Speedup for charts by caching aggregated sleep amounts and steps for maximum 32 days 2017-02-26 00:40:50 +01:00
cpfeiffer
53dbc54041 Only start the webview when needed 2017-02-25 22:02:40 +01:00
cpfeiffer
234beace29 Some fixes for the background webview 2017-02-25 21:50:05 +01:00
cpfeiffer
711800f3d0 Collaborative attempt to initialize the background webview on startup 2017-02-25 18:01:08 +01:00
Daniele Gobbetti
a4ac108287 Pebble: merge master moving the location override to WebViewSingleton 2017-02-25 15:44:37 +01:00
Daniele Gobbetti
6c993d40aa Merge branch 'master' into background-javascript
# Conflicts:
#	app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/ExternalPebbleJSActivity.java
2017-02-25 15:26:55 +01:00
Daniele Gobbetti
e7846f4754 Pebble: override the native navigator.geolocation GetCurrentPosition
The native method requires FINE location permission, and we don't have it. Further we should handle the runtime permission request.
2017-02-25 13:31:48 +01:00
Andreas Shimokawa
772a22f78b Merge branch 'master' into background-javascript 2017-02-25 13:02:07 +01:00
Daniele Gobbetti
2eb43fa740 Pebble: Fix for week sleep chart amounts (the colors are still wrong) 2017-02-25 12:52:24 +01:00
Andreas Shimokawa
08080b02bb Drop support for legacy (pre 0.12.0) database 2017-02-23 22:44:44 +01:00
cpfeiffer
49e1b55ad8 Format center-text for week-sleep-pie 2017-02-23 21:15:57 +01:00
Andreas Shimokawa
437ec6c9b7 Minor improvements to the WIP week sleep chart 2017-02-23 08:50:31 +01:00
cpfeiffer
337bfa1938 Handle button presses and log them
See #556
2017-02-21 21:41:21 +01:00
Andreas Shimokawa
e9cb5fd374 WIP sleep in a week chart
Displays minutes which is confusing
Only displays deeps sleep (no idea why)
Is green (which is also confusing)
2017-02-21 16:20:42 +01:00
Andreas Shimokawa
2dbda6138b Pebble: some cleanups and simplifications for datalogging via PebbleKit 2017-02-20 22:09:00 +01:00
Andreas Shimokawa
ad9cfae6f9 Pebble: Pass datalog creation timestamp to PebbleKit, properly announce PebbleKit datalogging support 2017-02-20 08:47:42 +01:00
Andreas Shimokawa
946ed5f000 Pebble: First shot at implementing dataloggin for PebbleKit apps
Closes #497
Could help #316
2017-02-19 23:02:55 +01:00
cpfeiffer
e5d09b9fa2 Automatically start the service on boot (can be turned off)
Fixes #9
2017-02-17 23:24:44 +01:00
Avamander
23f2dd35d4 Extract music shuffle and repeat states and set the song progress to auto-update. (#554) 2017-02-17 09:01:37 +01:00
Andreas Shimokawa
a26563d6c7 Pebble: also acknowledge PebbleKit intents with transaction_id -1
I don't understand why this should be necessary but for some 3rd party apps it helps (#509)
2017-02-13 22:27:37 +01:00
Andreas Shimokawa
1d1edd41d7 Pebble 2/LE: remove a sleep which might be no longer necessary
Will speedup data transfer
2017-02-12 23:13:24 +01:00
Avamander
fea31924ba Music data handling improvements (#550)
* Fixed extracting the track length.

* Added current track and total track count.

* Few small changes to make sure everything gets updated properly.

* Remove unnecessary includes.
2017-02-11 09:49:01 +01:00
Andreas Shimokawa
5dfd40062f fix previous commit 2017-02-10 23:16:36 +01:00
Andreas Shimokawa
f956d94181 Pebble: make sure to not display "open on phone" and "dismiss" when the source of a notification was our AlarmClockReceiver 2017-02-10 23:11:21 +01:00
Andreas Shimokawa
ee28ccd4fe Pebble: add a dev option to always and immediately ACK PebbleKit messages to the watch
Might help #509
2017-02-10 23:07:36 +01:00
cpfeiffer
0042ffc514 Set the notification ID on alarm start 2017-02-10 22:52:55 +01:00
cpfeiffer
89bf63d540 Implement hashCode() when you implement equals()! 2017-02-10 00:32:03 +01:00
Andreas Shimokawa
f35e3e460d remove K9 receiver as is works better with generic notifications 2017-02-09 17:35:46 +01:00
Andreas Shimokawa
c0076b20d3 fix copy and pasta error 2017-02-09 17:24:07 +01:00
Andreas Shimokawa
5bb1995eb9 Pebble: fix privacy mode title being "null" in some cases 2017-02-09 17:10:39 +01:00
Andreas Shimokawa
436a7ddb24 Pebble: fix alarm notifications only working one
id -1 means undefined, everything else is liked to a real android notification
2017-02-09 15:07:00 +01:00
cpfeiffer
4f0674d038 Support for alarm clock notifications for Mi1 + Mi2 #538
No support for Pebble and HPlus for now.

Atm relies on the CM deskclock alarm, which nicely broadcasts
events about the current alarm. See
https://github.com/CyanogenMod/android_packages_apps_DeskClock.git
2017-02-07 23:49:10 +01:00
Andreas Shimokawa
e2b3394900 made caller privacy pebble setting generic 2017-02-07 10:15:23 +01:00
Andreas Shimokawa
b6852308b7 Merge pull request #546 from jpbarraca/hplus-preferences
HPlus: add device specific preferences and icon
2017-02-06 18:50:40 +01:00
Andreas Shimokawa
32a326c24b Merge pull request #543 from jpbarraca/hplus-alarm-clear
HPlus: Clear Alarms
2017-02-06 18:49:28 +01:00
João Paulo Barraca
475426c0ed Merge branch 'master' into hplus-preferences 2017-02-06 01:39:45 +00:00
João Paulo Barraca
a3cc84c01d HPlus: add device specific preferences and icon 2017-02-06 01:33:15 +00:00
João Paulo Barraca
bf8ae5d5af HPlus: Add constant ARG_ALARM_DISABLE 2017-02-05 23:55:48 +00:00
João Paulo Barraca
644c06df68 HPlus: Clear alarms if no alarm is enabled 2017-02-05 23:52:36 +00:00
Andreas Shimokawa
030edef033 Merge pull request #541 from ivanovlev/master
Transliteration: capitalized just the first letter in the replacement
2017-02-05 22:59:03 +01:00
Andreas Shimokawa
b3cddebdbb Pebble: ensure a better error message if someone tries to install a FW 1.x pbw 2017-02-05 22:50:42 +01:00
Daniele Gobbetti
b7bad268c2 Pebble: support weather for Obsidian
Ref: #482
2017-02-05 17:21:04 +01:00
Daniele Gobbetti
dccd6c1b06 Pebble: implement privacy modes
The user can choose whether to completely hide the notification text or push it off-screen. This also effects the incoming call notification.
Fixes #370
2017-02-05 16:37:59 +01:00
Daniele Gobbetti
b894c01822 Make the media notification receiver more robust.
Sometimes the media notification does not contain the expected components, hence the code covered by the try/catch has been adjusted. This was reported in #533 for VLC.
In the future the whole media handling will probably be refactored.
2017-02-05 15:13:26 +01:00
ivanovlev
fd61dc602f Transliteration: capitalized just the first letter in the replacement text 2017-02-04 09:53:07 +03:00
João Paulo Barraca
006a23dfe8 HPlus: Fix time sync and Time format (12/24) 2017-02-03 19:30:59 +00:00
Andreas Shimokawa
22cf74bbd1 Merge pull request #532 from jpbarraca/alarm
HPlus: Working alarms and small cleanup
2017-02-03 14:02:29 +01:00
Daniele Gobbetti
e08a900978 Refactor the MusicPlaybackReceiver and related files
Add actions to the filter (this should help with #536)
Add "copy" constructors to MusicSpec and MusicStateSpec, and use those when receiving an updated intent, this way partial updates do not disrupt the local information.
Iterate over incoming extra keys, explicitly check the incoming type and use only known type. This could help with #533

Possible problem: this code iterates over every key of the incoming bundle.
2017-02-01 22:55:40 +01:00
João Paulo Barraca
f79e8f8833 HPlus: Working alarms and small cleanup 2017-01-30 23:37:47 +00:00
cpfeiffer
d030ad9400 Ups, remove accidental import from C&P 2017-01-29 23:06:40 +01:00
cpfeiffer
b157f84b83 Log connection attempt when BT is turned on 2017-01-29 22:56:56 +01:00
cpfeiffer
2ae4497261 Mi2: the only reason I can see for detecting MiBandSupport for Mi2
Fixes #529, hopefully
2017-01-28 23:25:15 +01:00
cpfeiffer
ec6a8b6743 MI: some more logging 2017-01-28 23:25:15 +01:00
cpfeiffer
6c16b4fb15 Updated initial array list size to reflect reality 2017-01-28 23:25:15 +01:00
cpfeiffer
4c48b473ac Show device type in GBDeviceCandidate.toString() 2017-01-28 23:25:15 +01:00