Chromium Code Reviews| Index: chrome/browser/android/vr_shell/ui_elements/transience_manager.h |
| diff --git a/chrome/browser/android/vr_shell/ui_elements/transience_manager.h b/chrome/browser/android/vr_shell/ui_elements/transience_manager.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..a99de0d0c489cd1693ab198d2e6a3288f9caa23e |
| --- /dev/null |
| +++ b/chrome/browser/android/vr_shell/ui_elements/transience_manager.h |
| @@ -0,0 +1,41 @@ |
| +// Copyright 2017 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CHROME_BROWSER_ANDROID_VR_SHELL_UI_ELEMENTS_TRANSIENCE_MANAGER_H_ |
| +#define CHROME_BROWSER_ANDROID_VR_SHELL_UI_ELEMENTS_TRANSIENCE_MANAGER_H_ |
| + |
| +#include <memory> |
| + |
| +#include "base/macros.h" |
| +#include "base/timer/timer.h" |
| +#include "chrome/browser/android/vr_shell/ui_elements/ui_element.h" |
| + |
| +namespace vr_shell { |
| + |
| +class TransienceManager { |
| + public: |
| + TransienceManager(UiElement* element, const base::TimeDelta& timeout) |
| + : element_(element), timeout_(timeout) { |
|
bshe
2017/06/27 14:57:09
nit: move implementation to .cc file
cjgrant
2017/06/28 19:00:55
Done.
|
| + element_->set_visible(false); |
| + } |
| + |
| + virtual ~TransienceManager() = default; |
| + |
| + void SetEnabled(bool enabled); |
| + void KickVisibility(); |
|
bshe
2017/06/27 14:57:09
Perhaps name the function to showIfEnabled? It is
cjgrant
2017/06/28 19:00:55
Done. I use Kick instead of Show to keep the time
|
| + void EndVisibility(); |
|
bshe
2017/06/27 14:57:09
Remove this too?
cjgrant
2017/06/28 19:00:55
In this reworked version, we still need it.
|
| + |
| + private: |
| + void StartTimer(); |
| + void OnTimeout(); |
| + |
| + UiElement* element_; |
| + base::TimeDelta timeout_; |
| + bool enabled_ = false; |
| + base::OneShotTimer visibility_timer_; |
| +}; |
| + |
| +} // namespace vr_shell |
| + |
| +#endif // CHROME_BROWSER_ANDROID_VR_SHELL_UI_ELEMENTS_TRANSIENCE_MANAGER_H_ |