diff options
| -rw-r--r-- | api/current.txt | 10 | ||||
| -rw-r--r-- | api/system-current.txt | 10 | ||||
| -rw-r--r-- | api/test-current.txt | 10 | ||||
| -rw-r--r-- | core/java/android/os/ProxyFileDescriptorCallback.java | 1 | ||||
| -rw-r--r-- | core/java/android/os/storage/StorageManager.java | 15 |
5 files changed, 44 insertions, 2 deletions
diff --git a/api/current.txt b/api/current.txt index b9cd7d0d3503..96058f140987 100644 --- a/api/current.txt +++ b/api/current.txt @@ -29846,6 +29846,15 @@ package android.os { field public static final int THREAD_PRIORITY_URGENT_DISPLAY = -8; // 0xfffffff8 } + public abstract class ProxyFileDescriptorCallback { + ctor public ProxyFileDescriptorCallback(); + method public void onFsync() throws android.system.ErrnoException; + method public long onGetSize() throws android.system.ErrnoException; + method public int onRead(long, int, byte[]) throws android.system.ErrnoException; + method public abstract void onRelease(); + method public int onWrite(long, int, byte[]) throws android.system.ErrnoException; + } + public class RecoverySystem { method public static void installPackage(android.content.Context, java.io.File) throws java.io.IOException; method public static void rebootWipeCache(android.content.Context) throws java.io.IOException; @@ -30263,6 +30272,7 @@ package android.os.storage { method public boolean isEncrypted(java.io.File); method public boolean isObbMounted(java.lang.String); method public boolean mountObb(java.lang.String, java.lang.String, android.os.storage.OnObbStateChangeListener); + method public android.os.ParcelFileDescriptor openProxyFileDescriptor(int, android.os.ProxyFileDescriptorCallback) throws java.io.IOException; method public boolean unmountObb(java.lang.String, boolean, android.os.storage.OnObbStateChangeListener); field public static final java.lang.String ACTION_MANAGE_STORAGE = "android.os.storage.action.MANAGE_STORAGE"; } diff --git a/api/system-current.txt b/api/system-current.txt index 75b0a34a101c..20168b6f5f1d 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -32448,6 +32448,15 @@ package android.os { field public static final int THREAD_PRIORITY_URGENT_DISPLAY = -8; // 0xfffffff8 } + public abstract class ProxyFileDescriptorCallback { + ctor public ProxyFileDescriptorCallback(); + method public void onFsync() throws android.system.ErrnoException; + method public long onGetSize() throws android.system.ErrnoException; + method public int onRead(long, int, byte[]) throws android.system.ErrnoException; + method public abstract void onRelease(); + method public int onWrite(long, int, byte[]) throws android.system.ErrnoException; + } + public class RecoverySystem { method public static void cancelScheduledUpdate(android.content.Context) throws java.io.IOException; method public static void installPackage(android.content.Context, java.io.File) throws java.io.IOException; @@ -32951,6 +32960,7 @@ package android.os.storage { method public boolean isEncrypted(java.io.File); method public boolean isObbMounted(java.lang.String); method public boolean mountObb(java.lang.String, java.lang.String, android.os.storage.OnObbStateChangeListener); + method public android.os.ParcelFileDescriptor openProxyFileDescriptor(int, android.os.ProxyFileDescriptorCallback) throws java.io.IOException; method public boolean unmountObb(java.lang.String, boolean, android.os.storage.OnObbStateChangeListener); field public static final java.lang.String ACTION_MANAGE_STORAGE = "android.os.storage.action.MANAGE_STORAGE"; } diff --git a/api/test-current.txt b/api/test-current.txt index de8602216f0e..b361244ec764 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -29956,6 +29956,15 @@ package android.os { field public static final int THREAD_PRIORITY_URGENT_DISPLAY = -8; // 0xfffffff8 } + public abstract class ProxyFileDescriptorCallback { + ctor public ProxyFileDescriptorCallback(); + method public void onFsync() throws android.system.ErrnoException; + method public long onGetSize() throws android.system.ErrnoException; + method public int onRead(long, int, byte[]) throws android.system.ErrnoException; + method public abstract void onRelease(); + method public int onWrite(long, int, byte[]) throws android.system.ErrnoException; + } + public class RecoverySystem { method public static void installPackage(android.content.Context, java.io.File) throws java.io.IOException; method public static void rebootWipeCache(android.content.Context) throws java.io.IOException; @@ -30374,6 +30383,7 @@ package android.os.storage { method public boolean isEncrypted(java.io.File); method public boolean isObbMounted(java.lang.String); method public boolean mountObb(java.lang.String, java.lang.String, android.os.storage.OnObbStateChangeListener); + method public android.os.ParcelFileDescriptor openProxyFileDescriptor(int, android.os.ProxyFileDescriptorCallback) throws java.io.IOException; method public boolean unmountObb(java.lang.String, boolean, android.os.storage.OnObbStateChangeListener); field public static final java.lang.String ACTION_MANAGE_STORAGE = "android.os.storage.action.MANAGE_STORAGE"; } diff --git a/core/java/android/os/ProxyFileDescriptorCallback.java b/core/java/android/os/ProxyFileDescriptorCallback.java index 23848b9ba27d..2e9f8d9a6439 100644 --- a/core/java/android/os/ProxyFileDescriptorCallback.java +++ b/core/java/android/os/ProxyFileDescriptorCallback.java @@ -21,7 +21,6 @@ import android.system.OsConstants; /** * Callback that handles file system requests from ProxyFileDescriptor. - * @hide */ public abstract class ProxyFileDescriptorCallback { /** diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java index d5acbeb61b9d..85df48f91a5a 100644 --- a/core/java/android/os/storage/StorageManager.java +++ b/core/java/android/os/storage/StorageManager.java @@ -1327,6 +1327,7 @@ public class StorageManager { } } + /** {@hide} */ @VisibleForTesting public @NonNull ParcelFileDescriptor openProxyFileDescriptor( @@ -1378,7 +1379,19 @@ public class StorageManager { throw new IOException("Failed to mount bridge."); } - /** {@hide} */ + /** + * Opens seekable ParcelFileDescriptor that routes file operation requests to + * ProxyFileDescriptorCallback. + * + * @param mode The desired access mode, must be one of + * {@link ParcelFileDescriptor#MODE_READ_ONLY}, + * {@link ParcelFileDescriptor#MODE_WRITE_ONLY}, or + * {@link ParcelFileDescriptor#MODE_READ_WRITE} + * @param callback Callback to process file operation requests issued on returned file + * descriptor. The callback is invoked on a thread managed by the framework. + * @return Seekable ParcelFileDescriptor. + * @throws IOException + */ public @NonNull ParcelFileDescriptor openProxyFileDescriptor( int mode, ProxyFileDescriptorCallback callback) throws IOException { |