public DownloadUriOutputStream(Context context, Uri uri, int bufferSize) throws FileNotFoundException { final ParcelFileDescriptor pdf = context.getContentResolver().openFileDescriptor(uri, "rw"); if (pdf == null) throw new FileNotFoundException("result of " + uri + " is null!"); this.pdf = pdf; this.fos = new FileOutputStream(pdf.getFileDescriptor()); this.channel = fos.getChannel(); this.out = new BufferedOutputStream(fos, bufferSize); }
protected ParcelFileDescriptor getSeekableFileDescriptor(String path) throws IOException { ParcelFileDescriptor parcelFileDescriptor; File pdfCopy = new File(path); if (pdfCopy.exists()) { parcelFileDescriptor = ParcelFileDescriptor.open(pdfCopy, ParcelFileDescriptor.MODE_READ_ONLY); return parcelFileDescriptor; } if (isAnAsset(path)) { pdfCopy = new File(context.getCacheDir(), path); parcelFileDescriptor = ParcelFileDescriptor.open(pdfCopy, ParcelFileDescriptor.MODE_READ_ONLY); } else { URI uri = URI.create(String.format("file://%s", path)); parcelFileDescriptor = context.getContentResolver().openFileDescriptor(Uri.parse(uri.toString()), "rw"); } return parcelFileDescriptor; }
ParcelFileDescriptor fd = null; try { fd = res.openFileDescriptor(uri, "r"); if (fd == null) { return false;
private void show(Uri uri) { try { adapter=new PageAdapter(getLayoutInflater(), getContentResolver().openFileDescriptor(uri, "r")); pager.setAdapter(adapter); } catch (java.io.IOException e) { Log.e("PdfRenderer", getString(R.string.toast_open), e); Toast.makeText(this, R.string.toast_open, Toast.LENGTH_LONG).show(); } } }
/** * @param context The context * @param uri The Uri of Google Drive file * @return Google Drive file */ private static File getGoogleDriveFile(Context context, Uri uri) { if (uri == null) return null; FileInputStream input = null; FileOutputStream output = null; String filePath = new File(context.getCacheDir(), "tmp").getAbsolutePath(); try { ParcelFileDescriptor pfd = context.getContentResolver().openFileDescriptor(uri, "r"); if (pfd == null) return null; FileDescriptor fd = pfd.getFileDescriptor(); input = new FileInputStream(fd); output = new FileOutputStream(filePath); int read; byte[] bytes = new byte[4096]; while ((read = input.read(bytes)) != -1) { output.write(bytes, 0, read); } return new File(filePath); } catch (IOException ignored) { } finally { closeQuietly(input); closeQuietly(output); } return null; }
@Nullable private static File getFromMediaUriPfd(Context context, ContentResolver resolver, Uri uri) { if (uri == null) return null; FileInputStream input = null; FileOutputStream output = null; try { ParcelFileDescriptor pfd = resolver.openFileDescriptor(uri, "r"); FileDescriptor fd = pfd.getFileDescriptor(); input = new FileInputStream(fd); String tempFilename = getTempFilename(context); output = new FileOutputStream(tempFilename); int read; byte[] bytes = new byte[4096]; while ((read = input.read(bytes)) != -1) { output.write(bytes, 0, read); } return new File(tempFilename); } catch (IOException ignored) { // Nothing we can do } finally { closeSilently(input); closeSilently(output); } return null; }
@Test(expected = FileNotFoundException.class) public void constructor_nullParcelFileDescriptor() throws FileNotFoundException { final Context context = mock(Context.class); final ContentResolver resolver = mock(ContentResolver.class); final Uri uri = mock(Uri.class); when(context.getContentResolver()).thenReturn(resolver); when(resolver.openFileDescriptor(uri, "rw")).thenReturn(null); new DownloadUriOutputStream(context, uri, 1); }
@Test public void openFile() throws Exception { final Uri uri = AcraContentProvider.getUriForFile(RuntimeEnvironment.application, file); assertNotNull(resolver.openFileDescriptor(uri, "r")); }
ParcelFileDescriptor fd = null; try { fd = res.openFileDescriptor(uri, "r"); if (fd == null) { return null;
private boolean exportToProvider(Intent intent, boolean deleteAfterExport) { if ((intent == null) || (intent.getData() == null)) { Timber.e("exportToProvider() provided with insufficient intent data %s", intent); return false; } Uri uri = intent.getData(); Timber.d("Exporting from file to ContentProvider URI: %s/%s", mExportFileName, uri.toString()); FileOutputStream fileOutputStream; ParcelFileDescriptor pfd; try { pfd = getContentResolver().openFileDescriptor(uri, "w"); if (pfd != null) { fileOutputStream = new FileOutputStream(pfd.getFileDescriptor()); CompatHelper.getCompat().copyFile(mExportFileName, fileOutputStream); fileOutputStream.close(); pfd.close(); } else { Timber.w("exportToProvider() failed - ContentProvider returned null file descriptor for %s", uri); return false; } if (deleteAfterExport && !new File(mExportFileName).delete()) { Timber.w("Failed to delete temporary export file %s", mExportFileName); } } catch (Exception e) { Timber.e(e, "Unable to export file to Uri: %s/%s", mExportFileName, uri.toString()); return false; } return true; }
@Test public void constructor() throws IOException { final Context context = mock(Context.class); final ContentResolver resolver = mock(ContentResolver.class); final ParcelFileDescriptor pdf = mock(ParcelFileDescriptor.class); final Uri uri = mock(Uri.class); final FileDescriptor fd = mock(FileDescriptor.class); when(context.getContentResolver()).thenReturn(resolver); when(resolver.openFileDescriptor(uri, "rw")).thenReturn(pdf); when(pdf.getFileDescriptor()).thenReturn(fd); final DownloadUriOutputStream outputStream = new DownloadUriOutputStream(context, uri, 1); assertThat(outputStream.pdf).isEqualTo(pdf); assertThat(outputStream.out).isNotNull(); assertThat(outputStream.fos.getFD()).isEqualTo(fd); }
ParcelFileDescriptor fd = null; try { fd = res.openFileDescriptor(uri, "r"); if (fd == null) { return null;
parcelFileDescriptor = mContext.getContentResolver().openFileDescriptor(mInputUri, "r"); } catch (FileNotFoundException e) { return new BitmapWorkerResult(e);
@Test public void factory() throws IOException { assertThat(new DownloadUriOutputStream.Factory().supportSeek()).isTrue(); final Context context = mock(Context.class); final ContentResolver resolver = mock(ContentResolver.class); final ParcelFileDescriptor pdf = mock(ParcelFileDescriptor.class); final FileDescriptor fd = mock(FileDescriptor.class); final Uri uri = mock(Uri.class); when(context.getContentResolver()).thenReturn(resolver); when(resolver.openFileDescriptor(any(Uri.class), eq("rw"))).thenReturn(pdf); when(pdf.getFileDescriptor()).thenReturn(fd); final File file = new File("/test"); DownloadUriOutputStream outputStream = (DownloadUriOutputStream) new DownloadUriOutputStream .Factory().create(context, file, 1); assertThat(outputStream.pdf).isEqualTo(pdf); assertThat(outputStream.out).isNotNull(); assertThat(outputStream.fos.getFD()).isEqualTo(fd); outputStream = (DownloadUriOutputStream) new DownloadUriOutputStream.Factory() .create(context, uri, 1); assertThat(outputStream.pdf).isEqualTo(pdf); assertThat(outputStream.out).isNotNull(); assertThat(outputStream.fos.getFD()).isEqualTo(fd); } }
ParcelFileDescriptor fd = null; try { fd = getContentResolver().openFileDescriptor(art, "r"); } catch (FileNotFoundException e) { e.printStackTrace();
protected ParcelFileDescriptor getSeekableFileDescriptor(String path) throws IOException { ParcelFileDescriptor parcelFileDescriptor; File pdfCopy = new File(path); if (pdfCopy.exists()) { parcelFileDescriptor = ParcelFileDescriptor.open(pdfCopy, ParcelFileDescriptor.MODE_READ_ONLY); return parcelFileDescriptor; } if (isAnAsset(path)) { pdfCopy = new File(context.getCacheDir(), path); parcelFileDescriptor = ParcelFileDescriptor.open(pdfCopy, ParcelFileDescriptor.MODE_READ_ONLY); } else { URI uri = URI.create(String.format("file://%s", path)); parcelFileDescriptor = context.getContentResolver().openFileDescriptor(Uri.parse(uri.toString()), "rw"); } return parcelFileDescriptor; }
@Override public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException { Uri targetUrl = Uri.parse(uri.getQueryParameter(TARGET_URL)); LogUtil.d("openFile", "uri", uri.toString(), "targetUrl", targetUrl); return getContext().getContentResolver().openFileDescriptor(targetUrl, mode); }
FileOutputStream output = null; try { ParcelFileDescriptor pfd = resolver.openFileDescriptor(uri, "r"); if (pfd == null) { return null;
private static Bitmap getMiniThumbFromFile(Cursor c, Uri baseUri, ContentResolver cr, BitmapFactory.Options options) { Bitmap bitmap = null; Uri thumbUri = null; try { long thumbId = c.getLong(0); thumbUri = ContentUris.withAppendedId(baseUri, thumbId); ParcelFileDescriptor pfdInput = cr.openFileDescriptor(thumbUri, "r"); bitmap = BitmapFactory.decodeFileDescriptor(pfdInput.getFileDescriptor(), null, options); pfdInput.close(); } catch (FileNotFoundException ex) { Log.e("getMiniThumbFromFile", ex); } catch (IOException ex) { Log.e("getMiniThumbFromFile", ex); } catch (OutOfMemoryError ex) { Log.e("getMiniThumbFromFile", ex); } return bitmap; }
public static ParcelFileDescriptor openFile(Uri uri, String mode) { Uri newUri = buildNewUri(uri); ContentResolver resolver = FairyGlobal.getHostApplication().getContentResolver(); try { LogUtil.d("openFile", uri, newUri); return resolver.openFileDescriptor(newUri, mode); } catch (Exception e) { LogUtil.printException("openFile " + uri, e); } return null; } /********Provider End********/