#ifndef CHROME_BROWSER_CHROMEOS_APP_MODE_KIOSK_MODE_IDLE_APP_NAME_NOTIFICATION_H_
#define CHROME_BROWSER_CHROMEOS_APP_MODE_KIOSK_MODE_IDLE_APP_NAME_NOTIFICATION_H_
#include "base/basictypes.h"
#include "base/compiler_specific.h"
#include "base/memory/scoped_ptr.h"
#include "base/timer/timer.h"
#include "chromeos/dbus/power_manager_client.h"
#include "ui/wm/core/user_activity_observer.h"
namespace chromeos {
class IdleAppNameNotificationView;
class KioskModeIdleAppNameNotification : public wm::UserActivityObserver,
public PowerManagerClient::Observer {
public:
static void Initialize();
static void Shutdown();
KioskModeIdleAppNameNotification();
virtual ~KioskModeIdleAppNameNotification();
private:
void Setup();
virtual void OnUserActivity(const ui::Event* event) OVERRIDE;
virtual void SystemResumed(const base::TimeDelta& sleep_duration) OVERRIDE;
void Start();
void ResetTimer();
void OnTimeout();
base::OneShotTimer<KioskModeIdleAppNameNotification> timer_;
bool show_notification_upon_next_user_activity_;
scoped_ptr<IdleAppNameNotificationView> notification_;
DISALLOW_COPY_AND_ASSIGN(KioskModeIdleAppNameNotification);
};
}
#endif