| // 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 |