From c05954ee4b1155a04e3ed5cf055858387b83f025 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Tue, 25 Apr 2017 13:40:57 +1200 Subject: [PATCH] Add logAction() method to UserActivityLogger JavaScript API --- .../UserActivityLoggerScriptingInterface.cpp | 24 +++++++++++-------- .../UserActivityLoggerScriptingInterface.h | 5 ++-- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/libraries/networking/src/UserActivityLoggerScriptingInterface.cpp b/libraries/networking/src/UserActivityLoggerScriptingInterface.cpp index 9c29e87f16..ff69363570 100644 --- a/libraries/networking/src/UserActivityLoggerScriptingInterface.cpp +++ b/libraries/networking/src/UserActivityLoggerScriptingInterface.cpp @@ -13,28 +13,28 @@ #include "UserActivityLogger.h" void UserActivityLoggerScriptingInterface::enabledEdit() { - logAction("enabled_edit"); + doLogAction("enabled_edit"); } void UserActivityLoggerScriptingInterface::openedTablet(bool visibleToOthers) { - logAction("opened_tablet", { { "visible_to_others", visibleToOthers } }); + doLogAction("opened_tablet", { { "visible_to_others", visibleToOthers } }); } void UserActivityLoggerScriptingInterface::closedTablet() { - logAction("closed_tablet"); + doLogAction("closed_tablet"); } void UserActivityLoggerScriptingInterface::openedMarketplace() { - logAction("opened_marketplace"); + doLogAction("opened_marketplace"); } void UserActivityLoggerScriptingInterface::toggledAway(bool isAway) { - logAction("toggled_away", { { "is_away", isAway } }); + doLogAction("toggled_away", { { "is_away", isAway } }); } void UserActivityLoggerScriptingInterface::tutorialProgress( QString stepName, int stepNumber, float secondsToComplete, float tutorialElapsedTime, QString tutorialRunID, int tutorialVersion, QString controllerType) { - logAction("tutorial_progress", { + doLogAction("tutorial_progress", { { "tutorial_run_id", tutorialRunID }, { "tutorial_version", tutorialVersion }, { "step", stepName }, @@ -52,11 +52,11 @@ void UserActivityLoggerScriptingInterface::palAction(QString action, QString tar if (target.length() > 0) { payload["target"] = target; } - logAction("pal_activity", payload); + doLogAction("pal_activity", payload); } void UserActivityLoggerScriptingInterface::palOpened(float secondsOpened) { - logAction("pal_opened", { + doLogAction("pal_opened", { { "seconds_opened", secondsOpened } }); } @@ -68,10 +68,14 @@ void UserActivityLoggerScriptingInterface::makeUserConnection(QString otherID, b if (detailsString.length() > 0) { payload["details"] = detailsString; } - logAction("makeUserConnection", payload); + doLogAction("makeUserConnection", payload); } -void UserActivityLoggerScriptingInterface::logAction(QString action, QJsonObject details) { +void UserActivityLoggerScriptingInterface::logAction(QString action, QVariantMap details) { + doLogAction(action, QJsonObject::fromVariantMap(details)); +} + +void UserActivityLoggerScriptingInterface::doLogAction(QString action, QJsonObject details) { QMetaObject::invokeMethod(&UserActivityLogger::getInstance(), "logAction", Q_ARG(QString, action), Q_ARG(QJsonObject, details)); diff --git a/libraries/networking/src/UserActivityLoggerScriptingInterface.h b/libraries/networking/src/UserActivityLoggerScriptingInterface.h index b68c7beb95..b141e930f2 100644 --- a/libraries/networking/src/UserActivityLoggerScriptingInterface.h +++ b/libraries/networking/src/UserActivityLoggerScriptingInterface.h @@ -29,9 +29,10 @@ public: float tutorialElapsedTime, QString tutorialRunID = "", int tutorialVersion = 0, QString controllerType = ""); Q_INVOKABLE void palAction(QString action, QString target); Q_INVOKABLE void palOpened(float secondsOpen); - Q_INVOKABLE void makeUserConnection(QString otherUser, bool success, QString details=""); + Q_INVOKABLE void makeUserConnection(QString otherUser, bool success, QString details = ""); + Q_INVOKABLE void logAction(QString action, QVariantMap details = QVariantMap{}); private: - void logAction(QString action, QJsonObject details = {}); + void doLogAction(QString action, QJsonObject details = {}); }; #endif // hifi_UserActivityLoggerScriptingInterface_h