| OLD | NEW |
| (Empty) | |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "chrome/browser/android/vr_shell/ui_elements/transience_manager.h" |
| 6 |
| 7 namespace vr_shell { |
| 8 |
| 9 TransienceManager::TransienceManager(UiElement* element, |
| 10 const base::TimeDelta& timeout) |
| 11 : element_(element), timeout_(timeout) { |
| 12 element_->set_visible(false); |
| 13 } |
| 14 |
| 15 void TransienceManager::SetEnabled(bool enabled) { |
| 16 if (enabled_ == enabled) |
| 17 return; |
| 18 enabled_ = enabled; |
| 19 if (enabled) { |
| 20 element_->set_visible(true); |
| 21 StartTimer(); |
| 22 } else { |
| 23 element_->set_visible(false); |
| 24 visibility_timer_.Stop(); |
| 25 } |
| 26 } |
| 27 |
| 28 void TransienceManager::KickVisibilityIfEnabled() { |
| 29 if (enabled_) { |
| 30 element_->set_visible(true); |
| 31 StartTimer(); |
| 32 } |
| 33 } |
| 34 |
| 35 void TransienceManager::EndVisibilityIfEnabled() { |
| 36 if (enabled_) { |
| 37 element_->set_visible(false); |
| 38 visibility_timer_.Stop(); |
| 39 } |
| 40 } |
| 41 |
| 42 void TransienceManager::StartTimer() { |
| 43 visibility_timer_.Start( |
| 44 FROM_HERE, timeout_, |
| 45 base::Bind(&TransienceManager::OnTimeout, base::Unretained(this))); |
| 46 } |
| 47 |
| 48 void TransienceManager::OnTimeout() { |
| 49 element_->set_visible(false); |
| 50 } |
| 51 |
| 52 } // namespace vr_shell |
| OLD | NEW |