// 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 "base/base_jni_headers/Callback_jni.h" namespace base { namespace android { void RunObjectCallbackAndroid(const JavaRef& callback, const JavaRef& arg) { Java_Helper_onObjectResultFromNative(AttachCurrentThread(), callback, arg); } void RunBooleanCallbackAndroid(const JavaRef& callback, bool arg) { Java_Helper_onBooleanResultFromNative(AttachCurrentThread(), callback, static_cast(arg)); } void RunIntCallbackAndroid(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 RunByteArrayCallbackAndroid(const JavaRef& callback, const std::vector& arg) { JNIEnv* env = AttachCurrentThread(); ScopedJavaLocalRef j_bytes = ToJavaByteArray(env, arg); Java_Helper_onObjectResultFromNative(env, callback, j_bytes); } void RunRunnableAndroid(const JavaRef& runnable) { Java_Helper_runRunnable(AttachCurrentThread(), runnable); } } // namespace android } // namespace base