🐞 fix(_network): fix internet connection detection

This commit is contained in:
Eshan Roy
2024-11-22 06:21:14 +05:30
parent d5a93c15e9
commit 51780c91a3

View File

@@ -31,7 +31,35 @@ SnigdhaOSBlackBox::~SnigdhaOSBlackBox()
}
void SnigdhaOSBlackBox::doInternetUpRequest(){
QNetworkAccessManager* network_manager = new QNetworkAccessManager();
aut network_reply = network_manager->head(QNetworkRequest(QString(INTERNET_CHECK_URL)));
QTimer* timer = new QTimer(this);
timer->setSingleShot(true);
timer->start(5000);
//Try again fuction!
connect(timer, &QTimer::timeout, this, [this, timer, network_reply, network_manager]() {
timer->deleteLater();
network_reply->abort();
network_reply->deleteLater();
network_manager->deleteLater();
doInternetUpRequest();
});
connect(network_reply, &QNetworkReply::finished, this, [this, timer, network_reply, network_manager]() {
timer->stop();
timer->deleteLater();
network_reply->deleteLater();
network_manager->deleteLater();
if (network_reply->error() == network_reply->NoError) {
updateState(State::UPDATE);
}
else {
doInternetUpRequest();
}
});
}
void SnigdhaOSBlackBox::doUpdate(){