OLD | NEW |
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/chromeos/camera_presence_notifier.h" | 5 #include "chrome/browser/chromeos/camera_presence_notifier.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/memory/singleton.h" | 8 #include "base/memory/singleton.h" |
9 #include "base/time/time.h" | 9 #include "base/time/time.h" |
10 #include "chrome/browser/chromeos/camera_detector.h" | 10 #include "chrome/browser/chromeos/camera_detector.h" |
11 | 11 |
12 namespace chromeos { | 12 namespace chromeos { |
13 | 13 |
14 namespace { | 14 namespace { |
15 | 15 |
16 // Interval between checks for camera presence. | 16 // Interval between checks for camera presence. |
17 const int kCameraCheckIntervalSeconds = 3; | 17 const int kCameraCheckIntervalSeconds = 3; |
18 | 18 |
19 } // namespace | 19 } // namespace |
20 | 20 |
21 CameraPresenceNotifier::CameraPresenceNotifier() : | 21 CameraPresenceNotifier::CameraPresenceNotifier() : |
22 camera_present_on_last_check_(false), | 22 camera_present_on_last_check_(false), |
23 weak_factory_(this) {} | 23 weak_factory_(this) {} |
24 | 24 |
25 CameraPresenceNotifier::~CameraPresenceNotifier() {} | 25 CameraPresenceNotifier::~CameraPresenceNotifier() {} |
26 | 26 |
27 // static | 27 // static |
28 CameraPresenceNotifier* CameraPresenceNotifier::GetInstance() { | 28 CameraPresenceNotifier* CameraPresenceNotifier::GetInstance() { |
29 return Singleton<CameraPresenceNotifier>::get(); | 29 return base::Singleton<CameraPresenceNotifier>::get(); |
30 } | 30 } |
31 | 31 |
32 void CameraPresenceNotifier::AddObserver( | 32 void CameraPresenceNotifier::AddObserver( |
33 CameraPresenceNotifier::Observer* observer) { | 33 CameraPresenceNotifier::Observer* observer) { |
34 bool had_no_observers = !observers_.might_have_observers(); | 34 bool had_no_observers = !observers_.might_have_observers(); |
35 observers_.AddObserver(observer); | 35 observers_.AddObserver(observer); |
36 observer->OnCameraPresenceCheckDone(camera_present_on_last_check_); | 36 observer->OnCameraPresenceCheckDone(camera_present_on_last_check_); |
37 if (had_no_observers) { | 37 if (had_no_observers) { |
38 CheckCameraPresence(); | 38 CheckCameraPresence(); |
39 camera_check_timer_.Start( | 39 camera_check_timer_.Start( |
(...skipping 24 matching lines...) Expand all Loading... |
64 CameraDetector::camera_presence() == CameraDetector::kCameraPresent; | 64 CameraDetector::camera_presence() == CameraDetector::kCameraPresent; |
65 if (is_camera_present != camera_present_on_last_check_) { | 65 if (is_camera_present != camera_present_on_last_check_) { |
66 camera_present_on_last_check_ = is_camera_present; | 66 camera_present_on_last_check_ = is_camera_present; |
67 FOR_EACH_OBSERVER(Observer, | 67 FOR_EACH_OBSERVER(Observer, |
68 observers_, | 68 observers_, |
69 OnCameraPresenceCheckDone(camera_present_on_last_check_)); | 69 OnCameraPresenceCheckDone(camera_present_on_last_check_)); |
70 } | 70 } |
71 } | 71 } |
72 | 72 |
73 } // namespace chromeos | 73 } // namespace chromeos |
OLD | NEW |