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

Side by Side Diff: chrome/browser/signin/easy_unlock_screenlock_state_handler.cc

Issue 572083004: Don't use opaque icons for easy unlock (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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 unified diff | Download patch
« no previous file with comments | « no previous file | chrome/browser/signin/easy_unlock_screenlock_state_handler_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/signin/easy_unlock_screenlock_state_handler.h" 5 #include "chrome/browser/signin/easy_unlock_screenlock_state_handler.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/prefs/pref_service.h" 8 #include "base/prefs/pref_service.h"
9 #include "base/strings/string16.h" 9 #include "base/strings/string16.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
11 #include "chrome/browser/chromeos/chromeos_utils.h" 11 #include "chrome/browser/chromeos/chromeos_utils.h"
12 #include "chrome/common/pref_names.h" 12 #include "chrome/common/pref_names.h"
13 #include "chrome/grit/generated_resources.h" 13 #include "chrome/grit/generated_resources.h"
14 #include "ui/base/l10n/l10n_util.h" 14 #include "ui/base/l10n/l10n_util.h"
15 15
16 namespace { 16 namespace {
17 17
18 size_t kIconSize = 27u; 18 size_t kIconSize = 27u;
19 size_t kOpaqueIconOpacity = 50u;
20 size_t kSpinnerResourceWidth = 1215u; 19 size_t kSpinnerResourceWidth = 1215u;
21 size_t kSpinnerIntervalMs = 50u; 20 size_t kSpinnerIntervalMs = 50u;
22 21
23 std::string GetIconURLForState(EasyUnlockScreenlockStateHandler::State state) { 22 std::string GetIconURLForState(EasyUnlockScreenlockStateHandler::State state) {
24 switch (state) { 23 switch (state) {
25 case EasyUnlockScreenlockStateHandler::STATE_NO_BLUETOOTH: 24 case EasyUnlockScreenlockStateHandler::STATE_NO_BLUETOOTH:
26 case EasyUnlockScreenlockStateHandler::STATE_NO_PHONE: 25 case EasyUnlockScreenlockStateHandler::STATE_NO_PHONE:
27 case EasyUnlockScreenlockStateHandler::STATE_PHONE_NOT_AUTHENTICATED: 26 case EasyUnlockScreenlockStateHandler::STATE_PHONE_NOT_AUTHENTICATED:
28 case EasyUnlockScreenlockStateHandler::STATE_PHONE_LOCKED: 27 case EasyUnlockScreenlockStateHandler::STATE_PHONE_LOCKED:
29 case EasyUnlockScreenlockStateHandler::STATE_PHONE_NOT_NEARBY: 28 case EasyUnlockScreenlockStateHandler::STATE_PHONE_NOT_NEARBY:
30 case EasyUnlockScreenlockStateHandler::STATE_PHONE_UNLOCKABLE: 29 case EasyUnlockScreenlockStateHandler::STATE_PHONE_UNLOCKABLE:
31 case EasyUnlockScreenlockStateHandler::STATE_PHONE_UNSUPPORTED: 30 case EasyUnlockScreenlockStateHandler::STATE_PHONE_UNSUPPORTED:
32 return "chrome://theme/IDR_EASY_UNLOCK_LOCKED"; 31 return "chrome://theme/IDR_EASY_UNLOCK_LOCKED";
33 case EasyUnlockScreenlockStateHandler::STATE_BLUETOOTH_CONNECTING: 32 case EasyUnlockScreenlockStateHandler::STATE_BLUETOOTH_CONNECTING:
34 return "chrome://theme/IDR_EASY_UNLOCK_SPINNER"; 33 return "chrome://theme/IDR_EASY_UNLOCK_SPINNER";
35 case EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED: 34 case EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED:
36 return "chrome://theme/IDR_EASY_UNLOCK_UNLOCKED"; 35 return "chrome://theme/IDR_EASY_UNLOCK_UNLOCKED";
37 default: 36 default:
38 return ""; 37 return "";
39 } 38 }
40 } 39 }
41 40
42 bool UseOpaqueIcon(EasyUnlockScreenlockStateHandler::State state) {
43 return state == EasyUnlockScreenlockStateHandler::STATE_NO_BLUETOOTH ||
44 state == EasyUnlockScreenlockStateHandler::STATE_NO_PHONE ||
45 state == EasyUnlockScreenlockStateHandler::STATE_PHONE_NOT_NEARBY ||
46 state == EasyUnlockScreenlockStateHandler::STATE_PHONE_UNLOCKABLE ||
47 state == EasyUnlockScreenlockStateHandler::STATE_PHONE_UNSUPPORTED;
48 }
49
50 bool HasAnimation(EasyUnlockScreenlockStateHandler::State state) { 41 bool HasAnimation(EasyUnlockScreenlockStateHandler::State state) {
51 return state == EasyUnlockScreenlockStateHandler::STATE_BLUETOOTH_CONNECTING; 42 return state == EasyUnlockScreenlockStateHandler::STATE_BLUETOOTH_CONNECTING;
52 } 43 }
53 44
54 bool HardlockOnClick(EasyUnlockScreenlockStateHandler::State state) { 45 bool HardlockOnClick(EasyUnlockScreenlockStateHandler::State state) {
55 return state != EasyUnlockScreenlockStateHandler::STATE_INACTIVE; 46 return state != EasyUnlockScreenlockStateHandler::STATE_INACTIVE;
56 } 47 }
57 48
58 size_t GetTooltipResourceId(EasyUnlockScreenlockStateHandler::State state) { 49 size_t GetTooltipResourceId(EasyUnlockScreenlockStateHandler::State state) {
59 switch (state) { 50 switch (state) {
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 if (icon_url.empty()) { 119 if (icon_url.empty()) {
129 screenlock_bridge_->lock_handler()->HideUserPodCustomIcon(user_email_); 120 screenlock_bridge_->lock_handler()->HideUserPodCustomIcon(user_email_);
130 return; 121 return;
131 } 122 }
132 icon_options.SetIconAsResourceURL(icon_url); 123 icon_options.SetIconAsResourceURL(icon_url);
133 124
134 bool trial_run = IsTrialRun(); 125 bool trial_run = IsTrialRun();
135 126
136 UpdateTooltipOptions(trial_run, &icon_options); 127 UpdateTooltipOptions(trial_run, &icon_options);
137 128
138 if (UseOpaqueIcon(state_))
139 icon_options.SetOpacity(kOpaqueIconOpacity);
140
141 icon_options.SetSize(kIconSize, kIconSize); 129 icon_options.SetSize(kIconSize, kIconSize);
142 130
143 if (HasAnimation(state_)) 131 if (HasAnimation(state_))
144 icon_options.SetAnimation(kSpinnerResourceWidth, kSpinnerIntervalMs); 132 icon_options.SetAnimation(kSpinnerResourceWidth, kSpinnerIntervalMs);
145 133
146 // Hardlocking is disabled in trial run. 134 // Hardlocking is disabled in trial run.
147 if (!trial_run && HardlockOnClick(state_)) 135 if (!trial_run && HardlockOnClick(state_))
148 icon_options.SetHardlockOnClick(); 136 icon_options.SetHardlockOnClick();
149 137
150 if (trial_run && state_ == STATE_AUTHENTICATED) 138 if (trial_run && state_ == STATE_AUTHENTICATED)
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 l10n_util::GetStringUTF16( 215 l10n_util::GetStringUTF16(
228 IDS_EASY_UNLOCK_SCREENLOCK_USER_POD_AUTH_VALUE)); 216 IDS_EASY_UNLOCK_SCREENLOCK_USER_POD_AUTH_VALUE));
229 } else if (screenlock_bridge_->lock_handler()->GetAuthType(user_email_) != 217 } else if (screenlock_bridge_->lock_handler()->GetAuthType(user_email_) !=
230 ScreenlockBridge::LockHandler::OFFLINE_PASSWORD) { 218 ScreenlockBridge::LockHandler::OFFLINE_PASSWORD) {
231 screenlock_bridge_->lock_handler()->SetAuthType( 219 screenlock_bridge_->lock_handler()->SetAuthType(
232 user_email_, 220 user_email_,
233 ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, 221 ScreenlockBridge::LockHandler::OFFLINE_PASSWORD,
234 base::string16()); 222 base::string16());
235 } 223 }
236 } 224 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/signin/easy_unlock_screenlock_state_handler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698