Loading core/api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -30329,6 +30329,7 @@ package android.os { method public void close(); method @NonNull public static android.os.SharedMemory create(@Nullable String, int) throws android.system.ErrnoException; method public int describeContents(); method @NonNull public static android.os.SharedMemory fromFileDescriptor(@NonNull android.os.ParcelFileDescriptor); method public int getSize(); method @NonNull public java.nio.ByteBuffer map(int, int, int) throws android.system.ErrnoException; method @NonNull public java.nio.ByteBuffer mapReadOnly() throws android.system.ErrnoException; core/java/android/os/SharedMemory.java +20 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,26 @@ public final class SharedMemory implements Parcelable, Closeable { } } /** * Creates an instance from existing shared memory passed as {@link ParcelFileDescriptor}. * * <p> The {@code fd} should be a shared memory created from {@code SharedMemory or ASharedMemory}. This can be useful when shared memory is passed as file descriptor through JNI or binder service implemented in cpp. * <p> Note that newly created {@code SharedMemory} takes ownership of passed {@code fd} and * the original {@code fd} becomes detached (Check {@link ParcelFileDescriptor#detachFd()}). * If the caller wants to use the file descriptor after the call, the caller should duplicate * the file descriptor (Check {@link ParcelFileDescriptor#dup()}) and pass the duped version * instead. * * @param fd File descriptor of shared memory passed as {@link ParcelFileDescriptor}. */ public static @NonNull SharedMemory fromFileDescriptor(@NonNull ParcelFileDescriptor fd) { FileDescriptor f = new FileDescriptor(); f.setInt$(fd.detachFd()); return new SharedMemory(f); } private static final int PROT_MASK = OsConstants.PROT_READ | OsConstants.PROT_WRITE | OsConstants.PROT_EXEC | OsConstants.PROT_NONE; Loading Loading
core/api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -30329,6 +30329,7 @@ package android.os { method public void close(); method @NonNull public static android.os.SharedMemory create(@Nullable String, int) throws android.system.ErrnoException; method public int describeContents(); method @NonNull public static android.os.SharedMemory fromFileDescriptor(@NonNull android.os.ParcelFileDescriptor); method public int getSize(); method @NonNull public java.nio.ByteBuffer map(int, int, int) throws android.system.ErrnoException; method @NonNull public java.nio.ByteBuffer mapReadOnly() throws android.system.ErrnoException;
core/java/android/os/SharedMemory.java +20 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,26 @@ public final class SharedMemory implements Parcelable, Closeable { } } /** * Creates an instance from existing shared memory passed as {@link ParcelFileDescriptor}. * * <p> The {@code fd} should be a shared memory created from {@code SharedMemory or ASharedMemory}. This can be useful when shared memory is passed as file descriptor through JNI or binder service implemented in cpp. * <p> Note that newly created {@code SharedMemory} takes ownership of passed {@code fd} and * the original {@code fd} becomes detached (Check {@link ParcelFileDescriptor#detachFd()}). * If the caller wants to use the file descriptor after the call, the caller should duplicate * the file descriptor (Check {@link ParcelFileDescriptor#dup()}) and pass the duped version * instead. * * @param fd File descriptor of shared memory passed as {@link ParcelFileDescriptor}. */ public static @NonNull SharedMemory fromFileDescriptor(@NonNull ParcelFileDescriptor fd) { FileDescriptor f = new FileDescriptor(); f.setInt$(fd.detachFd()); return new SharedMemory(f); } private static final int PROT_MASK = OsConstants.PROT_READ | OsConstants.PROT_WRITE | OsConstants.PROT_EXEC | OsConstants.PROT_NONE; Loading