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 11using base::android::ConvertUTF8ToJavaString; 12 13namespace base { 14 15bool RegisterContentUriUtils(JNIEnv* env) { 16 return RegisterNativesImpl(env); 17} 18 19bool 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 27File 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