From 81fcb029746b7f04bfd20e0ae8eeed5ee364617a Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Mon, 29 Jul 2024 00:48:16 +0200 Subject: [PATCH] OpenTidalCoverProvider: Only login when required Fixes #1500 --- src/covermanager/opentidalcoverprovider.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/covermanager/opentidalcoverprovider.cpp b/src/covermanager/opentidalcoverprovider.cpp index 42c1e9c9..f37287c8 100644 --- a/src/covermanager/opentidalcoverprovider.cpp +++ b/src/covermanager/opentidalcoverprovider.cpp @@ -121,22 +121,18 @@ void OpenTidalCoverProvider::LoadSession() { login_time_ = s.value("login_time", 0).toLongLong(); s.endGroup(); - if (!token_type_.isEmpty() && !access_token_.isEmpty() && login_time_ > 0 && expires_in_ > 0) { + if (!token_type_.isEmpty() && !access_token_.isEmpty() && (login_time_ + expires_in_) > (QDateTime::currentDateTime().toSecsSinceEpoch() + 30)) { have_login_ = true; } - qint64 time = expires_in_ - (QDateTime::currentDateTime().toSecsSinceEpoch() - login_time_) - 30; - if (time < 10) { - have_login_ = false; - time = 10; - } - login_timer_->setInterval(static_cast(time * kMsecPerSec)); - login_timer_->start(); - } void OpenTidalCoverProvider::FlushRequests() { + if (have_login_ && (login_time_ + expires_in_) < QDateTime::currentDateTime().toSecsSinceEpoch()) { + have_login_ = false; + } + if (!have_login_) { if (!login_in_progress_) { Login();