This source file includes following definitions.
- is_locked_
- CheckState
- ShouldShowNotificationAsPopup
#include "chrome/browser/notifications/screen_lock_notification_blocker.h"
#include "base/time/time.h"
#include "chrome/browser/idle.h"
namespace {
const int kUserStatePollingIntervalSeconds = 1;
}
ScreenLockNotificationBlocker::ScreenLockNotificationBlocker(
message_center::MessageCenter* message_center)
: NotificationBlocker(message_center),
is_locked_(false) {
}
ScreenLockNotificationBlocker::~ScreenLockNotificationBlocker() {
}
void ScreenLockNotificationBlocker::CheckState() {
bool was_locked = is_locked_;
is_locked_ = CheckIdleStateIsLocked();
if (is_locked_ != was_locked)
NotifyBlockingStateChanged();
if (is_locked_) {
timer_.Start(FROM_HERE,
base::TimeDelta::FromSeconds(kUserStatePollingIntervalSeconds),
this,
&ScreenLockNotificationBlocker::CheckState);
}
}
bool ScreenLockNotificationBlocker::ShouldShowNotificationAsPopup(
const message_center::NotifierId& notifier_id) const {
return !is_locked_;
}