supervised_icon_string.cc 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. // Copyright 2018 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "ash/system/supervised/supervised_icon_string.h"
  5. #include "ash/resources/vector_icons/vector_icons.h"
  6. #include "ash/session/session_controller_impl.h"
  7. #include "ash/shell.h"
  8. #include "ash/strings/grit/ash_strings.h"
  9. #include "base/strings/utf_string_conversions.h"
  10. #include "ui/base/l10n/l10n_util.h"
  11. using base::UTF8ToUTF16;
  12. namespace ash {
  13. const gfx::VectorIcon& GetSupervisedUserIcon() {
  14. SessionControllerImpl* session_controller =
  15. Shell::Get()->session_controller();
  16. if (session_controller->IsUserChild())
  17. return kSystemMenuSupervisedUserIcon;
  18. return kSystemMenuLegacySupervisedUserIcon;
  19. }
  20. std::u16string GetSupervisedUserMessage() {
  21. SessionControllerImpl* session_controller =
  22. Shell::Get()->session_controller();
  23. DCHECK(session_controller->IsUserChild());
  24. DCHECK(session_controller->IsActiveUserSessionStarted());
  25. // Get the active user session.
  26. const UserSession* const user_session = session_controller->GetUserSession(0);
  27. DCHECK(user_session);
  28. std::u16string first_custodian = UTF8ToUTF16(user_session->custodian_email);
  29. std::u16string second_custodian =
  30. UTF8ToUTF16(user_session->second_custodian_email);
  31. if (second_custodian.empty()) {
  32. return l10n_util::GetStringFUTF16(
  33. IDS_ASH_CHILD_USER_IS_MANAGED_BY_ONE_PARENT_NOTICE, first_custodian);
  34. }
  35. return l10n_util::GetStringFUTF16(
  36. IDS_ASH_CHILD_USER_IS_MANAGED_BY_TWO_PARENTS_NOTICE, first_custodian,
  37. second_custodian);
  38. }
  39. } // namespace ash