1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "content/browser/time_zone_monitor_android.h"
6
7#include "base/android/jni_android.h"
8#include "jni/TimeZoneMonitor_jni.h"
9
10namespace content {
11
12TimeZoneMonitorAndroid::TimeZoneMonitorAndroid() : TimeZoneMonitor() {
13  impl_.Reset(Java_TimeZoneMonitor_getInstance(
14      base::android::AttachCurrentThread(),
15      base::android::GetApplicationContext(),
16      reinterpret_cast<intptr_t>(this)));
17}
18
19TimeZoneMonitorAndroid::~TimeZoneMonitorAndroid() {
20  Java_TimeZoneMonitor_stop(base::android::AttachCurrentThread(), impl_.obj());
21}
22
23// static
24bool TimeZoneMonitorAndroid::Register(JNIEnv* env) {
25  return RegisterNativesImpl(env);
26}
27
28void TimeZoneMonitorAndroid::TimeZoneChangedFromJava(JNIEnv* env,
29                                                     jobject caller) {
30  NotifyRenderers();
31}
32
33// static
34scoped_ptr<TimeZoneMonitor> TimeZoneMonitor::Create() {
35  return scoped_ptr<TimeZoneMonitor>(new TimeZoneMonitorAndroid());
36}
37
38}  // namespace content
39