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

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

Issue 608693006: [Easy Unlock] When hardlocking, show a different icon on user (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 6 years, 2 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
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 #ifndef CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SCREENLOCK_STATE_HANDLER_H_ 5 #ifndef CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SCREENLOCK_STATE_HANDLER_H_
6 #define CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SCREENLOCK_STATE_HANDLER_H_ 6 #define CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SCREENLOCK_STATE_HANDLER_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/strings/string16.h" 10 #include "base/strings/string16.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 // The device can be unlocked using Easy Unlock. 44 // The device can be unlocked using Easy Unlock.
45 STATE_AUTHENTICATED 45 STATE_AUTHENTICATED
46 }; 46 };
47 47
48 // |user_email|: The email for the user associated with the profile to which 48 // |user_email|: The email for the user associated with the profile to which
49 // this class is attached. 49 // this class is attached.
50 // |pref_service|: The profile preferences. 50 // |pref_service|: The profile preferences.
51 // |screenlock_bridge|: The screenlock bridge used to update the screen lock 51 // |screenlock_bridge|: The screenlock bridge used to update the screen lock
52 // state. 52 // state.
53 EasyUnlockScreenlockStateHandler(const std::string& user_email, 53 EasyUnlockScreenlockStateHandler(const std::string& user_email,
54 bool initially_hardlocked,
54 PrefService* pref_service, 55 PrefService* pref_service,
55 ScreenlockBridge* screenlock_bridge); 56 ScreenlockBridge* screenlock_bridge);
56 virtual ~EasyUnlockScreenlockStateHandler(); 57 virtual ~EasyUnlockScreenlockStateHandler();
57 58
58 // Changes internal state to |new_state| and updates the user's screenlock 59 // Changes internal state to |new_state| and updates the user's screenlock
59 // accordingly. 60 // accordingly.
60 void ChangeState(State new_state); 61 void ChangeState(State new_state);
61 62
63 // Updates the screenlock state according to whether the pod is hardlocked or
64 // not.
65 void SetHardlocked(bool value);
66
62 private: 67 private:
63 // ScreenlockBridge::Observer: 68 // ScreenlockBridge::Observer:
64 virtual void OnScreenDidLock() OVERRIDE; 69 virtual void OnScreenDidLock() OVERRIDE;
65 virtual void OnScreenDidUnlock() OVERRIDE; 70 virtual void OnScreenDidUnlock() OVERRIDE;
66 virtual void OnFocusedUserChanged(const std::string& user_id) OVERRIDE; 71 virtual void OnFocusedUserChanged(const std::string& user_id) OVERRIDE;
67 72
73 void ShowHardlockUI();
74
68 // Updates icon's tooltip options. 75 // Updates icon's tooltip options.
69 // |trial_run|: Whether the trial Easy Unlock run is in progress. 76 // |trial_run|: Whether the trial Easy Unlock run is in progress.
70 void UpdateTooltipOptions( 77 void UpdateTooltipOptions(
71 bool trial_run, 78 bool trial_run,
72 ScreenlockBridge::UserPodCustomIconOptions* icon_options); 79 ScreenlockBridge::UserPodCustomIconOptions* icon_options);
73 80
74 // Whether this is the first, trial Easy Unlock run. If this is the case, a 81 // Whether this is the first, trial Easy Unlock run. If this is the case, a
75 // tutorial message should be shown and hard-locking be disabled in 82 // tutorial message should be shown and hard-locking be disabled in
76 // Authenticated state. The trial run will be active if Easy Unlock never 83 // Authenticated state. The trial run will be active if Easy Unlock never
77 // entered Authenticated state (across sessions). 84 // entered Authenticated state (across sessions).
78 bool IsTrialRun(); 85 bool IsTrialRun();
79 86
80 // Sets user preference that marks trial run completed. 87 // Sets user preference that marks trial run completed.
81 void MarkTrialRunComplete(); 88 void MarkTrialRunComplete();
82 89
83 // Gets the name to be used for the device. The name depends on the device 90 // Gets the name to be used for the device. The name depends on the device
84 // type (example values: Chromebook and Chromebox). 91 // type (example values: Chromebook and Chromebox).
85 base::string16 GetDeviceName(); 92 base::string16 GetDeviceName();
86 93
87 // Updates the screenlock auth type if it has to be changed. 94 // Updates the screenlock auth type if it has to be changed.
88 void UpdateScreenlockAuthType(); 95 void UpdateScreenlockAuthType();
89 96
90 State state_; 97 State state_;
91 std::string user_email_; 98 std::string user_email_;
92 PrefService* pref_service_; 99 PrefService* pref_service_;
93 ScreenlockBridge* screenlock_bridge_; 100 ScreenlockBridge* screenlock_bridge_;
94 101
102 // Whether the easy unlock is disabled due to user hardlocking the pod.
103 bool hardlocked_;
104 bool hardlock_ui_shown_;
105
95 DISALLOW_COPY_AND_ASSIGN(EasyUnlockScreenlockStateHandler); 106 DISALLOW_COPY_AND_ASSIGN(EasyUnlockScreenlockStateHandler);
96 }; 107 };
97 108
98 #endif // CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SCREENLOCK_STATE_HANDLER_H_ 109 #endif // CHROME_BROWSER_SIGNIN_EASY_UNLOCK_SCREENLOCK_STATE_HANDLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698