// this is your network socket, connected to the server ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(socket); mMediaPlayer = new MediaPlayer(); mMediaPlayer.setDataSource(pfd.getFileDescriptor()); mMediaPlayer.prepare(); mMediaPlayer.start();
@Override public void initialize(MediaMetadataRetriever retriever, ParcelFileDescriptor data) { retriever.setDataSource(data.getFileDescriptor()); } }
public AutoCloseOutputStream(ParcelFileDescriptor pfd) { super(pfd.getFileDescriptor()); throw new RuntimeException("Stub!"); }
public AutoCloseInputStream(ParcelFileDescriptor pfd) { super(pfd.getFileDescriptor()); throw new RuntimeException("Stub!"); }
@Override public void flushAndSync() throws IOException { out.flush(); pdf.getFileDescriptor().sync(); }
private Bitmap getBitmapFromUri(Uri uri) throws IOException { ParcelFileDescriptor parcelFileDescriptor = getContentResolver().openFileDescriptor(uri, "r"); FileDescriptor fileDescriptor = parcelFileDescriptor.getFileDescriptor(); Bitmap image = BitmapFactory.decodeFileDescriptor(fileDescriptor); parcelFileDescriptor.close(); return image; }
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); }
private Bitmap getBitmapFromUri(Uri uri) throws IOException { ParcelFileDescriptor parcelFileDescriptor = getContentResolver().openFileDescriptor(uri, "r"); FileDescriptor fileDescriptor = parcelFileDescriptor.getFileDescriptor(); Bitmap image = BitmapFactory.decodeFileDescriptor(fileDescriptor); parcelFileDescriptor.close(); return image; }
private FileDescriptor getStreamFd() { ParcelFileDescriptor[] pipe=null; try { pipe=ParcelFileDescriptor.createPipe(); new TransferThread(new AutoCloseInputStream(pipe[0]), new FileOutputStream(getOutputFile())).start(); } catch (IOException e) { Log.e(getClass().getSimpleName(), "Exception opening pipe", e); } return(pipe[1].getFileDescriptor()); }
@Override public void writeDataToPipe(@NonNull ParcelFileDescriptor output, @NonNull Uri uri, @NonNull String mimeType, @Nullable Bundle opts, @Nullable Object args) { try { byte[] data = TestUtil.getByteArray(getContext(), getFileName(uri)); FileOutputStream outputStream = new FileOutputStream(output.getFileDescriptor()); outputStream.write(data); outputStream.close(); } catch (IOException e) { throw new RuntimeException("Error writing to pipe", e); } }
@Test public void testOpens_canWriteWritableFile() throws Exception { ParcelFileDescriptor pfd = ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_WRITE); assertThat(pfd).isNotNull(); assertThat(pfd.getFileDescriptor().valid()).isTrue(); FileOutputStream os = new FileOutputStream(pfd.getFileDescriptor()); os.write(5); os.close(); }
@Test public void testStatSize_writtenFile() throws Exception { ParcelFileDescriptor pfd = ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_WRITE); assertThat(pfd).isNotNull(); assertThat(pfd.getFileDescriptor().valid()).isTrue(); FileOutputStream os = new FileOutputStream(pfd.getFileDescriptor()); os.write(5); assertThat(pfd.getStatSize()).isEqualTo(1); // One byte. os.close(); }
@Test public void testOpens_canReadReadOnlyFile() throws Exception { ParcelFileDescriptor pfd = ParcelFileDescriptor.open(readOnlyFile, ParcelFileDescriptor.MODE_READ_ONLY); assertThat(pfd).isNotNull(); assertThat(pfd.getFileDescriptor().valid()).isTrue(); FileInputStream is = new FileInputStream(pfd.getFileDescriptor()); assertThat(is.read()).isEqualTo(READ_ONLY_FILE_CONTENTS); pfd.close(); }
@Test public void setLength() { outputStream.setLength(1); verify(pdf).getFileDescriptor(); }
@Test public void flushAndSync() throws Exception { when(pdf.getFileDescriptor()).thenReturn(fd); thrown.expect(SyncFailedException.class); thrown.expectMessage("sync failed"); outputStream.flushAndSync(); verify(out).flush(); }
@Test public void testAutoCloseOutputStream() throws Exception { File f = new File(ApplicationProvider.getApplicationContext().getFilesDir(), "outfile"); ParcelFileDescriptor pfd = ParcelFileDescriptor.open(f, -1); ParcelFileDescriptor.AutoCloseOutputStream os = new ParcelFileDescriptor.AutoCloseOutputStream(pfd); os.close(); assertThat(pfd.getFileDescriptor().valid()).isFalse(); }
@Test public void testOpens() throws Exception { ParcelFileDescriptor pfd = ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_WRITE); assertThat(pfd).isNotNull(); assertThat(pfd.getFileDescriptor().valid()).isTrue(); pfd.close(); }
@Test public void testStatSize_emptyFile() throws Exception { ParcelFileDescriptor pfd = ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_WRITE); assertThat(pfd).isNotNull(); assertThat(pfd.getFileDescriptor().valid()).isTrue(); assertThat(pfd.getStatSize()).isEqualTo(0); pfd.close(); }
@Test public void testCloses() throws Exception { ParcelFileDescriptor pfd = ParcelFileDescriptor.open(file, -1); pfd.close(); assertThat(pfd.getFileDescriptor().valid()).isFalse(); assertThat(pfd.getFd()).isEqualTo(-1); }
@Test public void testAutoCloseInputStream() throws Exception { ParcelFileDescriptor pfd = ParcelFileDescriptor.open(file, -1); ParcelFileDescriptor.AutoCloseInputStream is = new ParcelFileDescriptor.AutoCloseInputStream(pfd); is.close(); assertThat(pfd.getFileDescriptor().valid()).isFalse(); }