summaryrefslogtreecommitdiff
path: root/src/components/application_manager/src/usage_statistics.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/application_manager/src/usage_statistics.cc')
-rw-r--r--src/components/application_manager/src/usage_statistics.cc67
1 files changed, 48 insertions, 19 deletions
diff --git a/src/components/application_manager/src/usage_statistics.cc b/src/components/application_manager/src/usage_statistics.cc
index ad986d2223..42c48520e9 100644
--- a/src/components/application_manager/src/usage_statistics.cc
+++ b/src/components/application_manager/src/usage_statistics.cc
@@ -31,11 +31,11 @@
*/
#include "application_manager/usage_statistics.h"
-
#include "smart_objects/smart_object.h"
#include "smart_objects/enum_schema_item.h"
-#include "usage_statistics/statistics_manager.h"
+#include "policy/usage_statistics/statistics_manager.h"
#include "utils/macro.h"
+#include "utils/make_shared.h"
using namespace mobile_apis;
using namespace NsSmartDeviceLink::NsSmartObjects;
@@ -47,27 +47,52 @@ namespace {
std::string LanguageIdToString(Language::eType lang_id) {
const char* str;
- const bool ok = EnumConversionHelper<Language::eType>::EnumToCString(lang_id, &str);
+ const bool ok =
+ EnumConversionHelper<Language::eType>::EnumToCString(lang_id, &str);
return ok ? str : "unknown";
}
} // namespace
-UsageStatistics::UsageStatistics(const std::string& app_id,
- utils::SharedPtr<usage_statistics::StatisticsManager> statistics_manager)
- : time_in_hmi_state_(statistics_manager, app_id),
- app_registration_language_gui_(statistics_manager, app_id, LANGUAGE_GUI),
- app_registration_language_vui_(statistics_manager, app_id, LANGUAGE_VUI),
- count_of_rejected_rpc_calls_(statistics_manager, app_id,
- REJECTED_RPC_CALLS),
- count_of_rpcs_sent_in_hmi_none_(statistics_manager, app_id,
- RPCS_IN_HMI_NONE),
- count_of_user_selections_(statistics_manager, app_id, USER_SELECTIONS),
- count_of_run_attempts_while_revoked_(statistics_manager, app_id,
- RUN_ATTEMPTS_WHILE_REVOKED),
- count_of_removals_for_bad_behavior_(statistics_manager, app_id,
- REMOVALS_MISBEHAVED) {
- time_in_hmi_state_.Start(SECONDS_HMI_NONE);
+UsageStatistics::UsageStatistics(
+ const std::string& app_id,
+ utils::SharedPtr<StatisticsManager> statistics_manager)
+ : time_in_hmi_state_sptr_(
+ new usage_statistics::AppStopwatchImpl(statistics_manager, app_id))
+ , app_registration_language_gui_(statistics_manager, app_id, LANGUAGE_GUI)
+ , app_registration_language_vui_(statistics_manager, app_id, LANGUAGE_VUI)
+ , count_of_rejected_rpc_calls_(
+ statistics_manager, app_id, REJECTED_RPC_CALLS)
+ , count_of_rpcs_sent_in_hmi_none_(
+ statistics_manager, app_id, RPCS_IN_HMI_NONE)
+ , count_of_user_selections_(statistics_manager, app_id, USER_SELECTIONS)
+ , count_of_run_attempts_while_revoked_(
+ statistics_manager, app_id, RUN_ATTEMPTS_WHILE_REVOKED)
+ , count_of_removals_for_bad_behavior_(
+ statistics_manager, app_id, REMOVALS_MISBEHAVED)
+ , count_of_tls_error_(statistics_manager, app_id, COUNT_OF_TLS_ERRORS) {
+ time_in_hmi_state_sptr_->Start(SECONDS_HMI_NONE);
+}
+
+UsageStatistics::UsageStatistics(
+ const std::string& app_id,
+ utils::SharedPtr<StatisticsManager> statistics_manager,
+ AppStopwatch* time_in_hmi_state_ptr)
+ : time_in_hmi_state_sptr_(time_in_hmi_state_ptr)
+ , app_registration_language_gui_(statistics_manager, app_id, LANGUAGE_GUI)
+ , app_registration_language_vui_(statistics_manager, app_id, LANGUAGE_VUI)
+ , count_of_rejected_rpc_calls_(
+ statistics_manager, app_id, REJECTED_RPC_CALLS)
+ , count_of_rpcs_sent_in_hmi_none_(
+ statistics_manager, app_id, RPCS_IN_HMI_NONE)
+ , count_of_user_selections_(statistics_manager, app_id, USER_SELECTIONS)
+ , count_of_run_attempts_while_revoked_(
+ statistics_manager, app_id, RUN_ATTEMPTS_WHILE_REVOKED)
+ , count_of_removals_for_bad_behavior_(
+ statistics_manager, app_id, REMOVALS_MISBEHAVED)
+ , count_of_tls_error_(statistics_manager, app_id, COUNT_OF_TLS_ERRORS) {
+ DCHECK(time_in_hmi_state_sptr_.get());
+ time_in_hmi_state_sptr_->Start(SECONDS_HMI_NONE);
}
void UsageStatistics::RecordHmiStateChanged(HMILevel::eType new_hmi_level) {
@@ -89,7 +114,7 @@ void UsageStatistics::RecordHmiStateChanged(HMILevel::eType new_hmi_level) {
default:
NOTREACHED();
}
- time_in_hmi_state_.Switch(next_stopwatch);
+ time_in_hmi_state_sptr_->Switch(next_stopwatch);
}
void UsageStatistics::RecordAppRegistrationGuiLanguage(
@@ -122,4 +147,8 @@ void UsageStatistics::RecordRemovalsForBadBehavior() {
++count_of_removals_for_bad_behavior_;
}
+void UsageStatistics::RecordTLSError() {
+ ++count_of_tls_error_;
+}
+
} // namespace application_manager