blob: 4211807387eadcec4906ea159ff73568f8cb97e8 [file] [log] [blame]
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/guest_os/guest_os_prefs.h"
#include "components/prefs/pref_registry_simple.h"
namespace guest_os {
namespace prefs {
// The following prefs (nested under a provided location, e.g. arc.metrics)
// persist engagement time across sessions, to be accumulated and sent to UMA
// once a day.
// Total engagement time of the device.
const char kEngagementTimeTotal[] = ".engagement_time.total";
// Time spent with a matched window in the foreground.
const char kEngagementTimeForeground[] = ".engagement_time.foreground";
// Time spent without a matched window in the foreground but the guest OS
// otherwise running in the background.
const char kEngagementTimeBackground[] = ".engagement_time.background";
// The OS version when engagement prefs were recorded. Old results will be
// discarded if a version change is detected.
const char kEngagementTimeOsVersion[] = ".engagement_time.os_version";
// The day ID (number of days since origin of Time) when engagement time was
// last recorded.
const char kEngagementTimeDayId[] = ".engagement_time.day_id";
void RegisterEngagementProfilePrefs(PrefRegistrySimple* registry,
const std::string& pref_prefix) {
registry->RegisterTimeDeltaPref(pref_prefix + kEngagementTimeBackground,
base::TimeDelta());
registry->RegisterIntegerPref(pref_prefix + kEngagementTimeDayId, 0);
registry->RegisterTimeDeltaPref(pref_prefix + kEngagementTimeForeground,
base::TimeDelta());
registry->RegisterStringPref(pref_prefix + kEngagementTimeOsVersion, "");
registry->RegisterTimeDeltaPref(pref_prefix + kEngagementTimeTotal,
base::TimeDelta());
}
} // namespace prefs
} // namespace guest_os