chromium/chrome/browser/policy/status_provider/status_provider_util.cc

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/browser/policy/status_provider/status_provider_util.h"

#include "base/values.h"
#include "chrome/browser/enterprise/identifiers/profile_id_service_factory.h"
#include "components/enterprise/browser/identifiers/profile_id_service.h"
#include "components/policy/core/browser/webui/policy_status_provider.h"
#include "google_apis/gaia/gaia_auth_util.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chrome/browser/ash/policy/off_hours/device_off_hours_controller.h"
#include "chrome/browser/ash/profiles/profile_helper.h"
#include "chrome/browser/ash/settings/device_settings_service.h"
#include "chrome/browser/ui/managed_ui.h"
#include "components/user_manager/user_manager.h"
#else
#include "chrome/browser/enterprise/util/affiliation.h"
#include "chrome/browser/policy/dm_token_utils.h"
#endif

#if BUILDFLAG(IS_CHROMEOS)
#include "chromeos/components/kiosk/kiosk_utils.h"
#endif

const char kDevicePolicyStatusDescription[] =;
const char kUserPolicyStatusDescription[] =;

void SetDomainExtractedFromUsername(base::Value::Dict& dict) {}

void GetUserAffiliationStatus(base::Value::Dict* dict, Profile* profile) {}

void SetProfileId(base::Value::Dict* dict, Profile* profile) {}

#if BUILDFLAG(IS_CHROMEOS_ASH)
void GetOffHoursStatus(base::Value::Dict* dict) {
  policy::off_hours::DeviceOffHoursController* off_hours_controller =
      ash::DeviceSettingsService::Get()->device_off_hours_controller();
  if (off_hours_controller) {
    dict->Set("isOffHoursActive", off_hours_controller->is_off_hours_mode());
  }
}

void GetUserManager(base::Value::Dict* dict, Profile* profile) {
  CHECK(profile);

  std::optional<std::string> account_manager =
      chrome::GetAccountManagerIdentity(profile);
  if (account_manager) {
    dict->Set(policy::kEnterpriseDomainManagerKey, *account_manager);
  }
}
#endif  // BUILDFLAG(IS_CHROMEOS_ASH)