| // Copyright 2016 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. |
| |
| module ui.mojom; |
| |
| interface UserActivityObserver { |
| OnUserActivity(); |
| }; |
| |
| interface UserIdleObserver { |
| enum IdleState { |
| ACTIVE, |
| IDLE, |
| }; |
| OnUserIdleStateChanged(IdleState new_state); |
| }; |
| |
| interface UserActivityMonitor { |
| // Notifies the observer of user activity at most once every |
| // |delay_between_notify_secs| seconds. |
| AddUserActivityObserver(uint32 delay_between_notify_secs, |
| UserActivityObserver observer); |
| |
| // Notifies the observer when user is idle for more than |
| // |idle_time_in_minutes| minutes. When the observer is first added, if the |
| // user has already been idle for |idle_time_in_minutes|, then |
| // OnUserIdleStateChanged(IDLE) is called on the observer, otherwise |
| // OnUserIdleStateChanged(ACTIVE) is called. |
| AddUserIdleObserver(uint32 idle_time_in_minutes, UserIdleObserver observer); |
| }; |