| package android.app.backup; |
| |
| import android.annotation.UnsupportedAppUsage; |
| import android.os.ParcelFileDescriptor; |
| |
| /** |
| * Provides the interface through which a {@link BackupAgent} writes entire files |
| * to a full backup data set, via its {@link BackupAgent#onFullBackup(FullBackupDataOutput)} |
| * method. |
| */ |
| public class FullBackupDataOutput { |
| // Currently a name-scoping shim around BackupDataOutput |
| @UnsupportedAppUsage |
| private final BackupDataOutput mData; |
| private final long mQuota; |
| private final int mTransportFlags; |
| private long mSize; |
| |
| /** |
| * Returns the quota in bytes for the application's current backup operation. The |
| * value can vary for each operation. |
| * |
| * @see BackupDataOutput#getQuota() |
| */ |
| public long getQuota() { |
| return mQuota; |
| } |
| |
| /** |
| * Returns flags with additional information about the backup transport. For supported flags see |
| * {@link android.app.backup.BackupAgent} |
| * |
| * @see BackupDataOutput#getTransportFlags() |
| */ |
| public int getTransportFlags() { |
| return mTransportFlags; |
| } |
| |
| /** @hide - used only in measure operation */ |
| public FullBackupDataOutput(long quota) { |
| mData = null; |
| mQuota = quota; |
| mSize = 0; |
| mTransportFlags = 0; |
| } |
| |
| /** @hide - used only in measure operation */ |
| public FullBackupDataOutput(long quota, int transportFlags) { |
| mData = null; |
| mQuota = quota; |
| mSize = 0; |
| mTransportFlags = transportFlags; |
| } |
| |
| /** @hide */ |
| public FullBackupDataOutput(ParcelFileDescriptor fd, long quota) { |
| mData = new BackupDataOutput(fd.getFileDescriptor(), quota, 0); |
| mQuota = quota; |
| mTransportFlags = 0; |
| } |
| |
| /** @hide */ |
| public FullBackupDataOutput(ParcelFileDescriptor fd, long quota, int transportFlags) { |
| mData = new BackupDataOutput(fd.getFileDescriptor(), quota, transportFlags); |
| mQuota = quota; |
| mTransportFlags = transportFlags; |
| } |
| |
| /** @hide - used only internally to the backup manager service's stream construction */ |
| @UnsupportedAppUsage |
| public FullBackupDataOutput(ParcelFileDescriptor fd) { |
| this(fd, /*quota=*/ -1, /*transportFlags=*/ 0); |
| } |
| |
| /** @hide */ |
| @UnsupportedAppUsage |
| public BackupDataOutput getData() { return mData; } |
| |
| /** @hide - used for measurement pass */ |
| @UnsupportedAppUsage |
| public void addSize(long size) { |
| if (size > 0) { |
| mSize += size; |
| } |
| } |
| |
| /** @hide - used for measurement pass */ |
| public long getSize() { return mSize; } |
| } |