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. 4 5 #include "base/android/content_uri_utils.h" 6 7 #include "base/android/jni_android.h" 8 #include "base/android/jni_string.h" 9 #include "jni/ContentUriUtils_jni.h" 10 11 using base::android::ConvertUTF8ToJavaString; 12 13 namespace base { 14 15 bool RegisterContentUriUtils(JNIEnv* env) { 16 return RegisterNativesImpl(env); 17 } 18 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()); 25 } 26 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()); 33 if (fd < 0) 34 return File(); 35 return File(fd); 36 } 37 38 } // namespace base 39