/*
 * This file is auto-generated.  DO NOT MODIFY.
 * Original file: /var/tmp/code-browser-generator/android_android_9.0.0_r358833596918674107602/combined/android/os/storage/IStorageManager.aidl
 */
package android.os.storage;
WARNING! Update IMountService.h and IMountService.cpp if you change this file. In particular, the transaction ids below must match the _TRANSACTION enum in IMountService.cpp
@hide- Applications should use android.os.storage.StorageManager to access storage functions.
/** * WARNING! Update IMountService.h and IMountService.cpp if you change this * file. In particular, the transaction ids below must match the * _TRANSACTION enum in IMountService.cpp * * @hide - Applications should use android.os.storage.StorageManager to access * storage functions. */
public interface IStorageManager extends android.os.IInterface {
Local-side IPC implementation stub class.
/** Local-side IPC implementation stub class. */
public static abstract class Stub extends android.os.Binder implements android.os.storage.IStorageManager { private static final java.lang.String DESCRIPTOR = "android.os.storage.IStorageManager";
Construct the stub at attach it to the interface.
/** Construct the stub at attach it to the interface. */
public Stub() { this.attachInterface(this, DESCRIPTOR); }
Cast an IBinder object into an android.os.storage.IStorageManager interface, generating a proxy if needed.
/** * Cast an IBinder object into an android.os.storage.IStorageManager interface, * generating a proxy if needed. */
public static android.os.storage.IStorageManager asInterface(android.os.IBinder obj) { if ((obj==null)) { return null; } android.os.IInterface iin = obj.queryLocalInterface(DESCRIPTOR); if (((iin!=null)&&(iin instanceof android.os.storage.IStorageManager))) { return ((android.os.storage.IStorageManager)iin); } return new android.os.storage.IStorageManager.Stub.Proxy(obj); } @Override public android.os.IBinder asBinder() { return this; } @Override public boolean onTransact(int code, android.os.Parcel data, android.os.Parcel reply, int flags) throws android.os.RemoteException { java.lang.String descriptor = DESCRIPTOR; switch (code) { case INTERFACE_TRANSACTION: { reply.writeString(descriptor); return true; } case TRANSACTION_registerListener: { data.enforceInterface(descriptor); android.os.storage.IStorageEventListener _arg0; _arg0 = android.os.storage.IStorageEventListener.Stub.asInterface(data.readStrongBinder()); this.registerListener(_arg0); reply.writeNoException(); return true; } case TRANSACTION_unregisterListener: { data.enforceInterface(descriptor); android.os.storage.IStorageEventListener _arg0; _arg0 = android.os.storage.IStorageEventListener.Stub.asInterface(data.readStrongBinder()); this.unregisterListener(_arg0); reply.writeNoException(); return true; } case TRANSACTION_shutdown: { data.enforceInterface(descriptor); android.os.storage.IStorageShutdownObserver _arg0; _arg0 = android.os.storage.IStorageShutdownObserver.Stub.asInterface(data.readStrongBinder()); this.shutdown(_arg0); reply.writeNoException(); return true; } case TRANSACTION_mountObb: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); java.lang.String _arg1; _arg1 = data.readString(); java.lang.String _arg2; _arg2 = data.readString(); android.os.storage.IObbActionListener _arg3; _arg3 = android.os.storage.IObbActionListener.Stub.asInterface(data.readStrongBinder()); int _arg4; _arg4 = data.readInt(); this.mountObb(_arg0, _arg1, _arg2, _arg3, _arg4); reply.writeNoException(); return true; } case TRANSACTION_unmountObb: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); boolean _arg1; _arg1 = (0!=data.readInt()); android.os.storage.IObbActionListener _arg2; _arg2 = android.os.storage.IObbActionListener.Stub.asInterface(data.readStrongBinder()); int _arg3; _arg3 = data.readInt(); this.unmountObb(_arg0, _arg1, _arg2, _arg3); reply.writeNoException(); return true; } case TRANSACTION_isObbMounted: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); boolean _result = this.isObbMounted(_arg0); reply.writeNoException(); reply.writeInt(((_result)?(1):(0))); return true; } case TRANSACTION_getMountedObbPath: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); java.lang.String _result = this.getMountedObbPath(_arg0); reply.writeNoException(); reply.writeString(_result); return true; } case TRANSACTION_decryptStorage: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); int _result = this.decryptStorage(_arg0); reply.writeNoException(); reply.writeInt(_result); return true; } case TRANSACTION_encryptStorage: { data.enforceInterface(descriptor); int _arg0; _arg0 = data.readInt(); java.lang.String _arg1; _arg1 = data.readString(); int _result = this.encryptStorage(_arg0, _arg1); reply.writeNoException(); reply.writeInt(_result); return true; } case TRANSACTION_changeEncryptionPassword: { data.enforceInterface(descriptor); int _arg0; _arg0 = data.readInt(); java.lang.String _arg1; _arg1 = data.readString(); int _result = this.changeEncryptionPassword(_arg0, _arg1); reply.writeNoException(); reply.writeInt(_result); return true; } case TRANSACTION_getVolumeList: { data.enforceInterface(descriptor); int _arg0; _arg0 = data.readInt(); java.lang.String _arg1; _arg1 = data.readString(); int _arg2; _arg2 = data.readInt(); android.os.storage.StorageVolume[] _result = this.getVolumeList(_arg0, _arg1, _arg2); reply.writeNoException(); reply.writeTypedArray(_result, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); return true; } case TRANSACTION_getEncryptionState: { data.enforceInterface(descriptor); int _result = this.getEncryptionState(); reply.writeNoException(); reply.writeInt(_result); return true; } case TRANSACTION_verifyEncryptionPassword: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); int _result = this.verifyEncryptionPassword(_arg0); reply.writeNoException(); reply.writeInt(_result); return true; } case TRANSACTION_mkdirs: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); java.lang.String _arg1; _arg1 = data.readString(); this.mkdirs(_arg0, _arg1); reply.writeNoException(); return true; } case TRANSACTION_getPasswordType: { data.enforceInterface(descriptor); int _result = this.getPasswordType(); reply.writeNoException(); reply.writeInt(_result); return true; } case TRANSACTION_getPassword: { data.enforceInterface(descriptor); java.lang.String _result = this.getPassword(); reply.writeNoException(); reply.writeString(_result); return true; } case TRANSACTION_clearPassword: { data.enforceInterface(descriptor); this.clearPassword(); return true; } case TRANSACTION_setField: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); java.lang.String _arg1; _arg1 = data.readString(); this.setField(_arg0, _arg1); return true; } case TRANSACTION_getField: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); java.lang.String _result = this.getField(_arg0); reply.writeNoException(); reply.writeString(_result); return true; } case TRANSACTION_lastMaintenance: { data.enforceInterface(descriptor); long _result = this.lastMaintenance(); reply.writeNoException(); reply.writeLong(_result); return true; } case TRANSACTION_runMaintenance: { data.enforceInterface(descriptor); this.runMaintenance(); reply.writeNoException(); return true; } case TRANSACTION_getDisks: { data.enforceInterface(descriptor); android.os.storage.DiskInfo[] _result = this.getDisks(); reply.writeNoException(); reply.writeTypedArray(_result, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); return true; } case TRANSACTION_getVolumes: { data.enforceInterface(descriptor); int _arg0; _arg0 = data.readInt(); android.os.storage.VolumeInfo[] _result = this.getVolumes(_arg0); reply.writeNoException(); reply.writeTypedArray(_result, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); return true; } case TRANSACTION_getVolumeRecords: { data.enforceInterface(descriptor); int _arg0; _arg0 = data.readInt(); android.os.storage.VolumeRecord[] _result = this.getVolumeRecords(_arg0); reply.writeNoException(); reply.writeTypedArray(_result, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); return true; } case TRANSACTION_mount: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); this.mount(_arg0); reply.writeNoException(); return true; } case TRANSACTION_unmount: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); this.unmount(_arg0); reply.writeNoException(); return true; } case TRANSACTION_format: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); this.format(_arg0); reply.writeNoException(); return true; } case TRANSACTION_partitionPublic: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); this.partitionPublic(_arg0); reply.writeNoException(); return true; } case TRANSACTION_partitionPrivate: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); this.partitionPrivate(_arg0); reply.writeNoException(); return true; } case TRANSACTION_partitionMixed: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); int _arg1; _arg1 = data.readInt(); this.partitionMixed(_arg0, _arg1); reply.writeNoException(); return true; } case TRANSACTION_setVolumeNickname: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); java.lang.String _arg1; _arg1 = data.readString(); this.setVolumeNickname(_arg0, _arg1); reply.writeNoException(); return true; } case TRANSACTION_setVolumeUserFlags: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); int _arg1; _arg1 = data.readInt(); int _arg2; _arg2 = data.readInt(); this.setVolumeUserFlags(_arg0, _arg1, _arg2); reply.writeNoException(); return true; } case TRANSACTION_forgetVolume: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); this.forgetVolume(_arg0); reply.writeNoException(); return true; } case TRANSACTION_forgetAllVolumes: { data.enforceInterface(descriptor); this.forgetAllVolumes(); reply.writeNoException(); return true; } case TRANSACTION_getPrimaryStorageUuid: { data.enforceInterface(descriptor); java.lang.String _result = this.getPrimaryStorageUuid(); reply.writeNoException(); reply.writeString(_result); return true; } case TRANSACTION_setPrimaryStorageUuid: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); android.content.pm.IPackageMoveObserver _arg1; _arg1 = android.content.pm.IPackageMoveObserver.Stub.asInterface(data.readStrongBinder()); this.setPrimaryStorageUuid(_arg0, _arg1); reply.writeNoException(); return true; } case TRANSACTION_benchmark: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); android.os.IVoldTaskListener _arg1; _arg1 = android.os.IVoldTaskListener.Stub.asInterface(data.readStrongBinder()); this.benchmark(_arg0, _arg1); reply.writeNoException(); return true; } case TRANSACTION_setDebugFlags: { data.enforceInterface(descriptor); int _arg0; _arg0 = data.readInt(); int _arg1; _arg1 = data.readInt(); this.setDebugFlags(_arg0, _arg1); reply.writeNoException(); return true; } case TRANSACTION_createUserKey: { data.enforceInterface(descriptor); int _arg0; _arg0 = data.readInt(); int _arg1; _arg1 = data.readInt(); boolean _arg2; _arg2 = (0!=data.readInt()); this.createUserKey(_arg0, _arg1, _arg2); reply.writeNoException(); return true; } case TRANSACTION_destroyUserKey: { data.enforceInterface(descriptor); int _arg0; _arg0 = data.readInt(); this.destroyUserKey(_arg0); reply.writeNoException(); return true; } case TRANSACTION_unlockUserKey: { data.enforceInterface(descriptor); int _arg0; _arg0 = data.readInt(); int _arg1; _arg1 = data.readInt(); byte[] _arg2; _arg2 = data.createByteArray(); byte[] _arg3; _arg3 = data.createByteArray(); this.unlockUserKey(_arg0, _arg1, _arg2, _arg3); reply.writeNoException(); return true; } case TRANSACTION_lockUserKey: { data.enforceInterface(descriptor); int _arg0; _arg0 = data.readInt(); this.lockUserKey(_arg0); reply.writeNoException(); return true; } case TRANSACTION_isUserKeyUnlocked: { data.enforceInterface(descriptor); int _arg0; _arg0 = data.readInt(); boolean _result = this.isUserKeyUnlocked(_arg0); reply.writeNoException(); reply.writeInt(((_result)?(1):(0))); return true; } case TRANSACTION_prepareUserStorage: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); int _arg1; _arg1 = data.readInt(); int _arg2; _arg2 = data.readInt(); int _arg3; _arg3 = data.readInt(); this.prepareUserStorage(_arg0, _arg1, _arg2, _arg3); reply.writeNoException(); return true; } case TRANSACTION_destroyUserStorage: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); int _arg1; _arg1 = data.readInt(); int _arg2; _arg2 = data.readInt(); this.destroyUserStorage(_arg0, _arg1, _arg2); reply.writeNoException(); return true; } case TRANSACTION_isConvertibleToFBE: { data.enforceInterface(descriptor); boolean _result = this.isConvertibleToFBE(); reply.writeNoException(); reply.writeInt(((_result)?(1):(0))); return true; } case TRANSACTION_addUserKeyAuth: { data.enforceInterface(descriptor); int _arg0; _arg0 = data.readInt(); int _arg1; _arg1 = data.readInt(); byte[] _arg2; _arg2 = data.createByteArray(); byte[] _arg3; _arg3 = data.createByteArray(); this.addUserKeyAuth(_arg0, _arg1, _arg2, _arg3); reply.writeNoException(); return true; } case TRANSACTION_fixateNewestUserKeyAuth: { data.enforceInterface(descriptor); int _arg0; _arg0 = data.readInt(); this.fixateNewestUserKeyAuth(_arg0); reply.writeNoException(); return true; } case TRANSACTION_fstrim: { data.enforceInterface(descriptor); int _arg0; _arg0 = data.readInt(); android.os.IVoldTaskListener _arg1; _arg1 = android.os.IVoldTaskListener.Stub.asInterface(data.readStrongBinder()); this.fstrim(_arg0, _arg1); reply.writeNoException(); return true; } case TRANSACTION_mountProxyFileDescriptorBridge: { data.enforceInterface(descriptor); com.android.internal.os.AppFuseMount _result = this.mountProxyFileDescriptorBridge(); reply.writeNoException(); if ((_result!=null)) { reply.writeInt(1); _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } return true; } case TRANSACTION_openProxyFileDescriptor: { data.enforceInterface(descriptor); int _arg0; _arg0 = data.readInt(); int _arg1; _arg1 = data.readInt(); int _arg2; _arg2 = data.readInt(); android.os.ParcelFileDescriptor _result = this.openProxyFileDescriptor(_arg0, _arg1, _arg2); reply.writeNoException(); if ((_result!=null)) { reply.writeInt(1); _result.writeToParcel(reply, android.os.Parcelable.PARCELABLE_WRITE_RETURN_VALUE); } else { reply.writeInt(0); } return true; } case TRANSACTION_getCacheQuotaBytes: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); int _arg1; _arg1 = data.readInt(); long _result = this.getCacheQuotaBytes(_arg0, _arg1); reply.writeNoException(); reply.writeLong(_result); return true; } case TRANSACTION_getCacheSizeBytes: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); int _arg1; _arg1 = data.readInt(); long _result = this.getCacheSizeBytes(_arg0, _arg1); reply.writeNoException(); reply.writeLong(_result); return true; } case TRANSACTION_getAllocatableBytes: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); int _arg1; _arg1 = data.readInt(); java.lang.String _arg2; _arg2 = data.readString(); long _result = this.getAllocatableBytes(_arg0, _arg1, _arg2); reply.writeNoException(); reply.writeLong(_result); return true; } case TRANSACTION_allocateBytes: { data.enforceInterface(descriptor); java.lang.String _arg0; _arg0 = data.readString(); long _arg1; _arg1 = data.readLong(); int _arg2; _arg2 = data.readInt(); java.lang.String _arg3; _arg3 = data.readString(); this.allocateBytes(_arg0, _arg1, _arg2, _arg3); reply.writeNoException(); return true; } case TRANSACTION_runIdleMaintenance: { data.enforceInterface(descriptor); this.runIdleMaintenance(); reply.writeNoException(); return true; } case TRANSACTION_abortIdleMaintenance: { data.enforceInterface(descriptor); this.abortIdleMaintenance(); reply.writeNoException(); return true; } default: { return super.onTransact(code, data, reply, flags); } } } private static class Proxy implements android.os.storage.IStorageManager { private android.os.IBinder mRemote; Proxy(android.os.IBinder remote) { mRemote = remote; } @Override public android.os.IBinder asBinder() { return mRemote; } public java.lang.String getInterfaceDescriptor() { return DESCRIPTOR; }
Registers an IStorageEventListener for receiving async notifications.
/** * Registers an IStorageEventListener for receiving async notifications. */
@Override public void registerListener(android.os.storage.IStorageEventListener listener) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((listener!=null))?(listener.asBinder()):(null))); mRemote.transact(Stub.TRANSACTION_registerListener, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } }
Unregisters an IStorageEventListener
/** * Unregisters an IStorageEventListener */
@Override public void unregisterListener(android.os.storage.IStorageEventListener listener) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((listener!=null))?(listener.asBinder()):(null))); mRemote.transact(Stub.TRANSACTION_unregisterListener, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } }
Shuts down the StorageManagerService and gracefully unmounts all external media. Invokes call back once the shutdown is complete.
/** * Shuts down the StorageManagerService and gracefully unmounts all external media. * Invokes call back once the shutdown is complete. */
@Override public void shutdown(android.os.storage.IStorageShutdownObserver observer) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeStrongBinder((((observer!=null))?(observer.asBinder()):(null))); mRemote.transact(Stub.TRANSACTION_shutdown, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } }
Mounts an Opaque Binary Blob (OBB) with the specified decryption key and only allows the calling process's UID access to the contents. StorageManagerService will call back to the supplied IObbActionListener to inform it of the terminal state of the call.
/** * Mounts an Opaque Binary Blob (OBB) with the specified decryption key and * only allows the calling process's UID access to the contents. * StorageManagerService will call back to the supplied IObbActionListener to inform * it of the terminal state of the call. */
@Override public void mountObb(java.lang.String rawPath, java.lang.String canonicalPath, java.lang.String key, android.os.storage.IObbActionListener token, int nonce) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(rawPath); _data.writeString(canonicalPath); _data.writeString(key); _data.writeStrongBinder((((token!=null))?(token.asBinder()):(null))); _data.writeInt(nonce); mRemote.transact(Stub.TRANSACTION_mountObb, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } }
Unmounts an Opaque Binary Blob (OBB). When the force flag is specified, any program using it will be forcibly killed to unmount the image. StorageManagerService will call back to the supplied IObbActionListener to inform it of the terminal state of the call.
/** * Unmounts an Opaque Binary Blob (OBB). When the force flag is specified, * any program using it will be forcibly killed to unmount the image. * StorageManagerService will call back to the supplied IObbActionListener to inform * it of the terminal state of the call. */
@Override public void unmountObb(java.lang.String rawPath, boolean force, android.os.storage.IObbActionListener token, int nonce) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(rawPath); _data.writeInt(((force)?(1):(0))); _data.writeStrongBinder((((token!=null))?(token.asBinder()):(null))); _data.writeInt(nonce); mRemote.transact(Stub.TRANSACTION_unmountObb, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } }
Checks whether the specified Opaque Binary Blob (OBB) is mounted somewhere.
/** * Checks whether the specified Opaque Binary Blob (OBB) is mounted * somewhere. */
@Override public boolean isObbMounted(java.lang.String rawPath) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); boolean _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(rawPath); mRemote.transact(Stub.TRANSACTION_isObbMounted, _data, _reply, 0); _reply.readException(); _result = (0!=_reply.readInt()); } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public java.lang.String getMountedObbPath(java.lang.String rawPath) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); java.lang.String _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(rawPath); mRemote.transact(Stub.TRANSACTION_getMountedObbPath, _data, _reply, 0); _reply.readException(); _result = _reply.readString(); } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public int decryptStorage(java.lang.String password) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); int _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(password); mRemote.transact(Stub.TRANSACTION_decryptStorage, _data, _reply, 0); _reply.readException(); _result = _reply.readInt(); } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public int encryptStorage(int type, java.lang.String password) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); int _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(type); _data.writeString(password); mRemote.transact(Stub.TRANSACTION_encryptStorage, _data, _reply, 0); _reply.readException(); _result = _reply.readInt(); } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public int changeEncryptionPassword(int type, java.lang.String password) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); int _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(type); _data.writeString(password); mRemote.transact(Stub.TRANSACTION_changeEncryptionPassword, _data, _reply, 0); _reply.readException(); _result = _reply.readInt(); } finally { _reply.recycle(); _data.recycle(); } return _result; }
Returns list of all mountable volumes.
/** * Returns list of all mountable volumes. */
@Override public android.os.storage.StorageVolume[] getVolumeList(int uid, java.lang.String packageName, int flags) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); android.os.storage.StorageVolume[] _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(uid); _data.writeString(packageName); _data.writeInt(flags); mRemote.transact(Stub.TRANSACTION_getVolumeList, _data, _reply, 0); _reply.readException(); _result = _reply.createTypedArray(android.os.storage.StorageVolume.CREATOR); } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public int getEncryptionState() throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); int _result; try { _data.writeInterfaceToken(DESCRIPTOR); mRemote.transact(Stub.TRANSACTION_getEncryptionState, _data, _reply, 0); _reply.readException(); _result = _reply.readInt(); } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public int verifyEncryptionPassword(java.lang.String password) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); int _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(password); mRemote.transact(Stub.TRANSACTION_verifyEncryptionPassword, _data, _reply, 0); _reply.readException(); _result = _reply.readInt(); } finally { _reply.recycle(); _data.recycle(); } return _result; }
Ensure that all directories along given path exist, creating parent directories as needed. Validates that given path is absolute and that it contains no relative "." or ".." paths or symlinks. Also ensures that path belongs to a volume managed by vold, and that path is either external storage data or OBB directory belonging to calling app.
/** * Ensure that all directories along given path exist, creating parent * directories as needed. Validates that given path is absolute and that it * contains no relative "." or ".." paths or symlinks. Also ensures that * path belongs to a volume managed by vold, and that path is either * external storage data or OBB directory belonging to calling app. */
@Override public void mkdirs(java.lang.String callingPkg, java.lang.String path) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(callingPkg); _data.writeString(path); mRemote.transact(Stub.TRANSACTION_mkdirs, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public int getPasswordType() throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); int _result; try { _data.writeInterfaceToken(DESCRIPTOR); mRemote.transact(Stub.TRANSACTION_getPasswordType, _data, _reply, 0); _reply.readException(); _result = _reply.readInt(); } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public java.lang.String getPassword() throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); java.lang.String _result; try { _data.writeInterfaceToken(DESCRIPTOR); mRemote.transact(Stub.TRANSACTION_getPassword, _data, _reply, 0); _reply.readException(); _result = _reply.readString(); } finally { _reply.recycle(); _data.recycle(); } return _result; }
Securely clear password from vold
/** * Securely clear password from vold */
@Override public void clearPassword() throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); mRemote.transact(Stub.TRANSACTION_clearPassword, _data, null, android.os.IBinder.FLAG_ONEWAY); } finally { _data.recycle(); } }
Set a field in the crypto header.
Params:
  • field – field to set
  • contents – contents to set in field
/** * Set a field in the crypto header. * @param field field to set * @param contents contents to set in field */
@Override public void setField(java.lang.String field, java.lang.String contents) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(field); _data.writeString(contents); mRemote.transact(Stub.TRANSACTION_setField, _data, null, android.os.IBinder.FLAG_ONEWAY); } finally { _data.recycle(); } } @Override public java.lang.String getField(java.lang.String field) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); java.lang.String _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(field); mRemote.transact(Stub.TRANSACTION_getField, _data, _reply, 0); _reply.readException(); _result = _reply.readString(); } finally { _reply.recycle(); _data.recycle(); } return _result; }
Report the time of the last maintenance operation such as fstrim.
Throws:
  • RemoteException –
Returns:Timestamp of the last maintenance operation, in the System.currentTimeMillis() time base
/** * Report the time of the last maintenance operation such as fstrim. * @return Timestamp of the last maintenance operation, in the * System.currentTimeMillis() time base * @throws RemoteException */
@Override public long lastMaintenance() throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); long _result; try { _data.writeInterfaceToken(DESCRIPTOR); mRemote.transact(Stub.TRANSACTION_lastMaintenance, _data, _reply, 0); _reply.readException(); _result = _reply.readLong(); } finally { _reply.recycle(); _data.recycle(); } return _result; }
Kick off an immediate maintenance operation
Throws:
  • RemoteException –
/** * Kick off an immediate maintenance operation * @throws RemoteException */
@Override public void runMaintenance() throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); mRemote.transact(Stub.TRANSACTION_runMaintenance, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public android.os.storage.DiskInfo[] getDisks() throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); android.os.storage.DiskInfo[] _result; try { _data.writeInterfaceToken(DESCRIPTOR); mRemote.transact(Stub.TRANSACTION_getDisks, _data, _reply, 0); _reply.readException(); _result = _reply.createTypedArray(android.os.storage.DiskInfo.CREATOR); } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public android.os.storage.VolumeInfo[] getVolumes(int flags) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); android.os.storage.VolumeInfo[] _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(flags); mRemote.transact(Stub.TRANSACTION_getVolumes, _data, _reply, 0); _reply.readException(); _result = _reply.createTypedArray(android.os.storage.VolumeInfo.CREATOR); } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public android.os.storage.VolumeRecord[] getVolumeRecords(int flags) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); android.os.storage.VolumeRecord[] _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(flags); mRemote.transact(Stub.TRANSACTION_getVolumeRecords, _data, _reply, 0); _reply.readException(); _result = _reply.createTypedArray(android.os.storage.VolumeRecord.CREATOR); } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public void mount(java.lang.String volId) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(volId); mRemote.transact(Stub.TRANSACTION_mount, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void unmount(java.lang.String volId) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(volId); mRemote.transact(Stub.TRANSACTION_unmount, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void format(java.lang.String volId) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(volId); mRemote.transact(Stub.TRANSACTION_format, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void partitionPublic(java.lang.String diskId) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(diskId); mRemote.transact(Stub.TRANSACTION_partitionPublic, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void partitionPrivate(java.lang.String diskId) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(diskId); mRemote.transact(Stub.TRANSACTION_partitionPrivate, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void partitionMixed(java.lang.String diskId, int ratio) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(diskId); _data.writeInt(ratio); mRemote.transact(Stub.TRANSACTION_partitionMixed, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void setVolumeNickname(java.lang.String fsUuid, java.lang.String nickname) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(fsUuid); _data.writeString(nickname); mRemote.transact(Stub.TRANSACTION_setVolumeNickname, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void setVolumeUserFlags(java.lang.String fsUuid, int flags, int mask) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(fsUuid); _data.writeInt(flags); _data.writeInt(mask); mRemote.transact(Stub.TRANSACTION_setVolumeUserFlags, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void forgetVolume(java.lang.String fsUuid) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(fsUuid); mRemote.transact(Stub.TRANSACTION_forgetVolume, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void forgetAllVolumes() throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); mRemote.transact(Stub.TRANSACTION_forgetAllVolumes, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public java.lang.String getPrimaryStorageUuid() throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); java.lang.String _result; try { _data.writeInterfaceToken(DESCRIPTOR); mRemote.transact(Stub.TRANSACTION_getPrimaryStorageUuid, _data, _reply, 0); _reply.readException(); _result = _reply.readString(); } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public void setPrimaryStorageUuid(java.lang.String volumeUuid, android.content.pm.IPackageMoveObserver callback) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(volumeUuid); _data.writeStrongBinder((((callback!=null))?(callback.asBinder()):(null))); mRemote.transact(Stub.TRANSACTION_setPrimaryStorageUuid, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void benchmark(java.lang.String volId, android.os.IVoldTaskListener listener) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(volId); _data.writeStrongBinder((((listener!=null))?(listener.asBinder()):(null))); mRemote.transact(Stub.TRANSACTION_benchmark, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void setDebugFlags(int flags, int mask) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(flags); _data.writeInt(mask); mRemote.transact(Stub.TRANSACTION_setDebugFlags, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void createUserKey(int userId, int serialNumber, boolean ephemeral) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(userId); _data.writeInt(serialNumber); _data.writeInt(((ephemeral)?(1):(0))); mRemote.transact(Stub.TRANSACTION_createUserKey, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void destroyUserKey(int userId) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(userId); mRemote.transact(Stub.TRANSACTION_destroyUserKey, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void unlockUserKey(int userId, int serialNumber, byte[] token, byte[] secret) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(userId); _data.writeInt(serialNumber); _data.writeByteArray(token); _data.writeByteArray(secret); mRemote.transact(Stub.TRANSACTION_unlockUserKey, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void lockUserKey(int userId) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(userId); mRemote.transact(Stub.TRANSACTION_lockUserKey, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public boolean isUserKeyUnlocked(int userId) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); boolean _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(userId); mRemote.transact(Stub.TRANSACTION_isUserKeyUnlocked, _data, _reply, 0); _reply.readException(); _result = (0!=_reply.readInt()); } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public void prepareUserStorage(java.lang.String volumeUuid, int userId, int serialNumber, int flags) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(volumeUuid); _data.writeInt(userId); _data.writeInt(serialNumber); _data.writeInt(flags); mRemote.transact(Stub.TRANSACTION_prepareUserStorage, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void destroyUserStorage(java.lang.String volumeUuid, int userId, int flags) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(volumeUuid); _data.writeInt(userId); _data.writeInt(flags); mRemote.transact(Stub.TRANSACTION_destroyUserStorage, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public boolean isConvertibleToFBE() throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); boolean _result; try { _data.writeInterfaceToken(DESCRIPTOR); mRemote.transact(Stub.TRANSACTION_isConvertibleToFBE, _data, _reply, 0); _reply.readException(); _result = (0!=_reply.readInt()); } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public void addUserKeyAuth(int userId, int serialNumber, byte[] token, byte[] secret) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(userId); _data.writeInt(serialNumber); _data.writeByteArray(token); _data.writeByteArray(secret); mRemote.transact(Stub.TRANSACTION_addUserKeyAuth, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void fixateNewestUserKeyAuth(int userId) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(userId); mRemote.transact(Stub.TRANSACTION_fixateNewestUserKeyAuth, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void fstrim(int flags, android.os.IVoldTaskListener listener) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(flags); _data.writeStrongBinder((((listener!=null))?(listener.asBinder()):(null))); mRemote.transact(Stub.TRANSACTION_fstrim, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public com.android.internal.os.AppFuseMount mountProxyFileDescriptorBridge() throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); com.android.internal.os.AppFuseMount _result; try { _data.writeInterfaceToken(DESCRIPTOR); mRemote.transact(Stub.TRANSACTION_mountProxyFileDescriptorBridge, _data, _reply, 0); _reply.readException(); if ((0!=_reply.readInt())) { _result = com.android.internal.os.AppFuseMount.CREATOR.createFromParcel(_reply); } else { _result = null; } } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public android.os.ParcelFileDescriptor openProxyFileDescriptor(int mountPointId, int fileId, int mode) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); android.os.ParcelFileDescriptor _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeInt(mountPointId); _data.writeInt(fileId); _data.writeInt(mode); mRemote.transact(Stub.TRANSACTION_openProxyFileDescriptor, _data, _reply, 0); _reply.readException(); if ((0!=_reply.readInt())) { _result = android.os.ParcelFileDescriptor.CREATOR.createFromParcel(_reply); } else { _result = null; } } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public long getCacheQuotaBytes(java.lang.String volumeUuid, int uid) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); long _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(volumeUuid); _data.writeInt(uid); mRemote.transact(Stub.TRANSACTION_getCacheQuotaBytes, _data, _reply, 0); _reply.readException(); _result = _reply.readLong(); } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public long getCacheSizeBytes(java.lang.String volumeUuid, int uid) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); long _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(volumeUuid); _data.writeInt(uid); mRemote.transact(Stub.TRANSACTION_getCacheSizeBytes, _data, _reply, 0); _reply.readException(); _result = _reply.readLong(); } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public long getAllocatableBytes(java.lang.String volumeUuid, int flags, java.lang.String callingPackage) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); long _result; try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(volumeUuid); _data.writeInt(flags); _data.writeString(callingPackage); mRemote.transact(Stub.TRANSACTION_getAllocatableBytes, _data, _reply, 0); _reply.readException(); _result = _reply.readLong(); } finally { _reply.recycle(); _data.recycle(); } return _result; } @Override public void allocateBytes(java.lang.String volumeUuid, long bytes, int flags, java.lang.String callingPackage) throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); _data.writeString(volumeUuid); _data.writeLong(bytes); _data.writeInt(flags); _data.writeString(callingPackage); mRemote.transact(Stub.TRANSACTION_allocateBytes, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void runIdleMaintenance() throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); mRemote.transact(Stub.TRANSACTION_runIdleMaintenance, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } @Override public void abortIdleMaintenance() throws android.os.RemoteException { android.os.Parcel _data = android.os.Parcel.obtain(); android.os.Parcel _reply = android.os.Parcel.obtain(); try { _data.writeInterfaceToken(DESCRIPTOR); mRemote.transact(Stub.TRANSACTION_abortIdleMaintenance, _data, _reply, 0); _reply.readException(); } finally { _reply.recycle(); _data.recycle(); } } } static final int TRANSACTION_registerListener = (android.os.IBinder.FIRST_CALL_TRANSACTION + 0); static final int TRANSACTION_unregisterListener = (android.os.IBinder.FIRST_CALL_TRANSACTION + 1); static final int TRANSACTION_shutdown = (android.os.IBinder.FIRST_CALL_TRANSACTION + 19); static final int TRANSACTION_mountObb = (android.os.IBinder.FIRST_CALL_TRANSACTION + 21); static final int TRANSACTION_unmountObb = (android.os.IBinder.FIRST_CALL_TRANSACTION + 22); static final int TRANSACTION_isObbMounted = (android.os.IBinder.FIRST_CALL_TRANSACTION + 23); static final int TRANSACTION_getMountedObbPath = (android.os.IBinder.FIRST_CALL_TRANSACTION + 24); static final int TRANSACTION_decryptStorage = (android.os.IBinder.FIRST_CALL_TRANSACTION + 26); static final int TRANSACTION_encryptStorage = (android.os.IBinder.FIRST_CALL_TRANSACTION + 27); static final int TRANSACTION_changeEncryptionPassword = (android.os.IBinder.FIRST_CALL_TRANSACTION + 28); static final int TRANSACTION_getVolumeList = (android.os.IBinder.FIRST_CALL_TRANSACTION + 29); static final int TRANSACTION_getEncryptionState = (android.os.IBinder.FIRST_CALL_TRANSACTION + 31); static final int TRANSACTION_verifyEncryptionPassword = (android.os.IBinder.FIRST_CALL_TRANSACTION + 32); static final int TRANSACTION_mkdirs = (android.os.IBinder.FIRST_CALL_TRANSACTION + 34); static final int TRANSACTION_getPasswordType = (android.os.IBinder.FIRST_CALL_TRANSACTION + 35); static final int TRANSACTION_getPassword = (android.os.IBinder.FIRST_CALL_TRANSACTION + 36); static final int TRANSACTION_clearPassword = (android.os.IBinder.FIRST_CALL_TRANSACTION + 37); static final int TRANSACTION_setField = (android.os.IBinder.FIRST_CALL_TRANSACTION + 38); static final int TRANSACTION_getField = (android.os.IBinder.FIRST_CALL_TRANSACTION + 39); static final int TRANSACTION_lastMaintenance = (android.os.IBinder.FIRST_CALL_TRANSACTION + 41); static final int TRANSACTION_runMaintenance = (android.os.IBinder.FIRST_CALL_TRANSACTION + 42); static final int TRANSACTION_getDisks = (android.os.IBinder.FIRST_CALL_TRANSACTION + 44); static final int TRANSACTION_getVolumes = (android.os.IBinder.FIRST_CALL_TRANSACTION + 45); static final int TRANSACTION_getVolumeRecords = (android.os.IBinder.FIRST_CALL_TRANSACTION + 46); static final int TRANSACTION_mount = (android.os.IBinder.FIRST_CALL_TRANSACTION + 47); static final int TRANSACTION_unmount = (android.os.IBinder.FIRST_CALL_TRANSACTION + 48); static final int TRANSACTION_format = (android.os.IBinder.FIRST_CALL_TRANSACTION + 49); static final int TRANSACTION_partitionPublic = (android.os.IBinder.FIRST_CALL_TRANSACTION + 50); static final int TRANSACTION_partitionPrivate = (android.os.IBinder.FIRST_CALL_TRANSACTION + 51); static final int TRANSACTION_partitionMixed = (android.os.IBinder.FIRST_CALL_TRANSACTION + 52); static final int TRANSACTION_setVolumeNickname = (android.os.IBinder.FIRST_CALL_TRANSACTION + 53); static final int TRANSACTION_setVolumeUserFlags = (android.os.IBinder.FIRST_CALL_TRANSACTION + 54); static final int TRANSACTION_forgetVolume = (android.os.IBinder.FIRST_CALL_TRANSACTION + 55); static final int TRANSACTION_forgetAllVolumes = (android.os.IBinder.FIRST_CALL_TRANSACTION + 56); static final int TRANSACTION_getPrimaryStorageUuid = (android.os.IBinder.FIRST_CALL_TRANSACTION + 57); static final int TRANSACTION_setPrimaryStorageUuid = (android.os.IBinder.FIRST_CALL_TRANSACTION + 58); static final int TRANSACTION_benchmark = (android.os.IBinder.FIRST_CALL_TRANSACTION + 59); static final int TRANSACTION_setDebugFlags = (android.os.IBinder.FIRST_CALL_TRANSACTION + 60); static final int TRANSACTION_createUserKey = (android.os.IBinder.FIRST_CALL_TRANSACTION + 61); static final int TRANSACTION_destroyUserKey = (android.os.IBinder.FIRST_CALL_TRANSACTION + 62); static final int TRANSACTION_unlockUserKey = (android.os.IBinder.FIRST_CALL_TRANSACTION + 63); static final int TRANSACTION_lockUserKey = (android.os.IBinder.FIRST_CALL_TRANSACTION + 64); static final int TRANSACTION_isUserKeyUnlocked = (android.os.IBinder.FIRST_CALL_TRANSACTION + 65); static final int TRANSACTION_prepareUserStorage = (android.os.IBinder.FIRST_CALL_TRANSACTION + 66); static final int TRANSACTION_destroyUserStorage = (android.os.IBinder.FIRST_CALL_TRANSACTION + 67); static final int TRANSACTION_isConvertibleToFBE = (android.os.IBinder.FIRST_CALL_TRANSACTION + 68); static final int TRANSACTION_addUserKeyAuth = (android.os.IBinder.FIRST_CALL_TRANSACTION + 70); static final int TRANSACTION_fixateNewestUserKeyAuth = (android.os.IBinder.FIRST_CALL_TRANSACTION + 71); static final int TRANSACTION_fstrim = (android.os.IBinder.FIRST_CALL_TRANSACTION + 72); static final int TRANSACTION_mountProxyFileDescriptorBridge = (android.os.IBinder.FIRST_CALL_TRANSACTION + 73); static final int TRANSACTION_openProxyFileDescriptor = (android.os.IBinder.FIRST_CALL_TRANSACTION + 74); static final int TRANSACTION_getCacheQuotaBytes = (android.os.IBinder.FIRST_CALL_TRANSACTION + 75); static final int TRANSACTION_getCacheSizeBytes = (android.os.IBinder.FIRST_CALL_TRANSACTION + 76); static final int TRANSACTION_getAllocatableBytes = (android.os.IBinder.FIRST_CALL_TRANSACTION + 77); static final int TRANSACTION_allocateBytes = (android.os.IBinder.FIRST_CALL_TRANSACTION + 78); static final int TRANSACTION_runIdleMaintenance = (android.os.IBinder.FIRST_CALL_TRANSACTION + 79); static final int TRANSACTION_abortIdleMaintenance = (android.os.IBinder.FIRST_CALL_TRANSACTION + 80); }
Registers an IStorageEventListener for receiving async notifications.
/** * Registers an IStorageEventListener for receiving async notifications. */
public void registerListener(android.os.storage.IStorageEventListener listener) throws android.os.RemoteException;
Unregisters an IStorageEventListener
/** * Unregisters an IStorageEventListener */
public void unregisterListener(android.os.storage.IStorageEventListener listener) throws android.os.RemoteException;
Shuts down the StorageManagerService and gracefully unmounts all external media. Invokes call back once the shutdown is complete.
/** * Shuts down the StorageManagerService and gracefully unmounts all external media. * Invokes call back once the shutdown is complete. */
public void shutdown(android.os.storage.IStorageShutdownObserver observer) throws android.os.RemoteException;
Mounts an Opaque Binary Blob (OBB) with the specified decryption key and only allows the calling process's UID access to the contents. StorageManagerService will call back to the supplied IObbActionListener to inform it of the terminal state of the call.
/** * Mounts an Opaque Binary Blob (OBB) with the specified decryption key and * only allows the calling process's UID access to the contents. * StorageManagerService will call back to the supplied IObbActionListener to inform * it of the terminal state of the call. */
public void mountObb(java.lang.String rawPath, java.lang.String canonicalPath, java.lang.String key, android.os.storage.IObbActionListener token, int nonce) throws android.os.RemoteException;
Unmounts an Opaque Binary Blob (OBB). When the force flag is specified, any program using it will be forcibly killed to unmount the image. StorageManagerService will call back to the supplied IObbActionListener to inform it of the terminal state of the call.
/** * Unmounts an Opaque Binary Blob (OBB). When the force flag is specified, * any program using it will be forcibly killed to unmount the image. * StorageManagerService will call back to the supplied IObbActionListener to inform * it of the terminal state of the call. */
public void unmountObb(java.lang.String rawPath, boolean force, android.os.storage.IObbActionListener token, int nonce) throws android.os.RemoteException;
Checks whether the specified Opaque Binary Blob (OBB) is mounted somewhere.
/** * Checks whether the specified Opaque Binary Blob (OBB) is mounted * somewhere. */
public boolean isObbMounted(java.lang.String rawPath) throws android.os.RemoteException; public java.lang.String getMountedObbPath(java.lang.String rawPath) throws android.os.RemoteException; public int decryptStorage(java.lang.String password) throws android.os.RemoteException; public int encryptStorage(int type, java.lang.String password) throws android.os.RemoteException; public int changeEncryptionPassword(int type, java.lang.String password) throws android.os.RemoteException;
Returns list of all mountable volumes.
/** * Returns list of all mountable volumes. */
public android.os.storage.StorageVolume[] getVolumeList(int uid, java.lang.String packageName, int flags) throws android.os.RemoteException; public int getEncryptionState() throws android.os.RemoteException; public int verifyEncryptionPassword(java.lang.String password) throws android.os.RemoteException;
Ensure that all directories along given path exist, creating parent directories as needed. Validates that given path is absolute and that it contains no relative "." or ".." paths or symlinks. Also ensures that path belongs to a volume managed by vold, and that path is either external storage data or OBB directory belonging to calling app.
/** * Ensure that all directories along given path exist, creating parent * directories as needed. Validates that given path is absolute and that it * contains no relative "." or ".." paths or symlinks. Also ensures that * path belongs to a volume managed by vold, and that path is either * external storage data or OBB directory belonging to calling app. */
public void mkdirs(java.lang.String callingPkg, java.lang.String path) throws android.os.RemoteException; public int getPasswordType() throws android.os.RemoteException; public java.lang.String getPassword() throws android.os.RemoteException;
Securely clear password from vold
/** * Securely clear password from vold */
public void clearPassword() throws android.os.RemoteException;
Set a field in the crypto header.
Params:
  • field – field to set
  • contents – contents to set in field
/** * Set a field in the crypto header. * @param field field to set * @param contents contents to set in field */
public void setField(java.lang.String field, java.lang.String contents) throws android.os.RemoteException; public java.lang.String getField(java.lang.String field) throws android.os.RemoteException;
Report the time of the last maintenance operation such as fstrim.
Throws:
  • RemoteException –
Returns:Timestamp of the last maintenance operation, in the System.currentTimeMillis() time base
/** * Report the time of the last maintenance operation such as fstrim. * @return Timestamp of the last maintenance operation, in the * System.currentTimeMillis() time base * @throws RemoteException */
public long lastMaintenance() throws android.os.RemoteException;
Kick off an immediate maintenance operation
Throws:
  • RemoteException –
/** * Kick off an immediate maintenance operation * @throws RemoteException */
public void runMaintenance() throws android.os.RemoteException; public android.os.storage.DiskInfo[] getDisks() throws android.os.RemoteException; public android.os.storage.VolumeInfo[] getVolumes(int flags) throws android.os.RemoteException; public android.os.storage.VolumeRecord[] getVolumeRecords(int flags) throws android.os.RemoteException; public void mount(java.lang.String volId) throws android.os.RemoteException; public void unmount(java.lang.String volId) throws android.os.RemoteException; public void format(java.lang.String volId) throws android.os.RemoteException; public void partitionPublic(java.lang.String diskId) throws android.os.RemoteException; public void partitionPrivate(java.lang.String diskId) throws android.os.RemoteException; public void partitionMixed(java.lang.String diskId, int ratio) throws android.os.RemoteException; public void setVolumeNickname(java.lang.String fsUuid, java.lang.String nickname) throws android.os.RemoteException; public void setVolumeUserFlags(java.lang.String fsUuid, int flags, int mask) throws android.os.RemoteException; public void forgetVolume(java.lang.String fsUuid) throws android.os.RemoteException; public void forgetAllVolumes() throws android.os.RemoteException; public java.lang.String getPrimaryStorageUuid() throws android.os.RemoteException; public void setPrimaryStorageUuid(java.lang.String volumeUuid, android.content.pm.IPackageMoveObserver callback) throws android.os.RemoteException; public void benchmark(java.lang.String volId, android.os.IVoldTaskListener listener) throws android.os.RemoteException; public void setDebugFlags(int flags, int mask) throws android.os.RemoteException; public void createUserKey(int userId, int serialNumber, boolean ephemeral) throws android.os.RemoteException; public void destroyUserKey(int userId) throws android.os.RemoteException; public void unlockUserKey(int userId, int serialNumber, byte[] token, byte[] secret) throws android.os.RemoteException; public void lockUserKey(int userId) throws android.os.RemoteException; public boolean isUserKeyUnlocked(int userId) throws android.os.RemoteException; public void prepareUserStorage(java.lang.String volumeUuid, int userId, int serialNumber, int flags) throws android.os.RemoteException; public void destroyUserStorage(java.lang.String volumeUuid, int userId, int flags) throws android.os.RemoteException; public boolean isConvertibleToFBE() throws android.os.RemoteException; public void addUserKeyAuth(int userId, int serialNumber, byte[] token, byte[] secret) throws android.os.RemoteException; public void fixateNewestUserKeyAuth(int userId) throws android.os.RemoteException; public void fstrim(int flags, android.os.IVoldTaskListener listener) throws android.os.RemoteException; public com.android.internal.os.AppFuseMount mountProxyFileDescriptorBridge() throws android.os.RemoteException; public android.os.ParcelFileDescriptor openProxyFileDescriptor(int mountPointId, int fileId, int mode) throws android.os.RemoteException; public long getCacheQuotaBytes(java.lang.String volumeUuid, int uid) throws android.os.RemoteException; public long getCacheSizeBytes(java.lang.String volumeUuid, int uid) throws android.os.RemoteException; public long getAllocatableBytes(java.lang.String volumeUuid, int flags, java.lang.String callingPackage) throws android.os.RemoteException; public void allocateBytes(java.lang.String volumeUuid, long bytes, int flags, java.lang.String callingPackage) throws android.os.RemoteException; public void runIdleMaintenance() throws android.os.RemoteException; public void abortIdleMaintenance() throws android.os.RemoteException; }