Index: chrome/browser/policy/device_status_collector.cc |
diff --git a/chrome/browser/policy/device_status_collector.cc b/chrome/browser/policy/device_status_collector.cc |
index 3d82084c4e62ab1de5651146cb0b643bf5396426..99115229933ed76b47976448c2d0101989a4a0f7 100644 |
--- a/chrome/browser/policy/device_status_collector.cc |
+++ b/chrome/browser/policy/device_status_collector.cc |
@@ -11,6 +11,7 @@ |
#include "chrome/browser/policy/proto/device_management_backend.pb.h" |
#include "chrome/browser/prefs/pref_service.h" |
#include "chrome/browser/prefs/scoped_user_pref_update.h" |
+#include "chrome/common/pref_names.h" |
Joao da Silva
2012/01/26 09:48:58
Nit: alphabetic order
Patrick Dubroy
2012/01/27 15:20:29
Done.
|
#include "chrome/common/chrome_version_info.h" |
using base::Time; |
@@ -26,9 +27,6 @@ const unsigned int kIdleStateThresholdSeconds = 300; |
// The maximum number of time periods stored in the local state. |
const unsigned int kMaxStoredActivePeriods = 500; |
-// Stores the baseline timestamp, to which the active periods are relative. |
-const char* const kPrefBaselineTime = "device_status.baseline_timestamp"; |
- |
// Stores a list of timestamps representing device active periods. |
const char* const kPrefDeviceActivePeriods = "device_status.active_periods"; |
@@ -71,8 +69,10 @@ DeviceStatusCollector::~DeviceStatusCollector() { |
// static |
void DeviceStatusCollector::RegisterPrefs(PrefService* local_state) { |
- local_state->RegisterInt64Pref(kPrefBaselineTime, Time::Now().ToTimeT()); |
local_state->RegisterListPref(kPrefDeviceActivePeriods, new ListValue); |
+ local_state->RegisterBooleanPref(prefs::kReportDeviceVersionInfo, false); |
pastarmovj
2012/01/26 09:52:11
You won't need this once you regard my next commen
Patrick Dubroy
2012/01/27 15:20:29
Done.
|
+ local_state->RegisterBooleanPref(prefs::kReportDeviceActivityTimes, false); |
+ local_state->RegisterBooleanPref(prefs::kReportDeviceBootMode, false); |
} |
void DeviceStatusCollector::CheckIdleState() { |
@@ -118,6 +118,10 @@ void DeviceStatusCollector::AddActivePeriod(Time start, Time end) { |
} |
void DeviceStatusCollector::IdleStateCallback(IdleState state) { |
+ // Do nothing if device activity reporting is disabled. |
+ if (!local_state_->GetBoolean(prefs::kReportDeviceActivityTimes)) |
pastarmovj
2012/01/26 09:52:11
This is not the right way to read device policy. I
Patrick Dubroy
2012/01/27 15:20:29
Done.
|
+ return; |
+ |
Time now = GetCurrentTime(); |
if (state == IDLE_STATE_ACTIVE) { |
@@ -134,8 +138,8 @@ void DeviceStatusCollector::IdleStateCallback(IdleState state) { |
last_idle_state_ = state; |
} |
-void DeviceStatusCollector::GetStatus(em::DeviceStatusReportRequest* request) { |
- // Report device active periods. |
+void DeviceStatusCollector::GetActivityTimes( |
+ em::DeviceStatusReportRequest* request) { |
const ListValue* active_periods = |
local_state_->GetList(kPrefDeviceActivePeriods); |
em::TimePeriod* time_period; |
@@ -159,13 +163,18 @@ void DeviceStatusCollector::GetStatus(em::DeviceStatusReportRequest* request) { |
} |
ListPrefUpdate update(local_state_, kPrefDeviceActivePeriods); |
update.Get()->Clear(); |
+} |
+void DeviceStatusCollector::GetVersionInfo( |
+ em::DeviceStatusReportRequest* request) { |
chrome::VersionInfo version_info; |
request->set_browser_version(version_info.Version()); |
request->set_os_version(os_version_); |
request->set_firmware_version(firmware_version_); |
+} |
- // Report the state of the dev switch at boot. |
+void DeviceStatusCollector::GetBootMode( |
+ em::DeviceStatusReportRequest* request) { |
std::string dev_switch_mode; |
if (statistics_provider_->GetMachineStatistic( |
"devsw_boot", &dev_switch_mode)) { |
@@ -176,6 +185,17 @@ void DeviceStatusCollector::GetStatus(em::DeviceStatusReportRequest* request) { |
} |
} |
+void DeviceStatusCollector::GetStatus(em::DeviceStatusReportRequest* request) { |
+ if (local_state_->GetBoolean(prefs::kReportDeviceActivityTimes)) |
pastarmovj
2012/01/26 09:52:11
Ditto.
Patrick Dubroy
2012/01/27 15:20:29
Done.
|
+ GetActivityTimes(request); |
+ |
+ if (local_state_->GetBoolean(prefs::kReportDeviceVersionInfo)) |
pastarmovj
2012/01/26 09:52:11
Ditto.
Patrick Dubroy
2012/01/27 15:20:29
Done.
|
+ GetVersionInfo(request); |
+ |
+ if (local_state_->GetBoolean(prefs::kReportDeviceBootMode)) |
pastarmovj
2012/01/26 09:52:11
Ditto.
Patrick Dubroy
2012/01/27 15:20:29
Done.
|
+ GetBootMode(request); |
+} |
+ |
void DeviceStatusCollector::OnOSVersion(VersionLoader::Handle handle, |
std::string version) { |
os_version_ = version; |