#include "chromeos/dbus/power_manager_client.h"
namespace ash {
-namespace internal {
-
namespace tray {
class BrightnessView;
}
-class TrayBrightness : public SystemTrayItem,
- public chromeos::PowerManagerClient::Observer {
+class ASH_EXPORT TrayBrightness
+ : public SystemTrayItem,
+ public chromeos::PowerManagerClient::Observer {
public:
explicit TrayBrightness(SystemTray* system_tray);
virtual ~TrayBrightness();
private:
+ friend class TrayBrightnessTest;
+
// Sends a request to get the current screen brightness so |current_percent_|
// can be initialized.
void GetInitialBrightness();
void HandleInitialBrightness(double percent);
// Overridden from SystemTrayItem.
- virtual views::View* CreateTrayView(user::LoginStatus status) OVERRIDE;
- virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE;
- virtual views::View* CreateDetailedView(user::LoginStatus status) OVERRIDE;
- virtual void DestroyTrayView() OVERRIDE;
- virtual void DestroyDefaultView() OVERRIDE;
- virtual void DestroyDetailedView() OVERRIDE;
- virtual void UpdateAfterLoginStatusChange(user::LoginStatus status) OVERRIDE;
- virtual bool ShouldHideArrow() const OVERRIDE;
- virtual bool ShouldShowLauncher() const OVERRIDE;
+ virtual views::View* CreateTrayView(user::LoginStatus status) override;
+ virtual views::View* CreateDefaultView(user::LoginStatus status) override;
+ virtual views::View* CreateDetailedView(user::LoginStatus status) override;
+ virtual void DestroyTrayView() override;
+ virtual void DestroyDefaultView() override;
+ virtual void DestroyDetailedView() override;
+ virtual void UpdateAfterLoginStatusChange(user::LoginStatus status) override;
+ virtual bool ShouldHideArrow() const override;
+ virtual bool ShouldShowShelf() const override;
// Overriden from PowerManagerClient::Observer.
- virtual void BrightnessChanged(int level, bool user_initiated) OVERRIDE;
+ virtual void BrightnessChanged(int level, bool user_initiated) override;
void HandleBrightnessChanged(double percent, bool user_initiated);
- base::WeakPtrFactory<TrayBrightness> weak_ptr_factory_;
-
tray::BrightnessView* brightness_view_;
- // Was |brightness_view_| created for CreateDefaultView() rather than
- // CreateDetailedView()? Used to avoid resetting |brightness_view_|
- // inappropriately in DestroyDefaultView() or DestroyDetailedView().
- bool is_default_view_;
-
// Brightness level in the range [0.0, 100.0] that we've heard about most
// recently.
double current_percent_;
// Has |current_percent_| been initialized?
bool got_current_percent_;
+ base::WeakPtrFactory<TrayBrightness> weak_ptr_factory_;
+
DISALLOW_COPY_AND_ASSIGN(TrayBrightness);
};
-} // namespace internal
} // namespace ash
#endif // ASH_SYSTEM_CHROMEOS_BRIGHTNESS_TRAY_BRIGHTNESS_H_