| Index: athena/system/power_button_controller.h
|
| diff --git a/athena/system/power_button_controller.h b/athena/system/power_button_controller.h
|
| index 0d4bd0e50b609069573f45c7df9a08bab221681d..d251339cd6b593199e7610a63d49b93c90a7cc55 100644
|
| --- a/athena/system/power_button_controller.h
|
| +++ b/athena/system/power_button_controller.h
|
| @@ -5,24 +5,31 @@
|
| #ifndef ATHENA_SYSTEM_POWER_BUTTON_CONTROLLER_H_
|
| #define ATHENA_SYSTEM_POWER_BUTTON_CONTROLLER_H_
|
|
|
| +#include "base/memory/scoped_ptr.h"
|
| #include "base/time/time.h"
|
| +#include "base/timer/timer.h"
|
| #include "chromeos/dbus/power_manager_client.h"
|
| -#include "ui/compositor/layer_animation_observer.h"
|
| -#include "ui/gfx/animation/tween.h"
|
| +
|
| +namespace aura {
|
| +class Window;
|
| +}
|
| +
|
| +namespace views {
|
| +class Widget;
|
| +}
|
|
|
| namespace athena {
|
|
|
| // Shuts down in response to the power button being pressed.
|
| -class PowerButtonController : public chromeos::PowerManagerClient::Observer,
|
| - public ui::ImplicitAnimationObserver {
|
| +class PowerButtonController : public chromeos::PowerManagerClient::Observer {
|
| public:
|
| - PowerButtonController();
|
| + explicit PowerButtonController(aura::Window* dialog_container);
|
| virtual ~PowerButtonController();
|
|
|
| private:
|
| enum State {
|
| - // The screen is animating prior to shutdown. Shutdown can be canceled.
|
| - STATE_PRE_SHUTDOWN_ANIMATION,
|
| + // A suspend request will be sent when the power button is released.
|
| + STATE_SUSPEND_ON_RELEASE,
|
|
|
| // A D-Bus shutdown request has been sent. Shutdown cannot be canceled.
|
| STATE_SHUTDOWN_REQUESTED,
|
| @@ -30,10 +37,11 @@ class PowerButtonController : public chromeos::PowerManagerClient::Observer,
|
| STATE_OTHER
|
| };
|
|
|
| - // Animates the screen's grayscale and brightness to |target|.
|
| - void StartGrayscaleAndBrightnessAnimation(float target,
|
| - int duration_ms,
|
| - gfx::Tween::Type tween_type);
|
| + // Shows the shutdown warning dialog.
|
| + void ShowShutdownWarningDialog();
|
| +
|
| + // Requests shutdown.
|
| + void Shutdown();
|
|
|
| // chromeos::PowerManagerClient::Observer:
|
| virtual void BrightnessChanged(int level, bool user_initiated) OVERRIDE;
|
| @@ -41,8 +49,11 @@ class PowerButtonController : public chromeos::PowerManagerClient::Observer,
|
| bool down,
|
| const base::TimeTicks& timestamp) OVERRIDE;
|
|
|
| - // ui::ImplicitAnimationObserver:
|
| - virtual void OnImplicitAnimationsCompleted() OVERRIDE;
|
| + // Parent container that |shutdown_warning_message_| should use.
|
| + aura::Window* warning_message_container_;
|
| +
|
| + // Shows a warning that the device is about to be shut down.
|
| + scoped_ptr<views::Widget> shutdown_warning_message_;
|
|
|
| // Whether the screen brightness was reduced to 0%.
|
| bool brightness_is_zero_;
|
| @@ -52,6 +63,8 @@ class PowerButtonController : public chromeos::PowerManagerClient::Observer,
|
|
|
| State state_;
|
|
|
| + base::OneShotTimer<PowerButtonController> timer_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(PowerButtonController);
|
| };
|
|
|
|
|