| Index: chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc
|
| diff --git a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc b/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc
|
| index 3680dc2202cbd0424d0cdb656edc62b55cb19974..eb7621d0faa8b2309d0a65985fda9007849020d1 100644
|
| --- a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc
|
| +++ b/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc
|
| @@ -10,6 +10,9 @@
|
| #include "base/values.h"
|
| #include "chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_bluetooth_util.h"
|
| #include "chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_crypto_delegate.h"
|
| +#include "chrome/browser/profiles/profile.h"
|
| +#include "chrome/browser/signin/easy_unlock_screenlock_state_handler.h"
|
| +#include "chrome/browser/signin/easy_unlock_service.h"
|
| #include "chrome/common/extensions/api/easy_unlock_private.h"
|
| #include "extensions/browser/browser_context_keyed_api_factory.h"
|
| #include "grit/generated_resources.h"
|
| @@ -34,6 +37,36 @@ EasyUnlockPrivateCryptoDelegate* GetCryptoDelegate(
|
| ->crypto_delegate();
|
| }
|
|
|
| +EasyUnlockScreenlockStateHandler* GetScreenlockStateHandler(
|
| + content::BrowserContext* context) {
|
| + return EasyUnlockService::Get(Profile::FromBrowserContext(context))
|
| + ->screenlock_state_handler();
|
| +}
|
| +
|
| +EasyUnlockScreenlockStateHandler::State ToScreenlockStateHandlerState(
|
| + easy_unlock_private::State state) {
|
| + switch (state) {
|
| + case easy_unlock_private::STATE_NO_BLUETOOTH:
|
| + return EasyUnlockScreenlockStateHandler::STATE_NO_BLUETOOTH;
|
| + case easy_unlock_private::STATE_BLUETOOTH_CONNECTING:
|
| + return EasyUnlockScreenlockStateHandler::STATE_BLUETOOTH_CONNECTING;
|
| + case easy_unlock_private::STATE_NO_PHONE:
|
| + return EasyUnlockScreenlockStateHandler::STATE_NO_PHONE;
|
| + case easy_unlock_private::STATE_PHONE_NOT_AUTHENTICATED:
|
| + return EasyUnlockScreenlockStateHandler::STATE_PHONE_NOT_AUTHENTICATED;
|
| + case easy_unlock_private::STATE_PHONE_LOCKED:
|
| + return EasyUnlockScreenlockStateHandler::STATE_PHONE_LOCKED;
|
| + case easy_unlock_private::STATE_PHONE_UNLOCKABLE:
|
| + return EasyUnlockScreenlockStateHandler::STATE_PHONE_UNLOCKABLE;
|
| + case easy_unlock_private::STATE_PHONE_NOT_NEARBY:
|
| + return EasyUnlockScreenlockStateHandler::STATE_PHONE_NOT_NEARBY;
|
| + case easy_unlock_private::STATE_AUTHENTICATED:
|
| + return EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED;
|
| + default:
|
| + return EasyUnlockScreenlockStateHandler::STATE_INACTIVE;
|
| + }
|
| +}
|
| +
|
| } // namespace
|
|
|
| // static
|
| @@ -335,5 +368,21 @@ void EasyUnlockPrivateSeekBluetoothDeviceByAddressFunction::OnSeekCompleted(
|
| }
|
| }
|
|
|
| +EasyUnlockPrivateUpdateScreenlockStateFunction::
|
| + EasyUnlockPrivateUpdateScreenlockStateFunction() {}
|
| +
|
| +EasyUnlockPrivateUpdateScreenlockStateFunction::
|
| + ~EasyUnlockPrivateUpdateScreenlockStateFunction() {}
|
| +
|
| +bool EasyUnlockPrivateUpdateScreenlockStateFunction::RunSync() {
|
| + scoped_ptr<easy_unlock_private::UpdateScreenlockState::Params> params(
|
| + easy_unlock_private::UpdateScreenlockState::Params::Create(*args_));
|
| + EXTENSION_FUNCTION_VALIDATE(params.get());
|
| +
|
| + GetScreenlockStateHandler(browser_context())->ChangeState(
|
| + ToScreenlockStateHandlerState(params->state));
|
| + return true;
|
| +}
|
| +
|
| } // namespace api
|
| } // namespace extensions
|
|
|