From 9dcec7258d2fc94883e6625c3c2bbbbaabb53c65 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Tue, 5 Dec 2017 18:31:22 +0100 Subject: [PATCH] fix logic when there are no paired devices yet --- libguh-core/awsconnector.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/libguh-core/awsconnector.cpp b/libguh-core/awsconnector.cpp index ffb2da78..434ecbb6 100644 --- a/libguh-core/awsconnector.cpp +++ b/libguh-core/awsconnector.cpp @@ -176,11 +176,14 @@ void AWSConnector::fetchPairings() void AWSConnector::onPairingsRetrieved(const QVariantList &pairings) { - QStringList topics; - foreach (const QVariant &pairing, pairings) { - topics << QString("%1/%2/#").arg(m_clientId).arg(pairing.toString()); + qCDebug(dcAWS) << pairings.count() << "devices paired in cloud."; + if (pairings.count() > 0) { + QStringList topics; + foreach (const QVariant &pairing, pairings) { + topics << QString("%1/%2/#").arg(m_clientId).arg(pairing.toString()); + } + subscribe(topics); } - subscribe(topics); if (readSyncedNameCache() != m_clientName) { setName(); @@ -413,11 +416,6 @@ ResponseCode AWSConnector::onSubscriptionReceivedCallback(util::String topic_nam qCWarning(dcAWS()) << "Received a pairing response for a transaction we didn't start"; } } else if (topic == QString("%1/device/users/response").arg(connector->m_clientId)) { - if (jsonDoc.toVariant().toMap().value("users").toList().isEmpty()) { - qCDebug(dcAWS()) << "No devices paired yet..."; - return ResponseCode::SUCCESS; - } - qCDebug(dcAWS) << jsonDoc.toVariant().toMap().value("users").toList().count() << "devices paired in cloud."; connector->staticMetaObject.invokeMethod(connector, "onPairingsRetrieved", Qt::QueuedConnection, Q_ARG(QVariantList, jsonDoc.toVariant().toMap().value("users").toList())); } else if (topic == QString("%1/device/name/response").arg(connector->m_clientId)) { qCDebug(dcAWS) << "Set device name in cloud with status:" << jsonDoc.toVariant().toMap().value("status").toInt();