diff options
| author | zackhow <zackhow@gmail.com> | 2018-08-19 17:38:29 -0400 |
|---|---|---|
| committer | zackhow <zackhow@gmail.com> | 2018-08-23 17:31:17 -0400 |
| commit | 82f82a6b7d727ff3dcc8b4e5a4d7fc9a214a8596 (patch) | |
| tree | ba0620e78bd04bd0a74557ac4f43ef81ed9b5f29 /Source/Core/Common | |
| parent | 8e5c3d5b4eff43b9e830831efc91dccf77f00b66 (diff) | |
Android: Add usage statistics to android.
Added an option in General config to enable/disable usage statistics. Added a popup on first open if
the user would like to engage in reporting. Clicking cancel or out of the box opts out. Only
clicking 'Ok' will enable reporting. Also added a new android specific values to report.
Diffstat (limited to 'Source/Core/Common')
| -rw-r--r-- | Source/Core/Common/Analytics.cpp | 1 | ||||
| -rw-r--r-- | Source/Core/Common/Analytics.h | 1 | ||||
| -rw-r--r-- | Source/Core/Common/AndroidAnalytics.cpp | 27 | ||||
| -rw-r--r-- | Source/Core/Common/AndroidAnalytics.h | 26 | ||||
| -rw-r--r-- | Source/Core/Common/CMakeLists.txt | 1 |
5 files changed, 54 insertions, 2 deletions
diff --git a/Source/Core/Common/Analytics.cpp b/Source/Core/Common/Analytics.cpp index 57670fd1e7..ab25cecabd 100644 --- a/Source/Core/Common/Analytics.cpp +++ b/Source/Core/Common/Analytics.cpp @@ -190,5 +190,4 @@ void HttpAnalyticsBackend::Send(std::string report) if (m_http.IsValid()) m_http.Post(m_endpoint, report); } - } // namespace Common diff --git a/Source/Core/Common/Analytics.h b/Source/Core/Common/Analytics.h index 6015d1d6f3..4516334ae5 100644 --- a/Source/Core/Common/Analytics.h +++ b/Source/Core/Common/Analytics.h @@ -183,5 +183,4 @@ protected: std::string m_endpoint; HttpRequest m_http{std::chrono::seconds{5}}; }; - } // namespace Common diff --git a/Source/Core/Common/AndroidAnalytics.cpp b/Source/Core/Common/AndroidAnalytics.cpp new file mode 100644 index 0000000000..43912e5b1b --- /dev/null +++ b/Source/Core/Common/AndroidAnalytics.cpp @@ -0,0 +1,27 @@ +// Copyright 2018 Dolphin Emulator Project +// Licensed under GPLv2+ +// Refer to the license.txt file included. + +#include <functional> +#include <string> + +#include "Common/AndroidAnalytics.h" + +namespace Common +{ +std::function<void(std::string, std::string)> s_android_send_report; +void AndroidSetReportHandler(std::function<void(std::string, std::string)> func) +{ + s_android_send_report = std::move(func); +} +AndroidAnalyticsBackend::AndroidAnalyticsBackend(std::string passed_endpoint) + : m_endpoint{std::move(passed_endpoint)} +{ +} +AndroidAnalyticsBackend::~AndroidAnalyticsBackend() = default; + +void AndroidAnalyticsBackend::Send(std::string report) +{ + s_android_send_report(m_endpoint, report); +} +} // namespace Common diff --git a/Source/Core/Common/AndroidAnalytics.h b/Source/Core/Common/AndroidAnalytics.h new file mode 100644 index 0000000000..b96d67cb19 --- /dev/null +++ b/Source/Core/Common/AndroidAnalytics.h @@ -0,0 +1,26 @@ +// Copyright 2018 Dolphin Emulator Project +// Licensed under GPLv2+ +// Refer to the license.txt file included. +#pragma once + +#include <functional> +#include <string> + +#include "Common/Analytics.h" + +namespace Common +{ +void AndroidSetReportHandler(std::function<void(std::string, std::string)> function); + +class AndroidAnalyticsBackend : public AnalyticsReportingBackend +{ +public: + explicit AndroidAnalyticsBackend(const std::string endpoint); + + ~AndroidAnalyticsBackend() override; + void Send(std::string report) override; + +private: + std::string m_endpoint; +}; +} // namespace Common diff --git a/Source/Core/Common/CMakeLists.txt b/Source/Core/Common/CMakeLists.txt index d7327a2a47..507e08662e 100644 --- a/Source/Core/Common/CMakeLists.txt +++ b/Source/Core/Common/CMakeLists.txt @@ -71,6 +71,7 @@ endif() if(ANDROID) target_sources(common PRIVATE + AndroidAnalytics.cpp Logging/ConsoleListenerDroid.cpp ) elseif(WIN32) |
