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.
This commit is contained in:
zackhow
2018-08-19 17:38:29 -04:00
parent 8e5c3d5b4e
commit 82f82a6b7d
21 changed files with 382 additions and 20 deletions

View File

@ -190,5 +190,4 @@ void HttpAnalyticsBackend::Send(std::string report)
if (m_http.IsValid())
m_http.Post(m_endpoint, report);
}
} // namespace Common

View File

@ -183,5 +183,4 @@ protected:
std::string m_endpoint;
HttpRequest m_http{std::chrono::seconds{5}};
};
} // namespace Common

View File

@ -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

View File

@ -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

View File

@ -71,6 +71,7 @@ endif()
if(ANDROID)
target_sources(common PRIVATE
AndroidAnalytics.cpp
Logging/ConsoleListenerDroid.cpp
)
elseif(WIN32)