summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Andreas <github@smurfy.de>2015-04-19 19:16:57 +0200
committerPhilipp Andreas <github@smurfy.de>2015-04-19 19:16:57 +0200
commit5249184f2d4ec960f6bed6d3ff900e29916afc88 (patch)
tree53e0e91284db198dcf2111573084f1be8c450e00
parent8bb7a35eedd431f707ca6fb9134c35bace8e4b24 (diff)
- Started locker support
- Download also adds app/face to locker
-rw-r--r--app/pebblestoreview.cpp57
-rw-r--r--app/pebblestoreview.h3
2 files changed, 55 insertions, 5 deletions
diff --git a/app/pebblestoreview.cpp b/app/pebblestoreview.cpp
index 0ea5c14..bd906a7 100644
--- a/app/pebblestoreview.cpp
+++ b/app/pebblestoreview.cpp
@@ -65,9 +65,44 @@ void PebbleStoreView::fetchData(QUrl url)
this->m_networkManager->get(request);
}
+void PebbleStoreView::addToLocker(QJsonObject data)
+{
+ QUrl url(data.value("links").toObject().value("add").toString());
+ QString token("Bearer " + this->accessToken());
+ QNetworkRequest request;
+ request.setUrl(url);
+ request.setRawHeader("Cache-Control", "no-cache");
+ request.setRawHeader("Authorization", token.toUtf8());
+ this->m_networkManager->post(request, "");
+}
+
+void PebbleStoreView::removeFromLocker(QJsonObject data)
+{
+ QUrl url(data.value("links").toObject().value("remove").toString());
+ QString token("Bearer " + this->accessToken());
+ QNetworkRequest request;
+ request.setUrl(url);
+ request.setRawHeader("Cache-Control", "no-cache");
+ request.setRawHeader("Authorization", token.toUtf8());
+ this->m_networkManager->post(request, "");
+}
+
+void PebbleStoreView::showLocker()
+{
+ QUrl url(this->storeConfigObject.value("links").toObject().value("users/app_locker").toString());
+ QString token("Bearer " + this->accessToken());
+ QNetworkRequest request;
+ request.setUrl(url);
+ request.setRawHeader("Cache-Control", "no-cache");
+ request.setRawHeader("Authorization", token.toUtf8());
+ this->m_networkManager->get(request);
+}
+
void PebbleStoreView::onNetworkReplyFinished(QNetworkReply* reply)
{
- qDebug()<<"Download finished";
+ qDebug()<<"Download finished"<<reply->request().url();
+
+ //Config url
if (reply->request().url() == this->m_configUrl) {
QJsonDocument jsonResponse = QJsonDocument::fromJson(reply->readAll());
QJsonObject jsonObject = jsonResponse.object();
@@ -78,7 +113,16 @@ void PebbleStoreView::onNetworkReplyFinished(QNetworkReply* reply)
} else {
setUrl(prepareUrl(this->storeConfigObject.value("webviews").toObject().value("onboarding/get_some_apps").toString()));
}
- } else {
+ //Add download to locker
+ } else if (!this->downloadObject.isEmpty() && reply->request().url() == this->downloadObject.value("links").toObject().value("add").toString()) {
+ qDebug()<<reply->readAll();
+ this->m_downloadInProgress = false;
+ emit downloadInProgressChanged();
+ //Remove from locker
+ } else if (!this->downloadObject.isEmpty() && reply->request().url() == this->downloadObject.value("links").toObject().value("remove").toString()) {
+ qDebug()<<reply->readAll();
+ //PBW file
+ } else if (!this->downloadObject.isEmpty() && reply->request().url() == this->downloadObject.value("pbw_file").toString()) {
QDir dataDir(QStandardPaths::writableLocation(QStandardPaths::DataLocation));
QFile file(dataDir.absoluteFilePath("apps") + "/" + this->downloadObject.value("uuid").toString() + ".pbw");
file.open(QIODevice::WriteOnly);
@@ -86,9 +130,12 @@ void PebbleStoreView::onNetworkReplyFinished(QNetworkReply* reply)
file.close();
qDebug()<<this->downloadObject;
-
- this->m_downloadInProgress = false;
- emit downloadInProgressChanged();
+ this->addToLocker(this->downloadObject);
+ //Locker
+ } else if (reply->request().url() == this->storeConfigObject.value("links").toObject().value("users/app_locker").toString()) {
+ qDebug()<<reply->readAll();
+ } else {
+ qDebug()<<"Unknown download finished!";
}
}
diff --git a/app/pebblestoreview.h b/app/pebblestoreview.h
index a19b43d..3f186dc 100644
--- a/app/pebblestoreview.h
+++ b/app/pebblestoreview.h
@@ -47,6 +47,9 @@ private:
QUrl prepareUrl(QString baseUrl);
void fetchData(QUrl url);
+ void addToLocker(QJsonObject data);
+ void removeFromLocker(QJsonObject data);
+ void showLocker();
};
#endif // PEBBLESTOREVIEW_H