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 "chrome/browser/android/intent_helper.h"
6
7#include <jni.h>
8
9#include "base/android/jni_android.h"
10#include "base/android/jni_string.h"
11#include "base/android/scoped_java_ref.h"
12#include "jni/IntentHelper_jni.h"
13
14using base::android::AttachCurrentThread;
15using base::android::ConvertUTF16ToJavaString;
16
17namespace chrome {
18namespace android {
19
20void SendEmail(const base::string16& d_email,
21               const base::string16& d_subject,
22               const base::string16& d_body,
23               const base::string16& d_chooser_title,
24               const base::string16& d_file_to_attach) {
25  JNIEnv* env = AttachCurrentThread();
26  ScopedJavaLocalRef<jstring> j_email = ConvertUTF16ToJavaString(env, d_email);
27  ScopedJavaLocalRef<jstring> j_subject =
28      ConvertUTF16ToJavaString(env, d_subject);
29  ScopedJavaLocalRef<jstring> j_body = ConvertUTF16ToJavaString(env, d_body);
30  ScopedJavaLocalRef<jstring> j_chooser_title =
31      ConvertUTF16ToJavaString(env, d_chooser_title);
32  ScopedJavaLocalRef<jstring> j_file_to_attach =
33      ConvertUTF16ToJavaString(env, d_file_to_attach);
34  Java_IntentHelper_sendEmail(env,
35                              base::android::GetApplicationContext(),
36                              j_email.obj(),
37                              j_subject.obj(),
38                              j_body.obj(),
39                              j_chooser_title.obj(),
40                              j_file_to_attach.obj());
41}
42
43bool RegisterIntentHelper(JNIEnv* env) {
44  return RegisterNativesImpl(env);
45}
46
47}  // namespace android
48}  // namespace chrome
49