Commit Graph

56 Commits

Author SHA1 Message Date
Marvin W 895c74d095
Huge merge/refactor/update 2020-07-08 22:49:27 +02:00
Marvin W db4bb568e1
Run GCM services as foreground service if needed
That's when we run with battery optimizations disabled but not in foreground
2019-12-04 23:14:58 +01:00
voidstarstar 5875ab752b Move some expensive reflection calls to onCreate 2019-04-22 19:56:51 +02:00
voidstarstar 60023887d1 Temporary whitelist support for Doze (#732)
Fixes #338 

Co-Authored-By: @ccaapton <6211551+ccaapton@users.noreply.github.com>
Co-Authored-By: @ale5000-git <15793015+ale5000-git@users.noreply.github.com>
2019-04-21 16:39:18 +02:00
Moritz Horstmann 652d7a9104 Include GCM message ID in app message intent 2019-04-20 15:09:58 +02:00
voidstarstar 7b651aaaad Unregister app if fully removed or data is cleared
This fixes a bug where apps were not properly unregistered on Android
8.0+ systems. Also update the log message.
2019-04-13 10:44:41 +02:00
Marvin W 719cd51d3d
Push Messaging: Handle more edge cases, fix some apps not showing up as registered 2018-09-21 21:44:43 +02:00
Marvin W 7bbdcac990
Handle NetworkInfo being null 2018-08-28 14:18:26 +02:00
Marvin W f94d140dea
Only require C2D_MESSAGE permission when defined 2018-08-28 14:13:49 +02:00
Marvin W 9e0ee103a1
Fix push messaging registration for some apps 2018-08-28 14:13:49 +02:00
Marvin W d9e86d960d
Increase version code, update sublib and copyright header 2017-06-13 00:34:09 +02:00
Marvin W b0a06e7d7d
gcm/iid: add request id to iid responses
was optional before but is required for firebase iid
- fixes bug with riot dev version reported in #313
- might be related to comment 2 in #322
2017-05-01 13:15:19 +02:00
Marvin W 01f154dcdb
Configure GCM by network type and automatically learn ping interval
Related to: #187 #192
2017-05-01 13:15:18 +02:00
Marvin W d99fa7e86f
Directly start/stop GCM service if setting is changed in UI 2017-02-08 14:17:17 +01:00
Marvin W 050a78569d
Add FLAG_ACTIVITY_NEW_TASK when showing permission dialog for GCM, fixes #270 2017-01-15 22:53:17 +01:00
Marvin W 05a8b44f2d
Various fixes
related to #86, #164, #242
2016-12-23 19:02:05 +01:00
Marvin W ef9e9b0921
GCM: fix display of uninstalled apps, do not allow registration if GCM is disabled (it won't succeed anyway) 2016-12-02 16:44:50 +01:00
Marvin W 97f4c82172
GCM improvements
- Add upstream message support (#228)
- Improve support for 7.0+ (#226)
- don't start closed apps if disabled (#230)
- ask after denying registered app (#230)
- automatically unregister apps on uninstall
2016-11-20 20:37:31 +01:00
Marvin W 5316e0220a
Squashed commit
- Update all submodules, used sdk version, etc
- Settings UI rebuild
- Some GCM features and fixes
- Fix newest Cast Framework for some apps (tested with "ZDF Mediathek")

Fixes #224, #223, #145
2016-11-16 01:03:17 +01:00
Marvin W db93985e28
Fixup 33a6137 2016-09-17 02:22:04 +02:00
fiaxh 33a6137aec
Screen showing GCM registered apps + infos + unregistration option 2016-09-17 01:43:50 +02:00
Marvin W 6b9fc62bac
Set default gcm heartbeat interval to 5m 2016-08-29 18:00:18 +02:00
Marvin W 70119087fe
Ensure all threads to be closed
Fixes possible OOM error
2016-05-18 14:10:17 +02:00
Marvin W 016d2ca3f4 Refactor GCM Service, fix #129 2016-05-12 01:07:22 +02:00
Marvin W 60b2eaec25 Add support for collapse_key
related to #104
2016-04-18 10:29:52 +02:00
Marvin W 2a394f98aa Various changes
- Extend Wear support
- Rework Gms Services
- Fix ProGuard
- Add Waze to Google Whitelist (as in original Play Services, fixes #116)
2016-04-14 21:55:07 +02:00
Marvin W 16142899fc Checkin before registering for push 2016-03-23 22:42:53 +01:00
Marvin W 67b1ac74e8 Various small fixes
- Add two Google signatures to acceptable apps. Likely to increae this further
- Fix small change in GCM unregistering
- Modify intent delivery for GCM, related to #75 and #84
- Lint fixes
- Update Travis CI config
2016-02-08 03:38:07 +01:00
Marvin W fbfb6c088a Merge branch 'master' of github.com:microg/android_packages_apps_GmsCore 2016-01-27 01:39:31 +01:00
Marvin W 8fa0515bf6 Squashed commit:
- Update build tools
- Update sublibs
- Add proper PlacePicker, fixes #65
- Add selfcheck
- Improvements to MCS connection, related #31 #54
- Do not crash when permission to GPS is not granted
- Various smaller fixes
2016-01-27 01:36:48 +01:00
Michael Hamann 48809464a7 McsService: only send to the output stream if it is alive
The output stream handler thread might not be alive, this occurs
reproducibly when connecting fails and a tear down is initiated.
Messages shouldn't be sent when the output handler thread is not alive
(triggers an expection which is catched but logged), this check avoids
this unless some special race condition occurs. Dropping the messages
shouldn't hurt (they were dropped anyway).
2016-01-17 15:56:03 +01:00
Michael Hamann 3636f18d84 McsInputStream: terminate if error occurred
This terminates the input stream when an error occurred and does not
wait for the handler thread in the McsService to send the interrupt
signal.

This hopefully fixes a situation that I had where tear down messages
were created in a busy loop because of repeatedly reading -1 from the
input (I don't know how it got into the situation as the log was filled
with the messages from the tear down).
2016-01-17 15:44:00 +01:00
Marvin W affce9dc23 Set FLAG_INCLUDE_STOPPED_PACKAGES on GCM intents
Related to #75 #31
2016-01-12 20:59:39 +01:00
Michael Hamann 5fd376de7a GCM: Consider connection to be dead without ack messages
This stores the timestamp of the last ack message that has been
received. The connection is considered to be dead if the last ack
message has been received more than twice the configured interval ago.
2016-01-11 20:54:25 +01:00
Michael Hamann e264144aea GCM: Wake with exact guarantees for heartbeat
This changes how the alarms for heartbeat pings are scheduled. Instead
of a repeating, inexact alarm that may be delayed (at least up to 15
minutes), either an exact alarm (below Android 4.4) or an interval is used
which ensures that the alarm fires between half the configured interval
and the configured interval. This interval allows the OS to optimize
alarms a bit. For Android 6.0 further adjustments are probably
necessary.
2016-01-11 20:49:17 +01:00
mar-v-in 93645ca68f Make heartbeat interval adjustable #47 2015-12-04 11:26:59 -08:00
mar-v-in b6506209a9 Limit GCM Wakelock to 5s
fixes #53
2015-12-03 18:49:53 -08:00
lambdaupb 788eddc31e Reconnect Loop because of skipping backOff logic
currentDelay would stay 0 if error occurs in connect() method,
resulting in busy-loop on network failures.

Fix by always calling scheduleReconnect() which contains backoff logic.
2015-10-23 18:27:50 +02:00
mar-v-in 770a70821e Add from field to legacy C2DM support. 2015-10-20 19:04:01 +02:00
mar-v-in 766a6a1b47 Update portions of GCM implementation
- Fix bug causing unregister to be send multiple times
- More work related to #23, #29 and #31
2015-10-11 00:46:58 +02:00
mar-v-in 501866bb7d Add support for push notification unregistering 2015-10-04 17:53:52 +02:00
mar-v-in 1f67d1aad0 Automatically checkin after 12 hours 2015-10-04 00:15:24 +02:00
mar-v-in 40ca65bbf4 Huge Update
- Update Location APIs, fixes #37
- Update version number, fixes #38
- Enable long press input on WebView during login, fixes #34
- Extended log output and auto-repair for GCM connection, related to #29 and #31
- New icons
- Small quirks in Auth handling (required for Login to some applications)
2015-10-03 22:47:05 +02:00
mar-v-in 109856ffd0 Do not checkin "unknown" ABI, Fix Lint issues 2015-08-25 02:29:26 +02:00
mar-v-in 1a83f8281f Improve mcs connection
wake up device when reconnecting, fix teardown incomplete on null message (#24)
2015-08-17 23:28:01 +02:00
mar-v-in c826702bb9 Update build tools and upstream, fix issue described in #24 2015-08-17 01:03:06 +02:00
mar-v-in bd69c16c62 Various fixes
Fixes #24
2015-08-06 17:38:46 +02:00
mar-v-in 331813ce3c Update maps, rework MCS
MCS rework related to #23 and #24
2015-08-04 13:05:47 +02:00
mar-v-in e1b757de3e Various fixes, Checkin (dependency for GCM) is still broken!
Fix lint (fixes #20)
(hopefully) Fix mcs loop (could cause high battery drain)
Show link to UnifiedNlp in settings (mentioned in #10, @XDA)
Add extended description for settings (mentioned @XDA)
2015-07-04 13:47:27 +02:00
mar-v-in e4b9198dc7 Update sublib, remove unnacessay file 2015-04-05 16:42:32 +02:00