Index: ui/wm/core/user_activity_detector.cc |
diff --git a/ui/wm/core/user_activity_detector.cc b/ui/wm/core/user_activity_detector.cc |
index 56bf563b3d032f11b34b87a5af295b78f11c4b7e..666cc3164080f9d42fc4701820535b7386d9d624 100644 |
--- a/ui/wm/core/user_activity_detector.cc |
+++ b/ui/wm/core/user_activity_detector.cc |
@@ -14,6 +14,8 @@ namespace wm { |
namespace { |
+UserActivityDetector* g_instance = NULL; |
oshima
2014/10/31 16:53:31
My preference is no g_ for file scoped variable as
|
+ |
// Returns a string describing |event|. |
std::string GetEventDebugString(const ui::Event* event) { |
std::string details = base::StringPrintf( |
@@ -43,10 +45,22 @@ const int UserActivityDetector::kNotifyIntervalMs = 200; |
// and we'll ignore legitimate activity. |
const int UserActivityDetector::kDisplayPowerChangeIgnoreMouseMs = 1000; |
-UserActivityDetector::UserActivityDetector() { |
+// static |
+void UserActivityDetector::Create() { |
+ CHECK(!g_instance); |
+ g_instance = new UserActivityDetector(); |
oshima
2014/10/31 16:53:31
Initialize in ctor/dtor.
|
} |
-UserActivityDetector::~UserActivityDetector() { |
+// static |
+void UserActivityDetector::Shutdown() { |
+ CHECK(g_instance); |
+ delete g_instance; |
+ g_instance = NULL; |
+} |
+ |
+// static |
+UserActivityDetector* UserActivityDetector::Get() { |
+ return g_instance; |
} |
bool UserActivityDetector::HasObserver(UserActivityObserver* observer) const { |
@@ -92,6 +106,12 @@ void UserActivityDetector::OnGestureEvent(ui::GestureEvent* event) { |
HandleActivity(event); |
} |
+UserActivityDetector::UserActivityDetector() { |
+} |
+ |
+UserActivityDetector::~UserActivityDetector() { |
+} |
+ |
base::TimeTicks UserActivityDetector::GetCurrentTime() const { |
return !now_for_test_.is_null() ? now_for_test_ : base::TimeTicks::Now(); |
} |