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