| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef ASH_SYSTEM_CHROMEOS_POWER_TRAY_POWER_H_ | 5 #ifndef ASH_SYSTEM_CHROMEOS_POWER_TRAY_POWER_H_ |
| 6 #define ASH_SYSTEM_CHROMEOS_POWER_TRAY_POWER_H_ | 6 #define ASH_SYSTEM_CHROMEOS_POWER_TRAY_POWER_H_ |
| 7 | 7 |
| 8 #include "ash/system/chromeos/power/power_status.h" | 8 #include "ash/system/chromeos/power/power_status.h" |
| 9 #include "ash/system/tray/system_tray_item.h" | 9 #include "ash/system/tray/system_tray_item.h" |
| 10 | 10 |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 static const int kLowPowerPercentage; | 51 static const int kLowPowerPercentage; |
| 52 static const int kNoWarningPercentage; | 52 static const int kNoWarningPercentage; |
| 53 | 53 |
| 54 TrayPower(SystemTray* system_tray, | 54 TrayPower(SystemTray* system_tray, |
| 55 message_center::MessageCenter* message_center); | 55 message_center::MessageCenter* message_center); |
| 56 virtual ~TrayPower(); | 56 virtual ~TrayPower(); |
| 57 | 57 |
| 58 private: | 58 private: |
| 59 friend class TrayPowerTest; | 59 friend class TrayPowerTest; |
| 60 | 60 |
| 61 // This enum is used for histogram. The existing values should not be removed, |
| 62 // and the new values should be added just before CHARGER_TYPE_COUNT. |
| 63 enum ChargerType{ |
| 64 UNKNOWN_CHARGER, |
| 65 MAINS_CHARGER, |
| 66 USB_CHARGER, |
| 67 UNCONFIRMED_SPRING_CHARGER, |
| 68 SAFE_SPRING_CHARGER, |
| 69 CHARGER_TYPE_COUNT, |
| 70 }; |
| 71 |
| 61 // Overridden from SystemTrayItem. | 72 // Overridden from SystemTrayItem. |
| 62 virtual views::View* CreateTrayView(user::LoginStatus status) OVERRIDE; | 73 virtual views::View* CreateTrayView(user::LoginStatus status) OVERRIDE; |
| 63 virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE; | 74 virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE; |
| 64 virtual views::View* CreateNotificationView( | 75 virtual views::View* CreateNotificationView( |
| 65 user::LoginStatus status) OVERRIDE; | 76 user::LoginStatus status) OVERRIDE; |
| 66 virtual void DestroyTrayView() OVERRIDE; | 77 virtual void DestroyTrayView() OVERRIDE; |
| 67 virtual void DestroyDefaultView() OVERRIDE; | 78 virtual void DestroyDefaultView() OVERRIDE; |
| 68 virtual void DestroyNotificationView() OVERRIDE; | 79 virtual void DestroyNotificationView() OVERRIDE; |
| 69 virtual void UpdateAfterLoginStatusChange(user::LoginStatus status) OVERRIDE; | 80 virtual void UpdateAfterLoginStatusChange(user::LoginStatus status) OVERRIDE; |
| 70 virtual void UpdateAfterShelfAlignmentChange( | 81 virtual void UpdateAfterShelfAlignmentChange( |
| 71 ShelfAlignment alignment) OVERRIDE; | 82 ShelfAlignment alignment) OVERRIDE; |
| 72 | 83 |
| 73 // Overridden from PowerStatus::Observer. | 84 // Overridden from PowerStatus::Observer. |
| 74 virtual void OnPowerStatusChanged() OVERRIDE; | 85 virtual void OnPowerStatusChanged() OVERRIDE; |
| 75 | 86 |
| 76 // Show a notification that a low-power USB charger has been connected. | 87 // Show a notification that a low-power USB charger has been connected. |
| 77 // Returns true if a notification was shown or explicitly hidden. | 88 // Returns true if a notification was shown or explicitly hidden. |
| 78 bool MaybeShowUsbChargerNotification(); | 89 bool MaybeShowUsbChargerNotification(); |
| 79 | 90 |
| 80 // Sets |notification_state_|. Returns true if a notification should be shown. | 91 // Sets |notification_state_|. Returns true if a notification should be shown. |
| 81 bool UpdateNotificationState(); | 92 bool UpdateNotificationState(); |
| 82 bool UpdateNotificationStateForRemainingTime(); | 93 bool UpdateNotificationStateForRemainingTime(); |
| 83 bool UpdateNotificationStateForRemainingPercentage(); | 94 bool UpdateNotificationStateForRemainingPercentage(); |
| 84 | 95 |
| 96 // Records the charger type in UMA. |
| 97 void RecordChargerType(); |
| 98 |
| 85 message_center::MessageCenter* message_center_; // Not owned. | 99 message_center::MessageCenter* message_center_; // Not owned. |
| 86 tray::PowerTrayView* power_tray_; | 100 tray::PowerTrayView* power_tray_; |
| 87 tray::PowerNotificationView* notification_view_; | 101 tray::PowerNotificationView* notification_view_; |
| 88 NotificationState notification_state_; | 102 NotificationState notification_state_; |
| 89 | 103 |
| 90 // Was a USB charger connected the last time OnPowerStatusChanged() was | 104 // Was a USB charger connected the last time OnPowerStatusChanged() was |
| 91 // called? | 105 // called? |
| 92 bool usb_charger_was_connected_; | 106 bool usb_charger_was_connected_; |
| 93 | 107 |
| 108 // Was line power connected the last time onPowerStatusChanged() was called? |
| 109 bool line_power_was_connected_; |
| 110 |
| 94 DISALLOW_COPY_AND_ASSIGN(TrayPower); | 111 DISALLOW_COPY_AND_ASSIGN(TrayPower); |
| 95 }; | 112 }; |
| 96 | 113 |
| 97 } // namespace internal | 114 } // namespace internal |
| 98 } // namespace ash | 115 } // namespace ash |
| 99 | 116 |
| 100 #endif // ASH_SYSTEM_CHROMEOS_POWER_TRAY_POWER_H_ | 117 #endif // ASH_SYSTEM_CHROMEOS_POWER_TRAY_POWER_H_ |
| OLD | NEW |