| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #include "ash/system/chromeos/system_clock_observer.h" | 5 #include "ash/system/chromeos/system_clock_observer.h" |
| 6 | 6 |
| 7 #include "ash/shell.h" | 7 #include "ash/shell.h" |
| 8 #include "ash/system/tray/system_tray_notifier.h" | 8 #include "ash/system/tray/system_tray_notifier.h" |
| 9 #include "chromeos/dbus/dbus_thread_manager.h" | 9 #include "chromeos/dbus/dbus_thread_manager.h" |
| 10 | 10 |
| 11 namespace ash { | 11 namespace ash { |
| 12 | 12 |
| 13 SystemClockObserver::SystemClockObserver() { | 13 SystemClockObserver::SystemClockObserver() { |
| 14 chromeos::DBusThreadManager::Get()->GetSystemClockClient() | 14 chromeos::DBusThreadManager::Get()->GetSystemClockClient() |
| 15 ->AddObserver(this); | 15 ->AddObserver(this); |
| 16 chromeos::system::TimezoneSettings::GetInstance()->AddObserver(this); | 16 chromeos::system::TimezoneSettings::GetInstance()->AddObserver(this); |
| 17 can_set_time_ = |
| 18 chromeos::DBusThreadManager::Get()->GetSystemClockClient()->CanSetTime(); |
| 17 } | 19 } |
| 18 | 20 |
| 19 SystemClockObserver::~SystemClockObserver() { | 21 SystemClockObserver::~SystemClockObserver() { |
| 20 chromeos::DBusThreadManager::Get()->GetSystemClockClient() | 22 chromeos::DBusThreadManager::Get()->GetSystemClockClient() |
| 21 ->RemoveObserver(this); | 23 ->RemoveObserver(this); |
| 22 chromeos::system::TimezoneSettings::GetInstance()->RemoveObserver(this); | 24 chromeos::system::TimezoneSettings::GetInstance()->RemoveObserver(this); |
| 23 } | 25 } |
| 24 | 26 |
| 25 void SystemClockObserver::SystemClockUpdated() { | 27 void SystemClockObserver::SystemClockUpdated() { |
| 28 Shell::GetInstance()->system_tray_notifier()->NotifySystemClockTimeUpdated(); |
| 29 } |
| 30 |
| 31 void SystemClockObserver::SystemClockCanSetTimeChanged(bool can_set_time) { |
| 32 can_set_time_ = can_set_time; |
| 26 Shell::GetInstance()->system_tray_notifier() | 33 Shell::GetInstance()->system_tray_notifier() |
| 27 ->NotifySystemClockTimeUpdated(); | 34 ->NotifySystemClockCanSetTimeChanged(can_set_time_); |
| 28 } | 35 } |
| 29 | 36 |
| 30 void SystemClockObserver::TimezoneChanged(const icu::TimeZone& timezone) { | 37 void SystemClockObserver::TimezoneChanged(const icu::TimeZone& timezone) { |
| 31 Shell::GetInstance()->system_tray_notifier()->NotifyRefreshClock(); | 38 Shell::GetInstance()->system_tray_notifier()->NotifyRefreshClock(); |
| 32 } | 39 } |
| 33 | 40 |
| 34 } // namespace ash | 41 } // namespace ash |
| OLD | NEW |