diff options
Diffstat (limited to 'content/browser/time_zone_monitor_android.cc')
-rw-r--r-- | content/browser/time_zone_monitor_android.cc | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/content/browser/time_zone_monitor_android.cc b/content/browser/time_zone_monitor_android.cc new file mode 100644 index 0000000..af57f80 --- /dev/null +++ b/content/browser/time_zone_monitor_android.cc @@ -0,0 +1,38 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "content/browser/time_zone_monitor_android.h" + +#include "base/android/jni_android.h" +#include "jni/TimeZoneMonitor_jni.h" + +namespace content { + +TimeZoneMonitorAndroid::TimeZoneMonitorAndroid() : TimeZoneMonitor() { + impl_.Reset(Java_TimeZoneMonitor_getInstance( + base::android::AttachCurrentThread(), + base::android::GetApplicationContext(), + reinterpret_cast<intptr_t>(this))); +} + +TimeZoneMonitorAndroid::~TimeZoneMonitorAndroid() { + Java_TimeZoneMonitor_stop(base::android::AttachCurrentThread(), impl_.obj()); +} + +// static +bool TimeZoneMonitorAndroid::Register(JNIEnv* env) { + return RegisterNativesImpl(env); +} + +void TimeZoneMonitorAndroid::TimeZoneChangedFromJava(JNIEnv* env, + jobject caller) { + NotifyRenderers(); +} + +// static +scoped_ptr<TimeZoneMonitor> TimeZoneMonitor::Create() { + return scoped_ptr<TimeZoneMonitor>(new TimeZoneMonitorAndroid()); +} + +} // namespace content |