summaryrefslogtreecommitdiffstats
path: root/ash
diff options
context:
space:
mode:
authorstevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-15 18:19:48 +0000
committerstevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-15 18:19:48 +0000
commit3d649cfbb37d250a7e824dcbd046e6360c911f88 (patch)
tree45bbab4289b501c250bf088b41d046c904ebdbc0 /ash
parent8df857a1790f661290dfcc86291e11103b0452ac (diff)
downloadchromium_src-3d649cfbb37d250a7e824dcbd046e6360c911f88.zip
chromium_src-3d649cfbb37d250a7e824dcbd046e6360c911f88.tar.gz
chromium_src-3d649cfbb37d250a7e824dcbd046e6360c911f88.tar.bz2
Move TimezoneSettings::Observer -> SystemClockObserver
BUG=270135 R=derat@chromium.org Review URL: https://codereview.chromium.org/26959007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228726 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash')
-rw-r--r--ash/system/chromeos/system_clock_observer.cc6
-rw-r--r--ash/system/chromeos/system_clock_observer.h8
2 files changed, 13 insertions, 1 deletions
diff --git a/ash/system/chromeos/system_clock_observer.cc b/ash/system/chromeos/system_clock_observer.cc
index 5061793..9142dd9 100644
--- a/ash/system/chromeos/system_clock_observer.cc
+++ b/ash/system/chromeos/system_clock_observer.cc
@@ -13,11 +13,13 @@ namespace internal {
SystemClockObserver::SystemClockObserver() {
chromeos::DBusThreadManager::Get()->GetSystemClockClient()
->AddObserver(this);
+ chromeos::system::TimezoneSettings::GetInstance()->AddObserver(this);
}
SystemClockObserver::~SystemClockObserver() {
chromeos::DBusThreadManager::Get()->GetSystemClockClient()
->RemoveObserver(this);
+ chromeos::system::TimezoneSettings::GetInstance()->RemoveObserver(this);
}
void SystemClockObserver::SystemClockUpdated() {
@@ -25,5 +27,9 @@ void SystemClockObserver::SystemClockUpdated() {
->NotifySystemClockTimeUpdated();
}
+void SystemClockObserver::TimezoneChanged(const icu::TimeZone& timezone) {
+ Shell::GetInstance()->system_tray_notifier()->NotifyRefreshClock();
+}
+
} // namespace internal
} // namespace ash
diff --git a/ash/system/chromeos/system_clock_observer.h b/ash/system/chromeos/system_clock_observer.h
index 9dcc854..e2625a8 100644
--- a/ash/system/chromeos/system_clock_observer.h
+++ b/ash/system/chromeos/system_clock_observer.h
@@ -6,11 +6,14 @@
#define ASH_SYSTEM_CHROMEOS_SYSTEM_CLOCK_OBSERVER_H_
#include "chromeos/dbus/system_clock_client.h"
+#include "chromeos/settings/timezone_settings.h"
namespace ash {
namespace internal {
-class SystemClockObserver : public chromeos::SystemClockClient::Observer {
+class SystemClockObserver
+ : public chromeos::SystemClockClient::Observer,
+ public chromeos::system::TimezoneSettings::Observer {
public:
SystemClockObserver();
virtual ~SystemClockObserver();
@@ -18,6 +21,9 @@ class SystemClockObserver : public chromeos::SystemClockClient::Observer {
// chromeos::SystemClockClient::Observer
virtual void SystemClockUpdated() OVERRIDE;
+ // chromeos::system::TimezoneSettings::Observer
+ virtual void TimezoneChanged(const icu::TimeZone& timezone) OVERRIDE;
+
private:
DISALLOW_COPY_AND_ASSIGN(SystemClockObserver);
};