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 TimeZoneMonitorAndroid()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 ~TimeZoneMonitorAndroid()19TimeZoneMonitorAndroid::~TimeZoneMonitorAndroid() { 20 Java_TimeZoneMonitor_stop(base::android::AttachCurrentThread(), impl_.obj()); 21 } 22 23 // static Register(JNIEnv * env)24bool TimeZoneMonitorAndroid::Register(JNIEnv* env) { 25 return RegisterNativesImpl(env); 26 } 27 TimeZoneChangedFromJava(JNIEnv * env,jobject caller)28void TimeZoneMonitorAndroid::TimeZoneChangedFromJava(JNIEnv* env, 29 jobject caller) { 30 NotifyRenderers(); 31 } 32 33 // static Create()34scoped_ptr<TimeZoneMonitor> TimeZoneMonitor::Create() { 35 return scoped_ptr<TimeZoneMonitor>(new TimeZoneMonitorAndroid()); 36 } 37 38 } // namespace content 39