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 |