Home | History | Annotate | Download | only in browser
      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 
     10 namespace content {
     11 
     12 TimeZoneMonitorAndroid::TimeZoneMonitorAndroid() : TimeZoneMonitor() {
     13   impl_.Reset(Java_TimeZoneMonitor_getInstance(
     14       base::android::AttachCurrentThread(),
     15       base::android::GetApplicationContext(),
     16       reinterpret_cast<intptr_t>(this)));
     17 }
     18 
     19 TimeZoneMonitorAndroid::~TimeZoneMonitorAndroid() {
     20   Java_TimeZoneMonitor_stop(base::android::AttachCurrentThread(), impl_.obj());
     21 }
     22 
     23 // static
     24 bool TimeZoneMonitorAndroid::Register(JNIEnv* env) {
     25   return RegisterNativesImpl(env);
     26 }
     27 
     28 void TimeZoneMonitorAndroid::TimeZoneChangedFromJava(JNIEnv* env,
     29                                                      jobject caller) {
     30   NotifyRenderers();
     31 }
     32 
     33 // static
     34 scoped_ptr<TimeZoneMonitor> TimeZoneMonitor::Create() {
     35   return scoped_ptr<TimeZoneMonitor>(new TimeZoneMonitorAndroid());
     36 }
     37 
     38 }  // namespace content
     39