Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(718)

Unified Diff: chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc

Issue 446743003: Hook up new API for easy unlock to update lock screen (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 a7f1ce612bd5baa88d9da56f050c474165e529de..1b7f87e4225524c8878bcc8a6c6a8f11f662adb9 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))
+ ->GetScreenlockStateHandler();
+}
+
+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
@@ -368,5 +401,28 @@ 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());
+
+ EasyUnlockScreenlockStateHandler* screenlock_state_handler =
+ GetScreenlockStateHandler(browser_context());
+ if (screenlock_state_handler) {
+ screenlock_state_handler->ChangeState(
+ ToScreenlockStateHandlerState(params->state));
+ return true;
+ }
+
+ SetError("Not allowed");
+ return false;
+}
+
} // namespace api
} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698