From 6bf06989db1d6c5ec9052d60b27ab917a6e37c14 Mon Sep 17 00:00:00 2001 From: Leonardo Murillo Date: Mon, 14 Jul 2014 15:24:47 -0600 Subject: [PATCH] Adding place/user go to logging --- interface/src/location/LocationManager.cpp | 16 ++++++++++++---- libraries/networking/src/UserActivityLogger.cpp | 12 ++++++++++++ libraries/networking/src/UserActivityLogger.h | 1 + 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/interface/src/location/LocationManager.cpp b/interface/src/location/LocationManager.cpp index 32172d6e38..cbf7d3dfd0 100644 --- a/interface/src/location/LocationManager.cpp +++ b/interface/src/location/LocationManager.cpp @@ -13,6 +13,7 @@ #include "Application.h" #include "LocationManager.h" +#include const QString GET_USER_ADDRESS = "/api/v1/users/%1/address"; const QString GET_PLACE_ADDRESS = "/api/v1/places/%1"; @@ -60,23 +61,30 @@ void LocationManager::createNamedLocation(NamedLocation* namedLocation) { } void LocationManager::goTo(QString destination) { - + const QString USER_DESTINATION_TYPE = "user"; + const QString PLACE_DESTINATION_TYPE = "place"; + const QString OTHER_DESTINATION_TYPE = "coordinate_or_username"; + if (destination.startsWith("@")) { // remove '@' and go to user - goToUser(destination.remove(0, 1)); + QString destinationUser = destination.remove(0, 1); + UserActivityLogger::getInstance().wentTo(USER_DESTINATION_TYPE, destinationUser); + goToUser(destinationUser); return; } if (destination.startsWith("#")) { // remove '#' and go to named place - goToPlace(destination.remove(0, 1)); + QString destinationPlace = destination.remove(0, 1); + UserActivityLogger::getInstance().wentTo(PLACE_DESTINATION_TYPE, destinationPlace); + goToPlace(destinationPlace); return; } // go to coordinate destination or to Username if (!goToDestination(destination)) { destination = QString(QUrl::toPercentEncoding(destination)); - + UserActivityLogger::getInstance().wentTo(OTHER_DESTINATION_TYPE, destination); JSONCallbackParameters callbackParams; callbackParams.jsonCallbackReceiver = this; callbackParams.jsonCallbackMethod = "goToAddressFromResponse"; diff --git a/libraries/networking/src/UserActivityLogger.cpp b/libraries/networking/src/UserActivityLogger.cpp index 5b20c82263..0217fb9106 100644 --- a/libraries/networking/src/UserActivityLogger.cpp +++ b/libraries/networking/src/UserActivityLogger.cpp @@ -146,3 +146,15 @@ void UserActivityLogger::loadedScript(QString scriptName) { logAction(ACTION_NAME, actionDetails); } + +void UserActivityLogger::wentTo(QString destinationType, QString destinationName) { + const QString ACTION_NAME = "went_to"; + QJsonObject actionDetails; + const QString DESTINATION_TYPE_KEY = "destination_type"; + const QString DESTINATION_NAME_KEY = "detination_name"; + + actionDetails.insert(DESTINATION_TYPE_KEY, destinationType); + actionDetails.insert(DESTINATION_NAME_KEY, destinationName); + + logAction(ACTION_NAME, actionDetails); +} diff --git a/libraries/networking/src/UserActivityLogger.h b/libraries/networking/src/UserActivityLogger.h index 4823143234..7c48a72b73 100644 --- a/libraries/networking/src/UserActivityLogger.h +++ b/libraries/networking/src/UserActivityLogger.h @@ -35,6 +35,7 @@ public slots: void changedDomain(QString domainURL); void connectedDevice(QString typeOfDevice, QString deviceName); void loadedScript(QString scriptName); + void wentTo(QString destinationType, QString destinationName); private slots: void requestFinished(const QJsonObject& object);