- 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
- 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
- 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
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).
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.
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.
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.