// Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "base/android/callback_android.h" #include "base/android/jni_array.h" #include "base/android/jni_string.h" #include "base/android/scoped_java_ref.h" #include "jni/Callback_jni.h" namespace base { namespace android { void RunCallbackAndroid(const JavaRef& callback, const JavaRef& arg) { Java_Helper_onObjectResultFromNative(AttachCurrentThread(), callback, arg); } void RunCallbackAndroid(const JavaRef& callback, bool arg) { Java_Helper_onBooleanResultFromNative(AttachCurrentThread(), callback, static_cast(arg)); } void RunCallbackAndroid(const JavaRef& callback, int arg) { Java_Helper_onIntResultFromNative(AttachCurrentThread(), callback, arg); } void RunStringCallbackAndroid(const JavaRef& callback, const std::string& arg) { JNIEnv* env = AttachCurrentThread(); ScopedJavaLocalRef java_string = ConvertUTF8ToJavaString(env, arg); Java_Helper_onObjectResultFromNative(env, callback, java_string); } void RunCallbackAndroid(const JavaRef& callback, const std::vector& arg) { JNIEnv* env = AttachCurrentThread(); ScopedJavaLocalRef j_bytes = ToJavaByteArray(env, arg); Java_Helper_onObjectResultFromNative(env, callback, j_bytes); } } // namespace android } // namespace base