summaryrefslogtreecommitdiff
path: root/Source/Core/Common
diff options
context:
space:
mode:
authorzackhow <zackhow@gmail.com>2018-08-19 17:38:29 -0400
committerzackhow <zackhow@gmail.com>2018-08-23 17:31:17 -0400
commit82f82a6b7d727ff3dcc8b4e5a4d7fc9a214a8596 (patch)
treeba0620e78bd04bd0a74557ac4f43ef81ed9b5f29 /Source/Core/Common
parent8e5c3d5b4eff43b9e830831efc91dccf77f00b66 (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.cpp1
-rw-r--r--Source/Core/Common/Analytics.h1
-rw-r--r--Source/Core/Common/AndroidAnalytics.cpp27
-rw-r--r--Source/Core/Common/AndroidAnalytics.h26
-rw-r--r--Source/Core/Common/CMakeLists.txt1
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)