diff options
Diffstat (limited to 'core/java/android/os')
-rw-r--r-- | core/java/android/os/AsyncTask.java | 5 | ||||
-rw-r--r-- | core/java/android/os/ParcelFileDescriptor.java | 19 |
2 files changed, 24 insertions, 0 deletions
diff --git a/core/java/android/os/AsyncTask.java b/core/java/android/os/AsyncTask.java index 832ce84..aadacab 100644 --- a/core/java/android/os/AsyncTask.java +++ b/core/java/android/os/AsyncTask.java @@ -175,6 +175,11 @@ public abstract class AsyncTask<Params, Progress, Result> { FINISHED, } + /** @hide Used to force static handler to be created. */ + public static void init() { + sHandler.getLooper(); + } + /** * Creates a new asynchronous task. This constructor must be invoked on the UI thread. */ diff --git a/core/java/android/os/ParcelFileDescriptor.java b/core/java/android/os/ParcelFileDescriptor.java index 9d213b3..d853f13 100644 --- a/core/java/android/os/ParcelFileDescriptor.java +++ b/core/java/android/os/ParcelFileDescriptor.java @@ -134,6 +134,25 @@ public class ParcelFileDescriptor implements Parcelable { private static native FileDescriptor getFileDescriptorFromSocket(Socket socket); /** + * Create two ParcelFileDescriptors structured as a data pipe. The first + * ParcelFileDescriptor in the returned array is the read side; the second + * is the write side. + */ + public static ParcelFileDescriptor[] createPipe() throws IOException { + FileDescriptor[] fds = new FileDescriptor[2]; + int res = createPipeNative(fds); + if (res == 0) { + ParcelFileDescriptor[] pfds = new ParcelFileDescriptor[2]; + pfds[0] = new ParcelFileDescriptor(fds[0]); + pfds[1] = new ParcelFileDescriptor(fds[1]); + return pfds; + } + throw new IOException("Unable to create pipe: errno=" + -res); + } + + private static native int createPipeNative(FileDescriptor[] outFds); + + /** * Retrieve the actual FileDescriptor associated with this object. * * @return Returns the FileDescriptor associated with this object. |