Loading core/java/android/os/ParcelFileDescriptor.java +24 −8 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InterruptedIOException; import java.io.UncheckedIOException; import java.net.DatagramSocket; import java.net.Socket; import java.nio.ByteOrder; Loading Loading @@ -393,26 +394,41 @@ public class ParcelFileDescriptor implements Parcelable, Closeable { * @param socket The Socket whose FileDescriptor is used to create * a new ParcelFileDescriptor. * * @return A new ParcelFileDescriptor with the FileDescriptor of the * specified Socket. * @return A new ParcelFileDescriptor with a duped copy of the * FileDescriptor of the specified Socket. * * @throws UncheckedIOException if {@link #dup(FileDescriptor)} throws IOException. */ public static ParcelFileDescriptor fromSocket(Socket socket) { FileDescriptor fd = socket.getFileDescriptor$(); return fd != null ? new ParcelFileDescriptor(fd) : null; try { return fd != null ? ParcelFileDescriptor.dup(fd) : null; } catch (IOException e) { throw new UncheckedIOException(e); } } /** * Create a new ParcelFileDescriptor from the specified DatagramSocket. * Create a new ParcelFileDescriptor from the specified DatagramSocket. The * new ParcelFileDescriptor holds a dup of the original FileDescriptor in * the DatagramSocket, so you must still close the DatagramSocket as well * as the new ParcelFileDescriptor. * * @param datagramSocket The DatagramSocket whose FileDescriptor is used * to create a new ParcelFileDescriptor. * * @return A new ParcelFileDescriptor with the FileDescriptor of the * specified DatagramSocket. * @return A new ParcelFileDescriptor with a duped copy of the * FileDescriptor of the specified Socket. * * @throws UncheckedIOException if {@link #dup(FileDescriptor)} throws IOException. */ public static ParcelFileDescriptor fromDatagramSocket(DatagramSocket datagramSocket) { FileDescriptor fd = datagramSocket.getFileDescriptor$(); return fd != null ? new ParcelFileDescriptor(fd) : null; try { return fd != null ? ParcelFileDescriptor.dup(fd) : null; } catch (IOException e) { throw new UncheckedIOException(e); } } /** Loading Loading @@ -542,7 +558,7 @@ public class ParcelFileDescriptor implements Parcelable, Closeable { } file.deactivate(); FileDescriptor fd = file.getFileDescriptor(); return fd != null ? new ParcelFileDescriptor(fd) : null; return fd != null ? ParcelFileDescriptor.dup(fd) : null; } /** Loading Loading
core/java/android/os/ParcelFileDescriptor.java +24 −8 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InterruptedIOException; import java.io.UncheckedIOException; import java.net.DatagramSocket; import java.net.Socket; import java.nio.ByteOrder; Loading Loading @@ -393,26 +394,41 @@ public class ParcelFileDescriptor implements Parcelable, Closeable { * @param socket The Socket whose FileDescriptor is used to create * a new ParcelFileDescriptor. * * @return A new ParcelFileDescriptor with the FileDescriptor of the * specified Socket. * @return A new ParcelFileDescriptor with a duped copy of the * FileDescriptor of the specified Socket. * * @throws UncheckedIOException if {@link #dup(FileDescriptor)} throws IOException. */ public static ParcelFileDescriptor fromSocket(Socket socket) { FileDescriptor fd = socket.getFileDescriptor$(); return fd != null ? new ParcelFileDescriptor(fd) : null; try { return fd != null ? ParcelFileDescriptor.dup(fd) : null; } catch (IOException e) { throw new UncheckedIOException(e); } } /** * Create a new ParcelFileDescriptor from the specified DatagramSocket. * Create a new ParcelFileDescriptor from the specified DatagramSocket. The * new ParcelFileDescriptor holds a dup of the original FileDescriptor in * the DatagramSocket, so you must still close the DatagramSocket as well * as the new ParcelFileDescriptor. * * @param datagramSocket The DatagramSocket whose FileDescriptor is used * to create a new ParcelFileDescriptor. * * @return A new ParcelFileDescriptor with the FileDescriptor of the * specified DatagramSocket. * @return A new ParcelFileDescriptor with a duped copy of the * FileDescriptor of the specified Socket. * * @throws UncheckedIOException if {@link #dup(FileDescriptor)} throws IOException. */ public static ParcelFileDescriptor fromDatagramSocket(DatagramSocket datagramSocket) { FileDescriptor fd = datagramSocket.getFileDescriptor$(); return fd != null ? new ParcelFileDescriptor(fd) : null; try { return fd != null ? ParcelFileDescriptor.dup(fd) : null; } catch (IOException e) { throw new UncheckedIOException(e); } } /** Loading Loading @@ -542,7 +558,7 @@ public class ParcelFileDescriptor implements Parcelable, Closeable { } file.deactivate(); FileDescriptor fd = file.getFileDescriptor(); return fd != null ? new ParcelFileDescriptor(fd) : null; return fd != null ? ParcelFileDescriptor.dup(fd) : null; } /** Loading