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
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
805a38ae3c
Merge branch 'notification-refactor'
2017-05-08 22:22:34 +02: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
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
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
License Bot
8af9054f2d
Update license headers
2017-04-26 00:14:25 +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
fae116d1bd
Add Calendar related tests (WIP)
2017-04-24 13:50:53 +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
2003d56190
Cleanup package blacklist handling
...
Didn't find a cause for #664 , though.
2017-04-22 16:59:55 +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
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
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
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
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
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
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
Andreas Shimokawa
742615c6f4
prevent rare NPE in onNotificationRemoved()
2017-04-02 00:04:55 +02:00
Andreas Shimokawa
7a6b0ed2b0
support material fork of K9
2017-03-16 17:24:15 +01:00
License Bot
e392fbfd80
Add license header to all java files.
2017-03-10 14:53:19 +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
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
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
cpfeiffer
0042ffc514
Set the notification ID on alarm start
2017-02-10 22:52:55 +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
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
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
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
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
13af1c1e11
Ignore Gadgetbridge's own notifications
...
Fixes #411
2017-01-27 00:23:45 +01:00
Daniele Gobbetti
26a349210e
Pebble: make the text in the dummy weather configuration activity visible.
2017-01-15 18:19:30 +01:00
Andreas Shimokawa
d9d153c463
move WeatherNotificationConfig.java to its previous location to fix a crash
2017-01-15 12:43:26 +01:00
Andreas Shimokawa
ce67bf2c52
Pebble: make the feature to automatically delete notifications from the pebble optional
...
(This is not pebble specific at all but as long as other devices do not use that it will stay in the Pebble specific preference screen)
2017-01-15 00:10:40 +01:00
cpfeiffer
1e24fa7ad8
Dummy weather notifucation config activity
2017-01-14 00:26:47 +01:00
Andreas Shimokawa
fda317671a
Ignore summary information for k9 mail
...
(#373 )
2017-01-09 18:34:22 +01:00
Andreas Shimokawa
8c0f5599a1
Do not try to remove notifications from the device in some obvious cases
2017-01-09 16:49:11 +01:00
Andreas Shimokawa
3644d5e7a6
Pebble: remove notifications when dismissed on the phone ( #326 )
...
Most of the code is generic, so it could be implemented by other devices.
I dont know what happens if multiple messages arrive in the same notification.
So, this is experimental.
2017-01-09 16:33:00 +01:00
Hasan Ammar
0ba377bb42
Show K9 message body in notifications
2017-01-02 19:03:02 -05:00
Andreas Shimokawa
984e639e97
Pebble: push current weather to TimeStylePebble again when watchface gets started
2016-12-31 19:17:08 +01:00
Andreas Shimokawa
266c6b8817
Pebble: send weather to Pebble when we get notified by weather notification
2016-12-31 15:56:05 +01:00
Andreas Shimokawa
bcb522d2d0
Merge branch 'master' into feature-weather
2016-12-27 13:51:39 +01:00
Andreas Shimokawa
440a5e071f
Try to support "Subsonic" android app ( #474 )
2016-12-26 23:53:24 +01:00
Andreas Shimokawa
6af95d99be
Merge branch 'master' into feature-weather
2016-12-24 23:06:21 +01:00
Andreas Shimokawa
b5225145d4
Fix crash with unknown notification sources on Mi Band (maybe other non-Pebble devices also affected)
...
Pebble low level code had an own check for notification type being null, no we set it to UNKNOWN early
This regression was introduced in 0.15.0 though "Revamp Notification types Pebble (#453 )"
Fixes #468
2016-12-24 22:00:24 +01:00
Andreas Shimokawa
2148b431ea
Merge branch 'master' into feature-weather
2016-12-19 23:32:53 +01:00
Daniele Gobbetti
846c74aa86
Forward also group summary notifications, if they contain wearable actions. Hopefully helps with #456
...
Tested with conversations and there is no regression. Also a specific workaround for telegram was removed, hopefully this does not break #395
2016-12-18 18:00:16 +01:00
Daniele Gobbetti
f1965c7b00
Log the flags also when passing the notification to device #456
2016-12-18 11:03:54 +01:00
Daniele Gobbetti
861c655b5d
Log the incoming notification flags.
...
Should help further diagnosing #456
2016-12-18 10:40:30 +01:00
Andreas Shimokawa
f74bb4e3f3
Merge branch 'master' into feature-weather
2016-12-12 09:05:19 +01:00
Daniele Gobbetti
bb5791485c
Add log statements when notifications are not sent to gadget
...
This should help debuggin #456
2016-12-11 22:48:12 +01:00
Andreas Shimokawa
efb1cd389b
Merge branch 'master' into feature-weather
2016-12-09 21:52:55 +01:00
Andreas Shimokawa
17b581022b
optimize imports
2016-12-09 20:14:17 +01:00
Kevin Richter
34296c021f
Revamp Notification types Pebble ( #453 )
...
* Remove notification switches for enum & hashmap
* Fix code style
* Fix null reference exception
* Add whatsapp support
* Remove duplicate entry
2016-12-09 17:54:19 +01:00
Uwe Hermann
0746aaa579
app: Random typo and consistency fixes.
2016-12-01 20:22:12 +01:00
Daniele Gobbetti
16c4f1a5ca
Pebble: add toggle to use last known location for sunrise and sunset
...
This adds the feature discussed in #415 , the used location is the last recorded by the network location provider, if it's not available then the stored location is used.
2016-11-06 15:42:52 +01:00
Julien Pivotto
67937dd6ee
Mark 3rd party facebook apps notifications as Facebook
...
- Toffeed: https://f-droid.org/repository/browse/?fdid=me.jakelane.wrapperforfacebook
- Slimsocial: https://f-droid.org/repository/browse/?fdid=it.rignanese.leo.slimfacebook
- MaterialFBook: https://f-droid.org/repository/browse/?fdid=me.zeeroooo.materialfb
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2016-10-28 07:23:54 +02:00
Andreas Shimokawa
cc2b22cfc7
prefer BIG_TEXT extra from notification only for email
...
(Some messengers accumulate messages in BIG_TEXT)
2016-10-19 18:38:26 +02:00
Andreas Shimokawa
336ffd5bf7
Extract EXTRA_BIG_TEXT instead of EXTRA_TEXT if available.
...
This makes K9 Mail usable with only using generic notifcations on Android >=5
(It shows the message preview now)
2016-10-18 23:44:00 +02:00
Andreas Shimokawa
cd195a5969
map more apps to notification types (icons and colors on the pebble)
2016-10-11 11:54:52 +02:00
cpfeiffer
92c629c351
Ranem NotificationType.UNDEFINED to UNKNOWN
2016-10-10 23:06:44 +02:00
Daniele Gobbetti
fabc52fdad
Don't forward group summary notifications to the wearable, they are meant for the android device only
...
Possibly also related to #395
2016-09-27 17:33:10 +02:00
Andreas Shimokawa
fd03dac5cd
Pebble: try to work around duplicate Telegram messages
...
(#395 )
2016-09-22 09:31:14 +02:00
Andreas Shimokawa
8080734470
Pebble: use telegram icon for telegram messages
...
also use the facebook icon for the official facebook app
(untested because we would never use facebook)
2016-09-21 21:31:23 +02:00
Andreas Shimokawa
ec1f539267
revert accidentially commited stuff
2016-09-11 00:38:26 +02:00
Andreas Shimokawa
053b9553bc
correct changelog (pebble health is also affected by userid and deviceid swapping)
2016-09-11 00:36:04 +02:00
Andreas Shimokawa
e1927733ba
remove special handling for conversations (latest release removed pebble messages)
2016-09-10 23:53:24 +02:00
cpfeiffer
f54163faeb
centralize quit() functionality in GBApplication
2016-07-08 22:35:52 +02:00
cpfeiffer
233a6155cc
Add class DeviceManager that provides access to the list of managed devices
...
Basically moved code out of ControlCenter to a separate class. Also provides
change events when the device list has changed, or changes to the device
state have occurred.
2016-06-18 23:35:34 +02:00
Andreas Shimokawa
f812fb1b1f
Improvements to MusicPlayback receiver
...
- Also send duration if "duration" extra is present
- If "playing" and "postion" extras are present send a music state update
treat previous state and current state as equal if position delta is <=2 seconds
(Neccessary for some players which update every second - the pebble however counts by itself)
2016-06-11 23:37:03 +02:00
Andreas Shimokawa
d1a62968f6
Do not send new audio metadata to device if nothing has changed
...
This prevents some players which send a metadata changed intent every second to drain the battery
2016-06-10 23:13:33 +02:00
Andreas Shimokawa
6de002c88b
also try to get track number and number of tracks from notifications
2016-06-10 22:20:55 +02:00
Andreas Shimokawa
66b5a21cf2
also gather music info from notifications when screen is off
2016-06-10 00:03:48 +02:00
Andreas Shimokawa
b0fe4b1519
also gather music info from notifications when screen is off
2016-06-09 23:39:00 +02:00
Andreas Shimokawa
9623449b6e
Merge branch 'master' into feature-weather
2016-06-09 23:15:23 +02:00
Steffen Liebergeld
c5262869d9
Use names for playstates
...
These names need to be mapped to device specific constants in the
device code.
2016-06-09 20:02:55 +02:00
Steffen Liebergeld
91f374edec
Revert ""duration" parameter in onSetMusicInfo uses microseconds"
...
The decision on granularity of APIs is up to the maintainers.
This reverts commit 204748c518
.
2016-06-09 20:02:55 +02:00
Steffen Liebergeld
204748c518
"duration" parameter in onSetMusicInfo uses microseconds
...
This is in line with Android, and saves some calculations (and thereby a
tiny little bit of battery life).
2016-06-08 20:43:46 +02:00
Steffen Liebergeld
fb71cdf55b
Add handling for media session notifications
...
Since Android 5.0, media players can have interactive notifications that
reside in the notification area, and offer up to 5 control buttons
(play/pause, next, previous, etc), and information about the currentlu
playing media file.
We use these notifications to get information about the currently
playing media file such as:
- artist
- track (title)
- album
- duration (length of the media file)
- play state (playing, paused, stopped)
- position
- play rate (how fast is the media file being played)
We then send this information up to the device.
On Pebble, the music app will display the title and the artist, as
well as a progress bar showing the current position. The progress bar is
animated when the media file is being played, and if it is being paused,
it displays a pause symbol.
This code will be skipped when GadgetBridge is run on a device with
Android version older than 5.0 (lollipop).
2016-06-08 20:41:43 +02:00
Andreas Shimokawa
98a0774fc2
Merge branch 'master' into feature-weather
2016-06-07 22:53:40 +02:00
Steffen Liebergeld
389a143bdb
Set music info for PocketCasts
...
PocketCasts tells about its current media state via notifications. This
patch tries to parse incoming notifications from PocketCasts and if
successful tells the device about it. Currently supported are track and
artist.
2016-06-07 19:34:37 +02:00
Andreas Shimokawa
a15d07858e
Sunset/Sunrise: always use UTC timezone for calendar operations
2016-05-31 13:03:15 +02:00
Andreas Shimokawa
0231e83ea3
try to fix duplicate/missing surise/sunset pins
2016-05-31 00:07:24 +02:00
Andreas Shimokawa
4533c80c95
make sure to only reconnect when device is in "waiting for reconnect state"
2016-05-29 21:44:43 +02:00
Andreas Shimokawa
2e8d96e995
add option to enable sunrise/sunset on the timeline
...
Also fix a small type Aquire -> Acquire
2016-05-29 21:29:27 +02:00
Andreas Shimokawa
b0e0aec465
fix typo
2016-05-26 15:20:27 +02:00
Andreas Shimokawa
7ef005f6a3
Allow getting the network location within pebble settings for sunrise/sunset calculation
...
It is also possible to set the location manually
On Android >=6 the required permission will be requested when pressing the button in settings.
2016-05-26 14:39:54 +02:00
Andreas Shimokawa
fa6100fcec
Merge branch 'master' into feature-sunrise
2016-05-26 13:11:03 +02:00