blob: c41235bc0181b232d381f7f7a13aa6b67aa78f66 [file] [log] [blame]
// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_ASH_LOGIN_LOCK_SCREEN_UTILS_H_
#define CHROME_BROWSER_ASH_LOGIN_LOCK_SCREEN_UTILS_H_
#include "ash/public/cpp/login_types.h"
#include "base/values.h"
#include "ui/base/ime/ash/input_method_manager.h"
class AccountId;
namespace ash::lock_screen_utils {
// Update current input method in the given IME state to last input method used
// by this user.
void SetUserInputMethod(const AccountId& account_id,
input_method::InputMethodManager::State* ime_state,
bool honor_device_policy);
// Get user's last input method ID.
std::string GetUserLastInputMethodId(const AccountId& account_id);
// Sets the currently allowed input method ID, including those that are enforced
// by device policy.
void EnforceDevicePolicyInputMethods(std::string user_input_method_id);
// Remove any policy limitations on allowed IMEs.
void StopEnforcingPolicyInputMethods();
// Update the keyboard settings for `account_id`.
void SetKeyboardSettings(const AccountId& account_id);
// Covert a base::Value::List of locale info to a list of ash struct LocaleItem.
std::vector<LocaleItem> FromListValueToLocaleItem(base::Value::List locales);
} // namespace ash::lock_screen_utils
#endif // CHROME_BROWSER_ASH_LOGIN_LOCK_SCREEN_UTILS_H_