FileDocCategorySizeDatePackage
PersistentDataBlockManager.javaAPI DocAndroid 5.1 API4394Thu Mar 12 22:22:10 GMT 2015android.service.persistentdata

PersistentDataBlockManager

public class PersistentDataBlockManager extends Object
Interface for reading and writing data blocks to a persistent partition. Allows writing one block at a time. Namely, each time {@link PersistentDataBlockManager#write(byte[])} is called, it will overwite the data that was previously written on the block. Clients can query the size of the currently written block via {@link PersistentDataBlockManager#getDataBlockSize()}. Clients can query the maximum size for a block via {@link PersistentDataBlockManager#getMaximumDataBlockSize()} Clients can read the currently written block by invoking {@link PersistentDataBlockManager#read()}.
hide

Fields Summary
private static final String
TAG
private IPersistentDataBlockService
sService
Constructors Summary
public PersistentDataBlockManager(IPersistentDataBlockService service)


       
        sService = service;
    
Methods Summary
public intgetDataBlockSize()
Retrieves the size of the block currently written to the persistent partition. Return -1 on error.

        try {
            return sService.getDataBlockSize();
        } catch (RemoteException e) {
            onError("getting data block size");
            return -1;
        }
    
public longgetMaximumDataBlockSize()
Retrieves the maximum size allowed for a data block. Returns -1 on error.

        try {
            return sService.getMaximumDataBlockSize();
        } catch (RemoteException e) {
            onError("getting maximum data block size");
            return -1;
        }
    
public booleangetOemUnlockEnabled()
Returns whether or not "OEM unlock" is enabled or disabled on this device.

        try {
            return sService.getOemUnlockEnabled();
        } catch (RemoteException e) {
            onError("getting OEM unlock enabled bit");
            return false;
        }
    
private voidonError(java.lang.String msg)

        Slog.v(TAG, "Remote exception while " + msg);
    
public byte[]read()
Returns the data block stored on the persistent partition.

        try {
            return sService.read();
        } catch (RemoteException e) {
            onError("reading data");
            return null;
        }
    
public voidsetOemUnlockEnabled(boolean enabled)
Writes a byte enabling or disabling the ability to "OEM unlock" the device.

        try {
            sService.setOemUnlockEnabled(enabled);
        } catch (RemoteException e) {
            onError("setting OEM unlock enabled to " + enabled);
        }
    
public voidwipe()
Zeroes the previously written block in its entirety. Calling this method will erase all data written to the persistent data partition.

        try {
            sService.wipe();
        } catch (RemoteException e) {
            onError("wiping persistent partition");
        }
    
public intwrite(byte[] data)
Writes {@code data} to the persistent partition. Previously written data will be overwritten. This data will persist across factory resets. Returns the number of bytes written or -1 on error. If the block is too big to fit on the partition, returns -MAX_BLOCK_SIZE.

param
data the data to write

        try {
            return sService.write(data);
        } catch (RemoteException e) {
            onError("writing data");
            return -1;
        }