OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_CHROMEOS_LOGIN_SCREENS_UPDATE_SCREEN_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_UPDATE_SCREEN_H_ |
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_UPDATE_SCREEN_H_ | 6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_UPDATE_SCREEN_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 | 9 |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 | 72 |
73 // Skip update UI, usually used only in debug builds/tests. | 73 // Skip update UI, usually used only in debug builds/tests. |
74 void CancelUpdate(); | 74 void CancelUpdate(); |
75 | 75 |
76 base::OneShotTimer& GetErrorMessageTimerForTesting(); | 76 base::OneShotTimer& GetErrorMessageTimerForTesting(); |
77 | 77 |
78 private: | 78 private: |
79 FRIEND_TEST_ALL_PREFIXES(UpdateScreenTest, TestBasic); | 79 FRIEND_TEST_ALL_PREFIXES(UpdateScreenTest, TestBasic); |
80 FRIEND_TEST_ALL_PREFIXES(UpdateScreenTest, TestUpdateAvailable); | 80 FRIEND_TEST_ALL_PREFIXES(UpdateScreenTest, TestUpdateAvailable); |
81 FRIEND_TEST_ALL_PREFIXES(UpdateScreenTest, TestAPReselection); | 81 FRIEND_TEST_ALL_PREFIXES(UpdateScreenTest, TestAPReselection); |
| 82 friend class UpdateScreenUnitTest; |
82 | 83 |
83 enum class State { | 84 enum class State { |
84 STATE_IDLE = 0, | 85 STATE_IDLE = 0, |
85 STATE_FIRST_PORTAL_CHECK, | 86 STATE_FIRST_PORTAL_CHECK, |
86 STATE_UPDATE, | 87 STATE_UPDATE, |
87 STATE_ERROR | 88 STATE_ERROR |
88 }; | 89 }; |
89 | 90 |
90 // BaseScreen: | 91 // BaseScreen: |
91 void Show() override; | 92 void Show() override; |
(...skipping 26 matching lines...) Expand all Loading... |
118 void HideErrorMessage(); | 119 void HideErrorMessage(); |
119 void UpdateErrorMessage( | 120 void UpdateErrorMessage( |
120 const NetworkState* network, | 121 const NetworkState* network, |
121 const NetworkPortalDetector::CaptivePortalStatus status); | 122 const NetworkPortalDetector::CaptivePortalStatus status); |
122 | 123 |
123 void DelayErrorMessage(); | 124 void DelayErrorMessage(); |
124 | 125 |
125 // The user requested an attempt to connect to the network should be made. | 126 // The user requested an attempt to connect to the network should be made. |
126 void OnConnectRequested(); | 127 void OnConnectRequested(); |
127 | 128 |
| 129 // Records the fact that we performed an update check but do not yet |
| 130 // know if this update check is going to result in an update. |
| 131 void RecordUpdateCheckWithNoUpdateYet(); |
| 132 |
| 133 // When an update is found, this is called to clear the time of update check |
| 134 // which had saved when we did not yet know whether it would result in an |
| 135 // update. |
| 136 void ClearUpdateCheckNoUpdateTime(); |
| 137 |
| 138 // Returns true if we should check for an update. |
| 139 bool ShouldCheckForUpdate(); |
| 140 |
128 // Timer for the interval to wait for the reboot. | 141 // Timer for the interval to wait for the reboot. |
129 // If reboot didn't happen - ask user to reboot manually. | 142 // If reboot didn't happen - ask user to reboot manually. |
130 base::OneShotTimer reboot_timer_; | 143 base::OneShotTimer reboot_timer_; |
131 | 144 |
132 // Returns a static InstanceSet. | 145 // Returns a static InstanceSet. |
133 // TODO(jdufault): There should only ever be one instance of this class. | 146 // TODO(jdufault): There should only ever be one instance of this class. |
134 // Remove support for supporting multiple instances. See crbug.com/672142. | 147 // Remove support for supporting multiple instances. See crbug.com/672142. |
135 typedef std::set<UpdateScreen*> InstanceSet; | 148 typedef std::set<UpdateScreen*> InstanceSet; |
136 static InstanceSet& GetInstanceSet(); | 149 static InstanceSet& GetInstanceSet(); |
137 | 150 |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 ErrorScreen::ConnectRequestCallbackSubscription connect_request_subscription_; | 202 ErrorScreen::ConnectRequestCallbackSubscription connect_request_subscription_; |
190 | 203 |
191 base::WeakPtrFactory<UpdateScreen> weak_factory_; | 204 base::WeakPtrFactory<UpdateScreen> weak_factory_; |
192 | 205 |
193 DISALLOW_COPY_AND_ASSIGN(UpdateScreen); | 206 DISALLOW_COPY_AND_ASSIGN(UpdateScreen); |
194 }; | 207 }; |
195 | 208 |
196 } // namespace chromeos | 209 } // namespace chromeos |
197 | 210 |
198 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_UPDATE_SCREEN_H_ | 211 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_UPDATE_SCREEN_H_ |
OLD | NEW |