1 // Copyright 2013 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.
5 #include "base/android/content_uri_utils.h"
7 #include "base/android/jni_android.h"
8 #include "base/android/jni_string.h"
9 #include "jni/ContentUriUtils_jni.h"
11 using base::android::ConvertUTF8ToJavaString
;
15 bool RegisterContentUriUtils(JNIEnv
* env
) {
16 return RegisterNativesImpl(env
);
19 bool ContentUriExists(const FilePath
& content_uri
) {
20 JNIEnv
* env
= base::android::AttachCurrentThread();
21 ScopedJavaLocalRef
<jstring
> j_uri
=
22 ConvertUTF8ToJavaString(env
, content_uri
.value());
23 return Java_ContentUriUtils_contentUriExists(
24 env
, base::android::GetApplicationContext(), j_uri
.obj());
27 File
OpenContentUriForRead(const FilePath
& content_uri
) {
28 JNIEnv
* env
= base::android::AttachCurrentThread();
29 ScopedJavaLocalRef
<jstring
> j_uri
=
30 ConvertUTF8ToJavaString(env
, content_uri
.value());
31 jint fd
= Java_ContentUriUtils_openContentUriForRead(
32 env
, base::android::GetApplicationContext(), j_uri
.obj());
38 std::string
GetContentUriMimeType(const FilePath
& content_uri
) {
39 JNIEnv
* env
= base::android::AttachCurrentThread();
40 ScopedJavaLocalRef
<jstring
> j_uri
=
41 ConvertUTF8ToJavaString(env
, content_uri
.value());
42 ScopedJavaLocalRef
<jstring
> j_mime
=
43 Java_ContentUriUtils_getMimeType(
44 env
, base::android::GetApplicationContext(), j_uri
.obj());
45 return base::android::ConvertJavaStringToUTF8(env
, j_mime
.obj());