Loading core/api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -31865,6 +31865,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/api/module-lib-current.txt +0 −4 Original line number Diff line number Diff line Loading @@ -274,10 +274,6 @@ package android.os { field public static final int VPN_UID = 1016; // 0x3f8 } public final class SharedMemory implements java.io.Closeable android.os.Parcelable { method @NonNull public static android.os.SharedMemory create(@NonNull android.os.ParcelFileDescriptor); } public class StatsServiceManager { method @NonNull public android.os.StatsServiceManager.ServiceRegisterer getStatsCompanionServiceRegisterer(); method @NonNull public android.os.StatsServiceManager.ServiceRegisterer getStatsManagerServiceRegisterer(); Loading core/java/android/os/SharedMemory.java +14 −7 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ package android.os; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; import android.compat.annotation.UnsupportedAppUsage; import android.system.ErrnoException; import android.system.Os; Loading Loading @@ -95,15 +94,23 @@ public final class SharedMemory implements Parcelable, Closeable { } /** * Creates from existing shared memory passed as {@link ParcelFileDesciptor}. * Creates an instance from existing shared memory passed as {@link ParcelFileDescriptor}. * * @param fd File descriptor of 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. * * @hide * @param fd File descriptor of shared memory passed as {@link ParcelFileDescriptor}. */ @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) public static @NonNull SharedMemory create(@NonNull ParcelFileDescriptor fd) { return new SharedMemory(fd.getFileDescriptor()); 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 Loading Loading
core/api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -31865,6 +31865,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/api/module-lib-current.txt +0 −4 Original line number Diff line number Diff line Loading @@ -274,10 +274,6 @@ package android.os { field public static final int VPN_UID = 1016; // 0x3f8 } public final class SharedMemory implements java.io.Closeable android.os.Parcelable { method @NonNull public static android.os.SharedMemory create(@NonNull android.os.ParcelFileDescriptor); } public class StatsServiceManager { method @NonNull public android.os.StatsServiceManager.ServiceRegisterer getStatsCompanionServiceRegisterer(); method @NonNull public android.os.StatsServiceManager.ServiceRegisterer getStatsManagerServiceRegisterer(); Loading
core/java/android/os/SharedMemory.java +14 −7 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ package android.os; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; import android.compat.annotation.UnsupportedAppUsage; import android.system.ErrnoException; import android.system.Os; Loading Loading @@ -95,15 +94,23 @@ public final class SharedMemory implements Parcelable, Closeable { } /** * Creates from existing shared memory passed as {@link ParcelFileDesciptor}. * Creates an instance from existing shared memory passed as {@link ParcelFileDescriptor}. * * @param fd File descriptor of 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. * * @hide * @param fd File descriptor of shared memory passed as {@link ParcelFileDescriptor}. */ @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) public static @NonNull SharedMemory create(@NonNull ParcelFileDescriptor fd) { return new SharedMemory(fd.getFileDescriptor()); 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 Loading