1package android.app.backup; 2 3import android.os.ParcelFileDescriptor; 4 5/** 6 * Provides the interface through which a {@link BackupAgent} writes entire files 7 * to a full backup data set, via its {@link BackupAgent#onFullBackup(FullBackupDataOutput)} 8 * method. 9 */ 10public class FullBackupDataOutput { 11 // Currently a name-scoping shim around BackupDataOutput 12 private final BackupDataOutput mData; 13 private final long mQuota; 14 private long mSize; 15 16 /** 17 * Returns the quota in bytes for the application's current backup operation. The 18 * value can vary for each operation. 19 * 20 * @see BackupDataOutput#getQuota() 21 */ 22 public long getQuota() { 23 return mQuota; 24 } 25 26 /** @hide - used only in measure operation */ 27 public FullBackupDataOutput(long quota) { 28 mData = null; 29 mQuota = quota; 30 mSize = 0; 31 } 32 33 /** @hide */ 34 public FullBackupDataOutput(ParcelFileDescriptor fd, long quota) { 35 mData = new BackupDataOutput(fd.getFileDescriptor(), quota); 36 mQuota = quota; 37 } 38 39 /** @hide - used only internally to the backup manager service's stream construction */ 40 public FullBackupDataOutput(ParcelFileDescriptor fd) { 41 this(fd, -1); 42 } 43 44 /** @hide */ 45 public BackupDataOutput getData() { return mData; } 46 47 /** @hide - used for measurement pass */ 48 public void addSize(long size) { 49 if (size > 0) { 50 mSize += size; 51 } 52 } 53 54 /** @hide - used for measurement pass */ 55 public long getSize() { return mSize; } 56} 57