From dee09fb8fcaab9abcecb748be5b31088b9c2b987 Mon Sep 17 00:00:00 2001 From: Keegan McAllister Date: Wed, 2 May 2012 20:13:11 -0400 Subject: [PATCH] Update notification less often when disconnected for at least 60 s Saves battery power. Closes #243. --- src/frontend/terminaloverlay.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/frontend/terminaloverlay.cc b/src/frontend/terminaloverlay.cc index bbdd453..8c19386 100644 --- a/src/frontend/terminaloverlay.cc +++ b/src/frontend/terminaloverlay.cc @@ -286,7 +286,13 @@ int NotificationEngine::wait_time( void ) const next_expiry = std::min( next_expiry, message_expiration - now ); if ( need_countup( now ) ) { - next_expiry = std::min( next_expiry, uint64_t( 1000 ) ); + uint64_t countup_interval = 1000; + if ( ( now - last_word_from_server ) > 60000 ) { + /* If we've been disconnected for 60 seconds, save power by updating the + display less often. See #243. */ + countup_interval = Network::ACK_INTERVAL; + } + next_expiry = std::min( next_expiry, countup_interval ); } return next_expiry;