Home | History | Annotate | Download | only in android
      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