Merge "Log events from BackupRestoreEventLogger in LocalTransport"
This commit is contained in:
committed by
Android (Google) Code Review
commit
b036af1011
@@ -20,6 +20,9 @@ import android.annotation.Nullable;
|
||||
import android.app.backup.BackupAgent;
|
||||
import android.app.backup.BackupDataInput;
|
||||
import android.app.backup.BackupDataOutput;
|
||||
import android.app.backup.BackupManagerMonitor;
|
||||
import android.app.backup.BackupRestoreEventLogger;
|
||||
import android.app.backup.BackupRestoreEventLogger.DataTypeResult;
|
||||
import android.app.backup.BackupTransport;
|
||||
import android.app.backup.RestoreDescription;
|
||||
import android.app.backup.RestoreSet;
|
||||
@@ -27,6 +30,7 @@ import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.os.Bundle;
|
||||
import android.os.ParcelFileDescriptor;
|
||||
import android.system.ErrnoException;
|
||||
import android.system.Os;
|
||||
@@ -100,6 +104,7 @@ public class LocalTransport extends BackupTransport {
|
||||
private FileInputStream mCurFullRestoreStream;
|
||||
private byte[] mFullRestoreBuffer;
|
||||
private final LocalTransportParameters mParameters;
|
||||
private final BackupManagerMonitor mMonitor = new TestBackupManagerMonitor();
|
||||
|
||||
private void makeDataDirs() {
|
||||
mDataDir = mContext.getFilesDir();
|
||||
@@ -887,4 +892,41 @@ public class LocalTransport extends BackupTransport {
|
||||
public long getBackupQuota(String packageName, boolean isFullBackup) {
|
||||
return isFullBackup ? FULL_BACKUP_SIZE_QUOTA : KEY_VALUE_BACKUP_SIZE_QUOTA;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BackupManagerMonitor getBackupManagerMonitor() {
|
||||
return mMonitor;
|
||||
}
|
||||
|
||||
private class TestBackupManagerMonitor extends BackupManagerMonitor {
|
||||
@Override
|
||||
public void onEvent(Bundle event) {
|
||||
if (event == null || !mParameters.logAgentResults()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (event.getInt(BackupManagerMonitor.EXTRA_LOG_EVENT_ID)
|
||||
== BackupManagerMonitor.LOG_EVENT_ID_AGENT_LOGGING_RESULTS) {
|
||||
Log.i(TAG, "agent_logging_results {");
|
||||
ArrayList<DataTypeResult> results = event.getParcelableArrayList(
|
||||
BackupManagerMonitor.EXTRA_LOG_AGENT_LOGGING_RESULTS,
|
||||
DataTypeResult.class);
|
||||
for (DataTypeResult result : results) {
|
||||
Log.i(TAG, "\tdataType: " + result.getDataType());
|
||||
Log.i(TAG, "\tsuccessCount: " + result.getSuccessCount());
|
||||
Log.i(TAG, "\tfailCount: " + result.getFailCount());
|
||||
|
||||
if (!result.getErrors().isEmpty()) {
|
||||
Log.i(TAG, "\terrors {");
|
||||
for (String error : result.getErrors().keySet()) {
|
||||
Log.i(TAG, "\t\t" + error + ": " + result.getErrors().get(error));
|
||||
}
|
||||
Log.i(TAG, "\t}");
|
||||
}
|
||||
|
||||
Log.i(TAG, "}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,11 +29,13 @@ public class LocalTransportParameters extends KeyValueSettingObserver {
|
||||
private static final String KEY_NON_INCREMENTAL_ONLY = "non_incremental_only";
|
||||
private static final String KEY_IS_DEVICE_TRANSFER = "is_device_transfer";
|
||||
private static final String KEY_IS_ENCRYPTED = "is_encrypted";
|
||||
private static final String KEY_LOG_AGENT_RESULTS = "log_agent_results";
|
||||
|
||||
private boolean mFakeEncryptionFlag;
|
||||
private boolean mIsNonIncrementalOnly;
|
||||
private boolean mIsDeviceTransfer;
|
||||
private boolean mIsEncrypted;
|
||||
private boolean mLogAgentResults;
|
||||
|
||||
public LocalTransportParameters(Handler handler, ContentResolver resolver) {
|
||||
super(handler, resolver, Settings.Secure.getUriFor(SETTING));
|
||||
@@ -55,6 +57,10 @@ public class LocalTransportParameters extends KeyValueSettingObserver {
|
||||
return mIsEncrypted;
|
||||
}
|
||||
|
||||
boolean logAgentResults() {
|
||||
return mLogAgentResults;
|
||||
}
|
||||
|
||||
public String getSettingValue(ContentResolver resolver) {
|
||||
return Settings.Secure.getString(resolver, SETTING);
|
||||
}
|
||||
@@ -64,5 +70,6 @@ public class LocalTransportParameters extends KeyValueSettingObserver {
|
||||
mIsNonIncrementalOnly = parser.getBoolean(KEY_NON_INCREMENTAL_ONLY, false);
|
||||
mIsDeviceTransfer = parser.getBoolean(KEY_IS_DEVICE_TRANSFER, false);
|
||||
mIsEncrypted = parser.getBoolean(KEY_IS_ENCRYPTED, false);
|
||||
mLogAgentResults = parser.getBoolean(KEY_LOG_AGENT_RESULTS, /* def */ false);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user