1 // Copyright (c) 2012 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/common/android/device_telephony_info.h" 6 7 #include "base/android/jni_android.h" 8 #include "base/android/jni_string.h" 9 #include "base/logging.h" 10 #include "jni/DeviceTelephonyInfo_jni.h" 11 12 using base::android::AttachCurrentThread; 13 using base::android::ConvertJavaStringToUTF8; 14 using base::android::ScopedJavaLocalRef; 15 16 namespace content { 17 DeviceTelephonyInfo()18DeviceTelephonyInfo::DeviceTelephonyInfo() { 19 JNIEnv* env = AttachCurrentThread(); 20 j_device_info_.Reset(Java_DeviceTelephonyInfo_create(env, 21 base::android::GetApplicationContext())); 22 } 23 ~DeviceTelephonyInfo()24DeviceTelephonyInfo::~DeviceTelephonyInfo() { 25 } 26 GetNetworkCountryIso()27std::string DeviceTelephonyInfo::GetNetworkCountryIso() { 28 JNIEnv* env = AttachCurrentThread(); 29 ScopedJavaLocalRef<jstring> result = 30 Java_DeviceTelephonyInfo_getNetworkCountryIso(env, j_device_info_.obj()); 31 return ConvertJavaStringToUTF8(result); 32 } 33 34 // static RegisterDeviceTelephonyInfo(JNIEnv * env)35bool DeviceTelephonyInfo::RegisterDeviceTelephonyInfo(JNIEnv* env) { 36 return RegisterNativesImpl(env); 37 } 38 39 } // namespace content 40