Merge "Make BackupRestoreEventLogger methods void"

This commit is contained in:
Ruslan Tkhakokhov
2022-11-15 14:57:09 +00:00
committed by Android (Google) Code Review
2 changed files with 53 additions and 60 deletions

View File

@@ -53,6 +53,8 @@ public class BackupRestoreEventLogger {
/**
* Operation types for which this logger can be used.
*
* @hide
*/
@Retention(RetentionPolicy.SOURCE)
@IntDef({
@@ -87,6 +89,8 @@ public class BackupRestoreEventLogger {
* {@link OperationType}. Attempts to use logging methods that don't match
* the specified operation type will be rejected (e.g. use backup methods
* for a restore logger and vice versa).
*
* @hide
*/
public BackupRestoreEventLogger(@OperationType int operationType) {
mOperationType = operationType;
@@ -111,11 +115,9 @@ public class BackupRestoreEventLogger {
*
* @param dataType the type of data being backed.
* @param count number of items of the given type that have been successfully backed up.
*
* @return boolean, indicating whether the log has been accepted.
*/
public boolean logItemsBackedUp(@NonNull @BackupRestoreDataType String dataType, int count) {
return logSuccess(OperationType.BACKUP, dataType, count);
public void logItemsBackedUp(@NonNull @BackupRestoreDataType String dataType, int count) {
logSuccess(OperationType.BACKUP, dataType, count);
}
/**
@@ -130,12 +132,10 @@ public class BackupRestoreEventLogger {
* @param dataType the type of data being backed.
* @param count number of items of the given type that have failed to back up.
* @param error optional, the error that has caused the failure.
*
* @return boolean, indicating whether the log has been accepted.
*/
public boolean logItemsBackupFailed(@NonNull @BackupRestoreDataType String dataType, int count,
public void logItemsBackupFailed(@NonNull @BackupRestoreDataType String dataType, int count,
@Nullable @BackupRestoreError String error) {
return logFailure(OperationType.BACKUP, dataType, count, error);
logFailure(OperationType.BACKUP, dataType, count, error);
}
/**
@@ -151,12 +151,10 @@ public class BackupRestoreEventLogger {
*
* @param dataType the type of data being backed up.
* @param metaData the metadata associated with the data type.
*
* @return boolean, indicating whether the log has been accepted.
*/
public boolean logBackupMetaData(@NonNull @BackupRestoreDataType String dataType,
public void logBackupMetaData(@NonNull @BackupRestoreDataType String dataType,
@NonNull String metaData) {
return logMetaData(OperationType.BACKUP, dataType, metaData);
logMetaData(OperationType.BACKUP, dataType, metaData);
}
/**
@@ -172,11 +170,9 @@ public class BackupRestoreEventLogger {
*
* @param dataType the type of data being restored.
* @param count number of items of the given type that have been successfully restored.
*
* @return boolean, indicating whether the log has been accepted.
*/
public boolean logItemsRestored(@NonNull @BackupRestoreDataType String dataType, int count) {
return logSuccess(OperationType.RESTORE, dataType, count);
public void logItemsRestored(@NonNull @BackupRestoreDataType String dataType, int count) {
logSuccess(OperationType.RESTORE, dataType, count);
}
/**
@@ -193,12 +189,10 @@ public class BackupRestoreEventLogger {
* @param dataType the type of data being restored.
* @param count number of items of the given type that have failed to restore.
* @param error optional, the error that has caused the failure.
*
* @return boolean, indicating whether the log has been accepted.
*/
public boolean logItemsRestoreFailed(@NonNull @BackupRestoreDataType String dataType, int count,
public void logItemsRestoreFailed(@NonNull @BackupRestoreDataType String dataType, int count,
@Nullable @BackupRestoreError String error) {
return logFailure(OperationType.RESTORE, dataType, count, error);
logFailure(OperationType.RESTORE, dataType, count, error);
}
/**
@@ -216,12 +210,10 @@ public class BackupRestoreEventLogger {
*
* @param dataType the type of data being restored.
* @param metadata the metadata associated with the data type.
*
* @return boolean, indicating whether the log has been accepted.
*/
public boolean logRestoreMetadata(@NonNull @BackupRestoreDataType String dataType,
public void logRestoreMetadata(@NonNull @BackupRestoreDataType String dataType,
@NonNull String metadata) {
return logMetaData(OperationType.RESTORE, dataType, metadata);
logMetaData(OperationType.RESTORE, dataType, metadata);
}
/**
@@ -240,52 +232,47 @@ public class BackupRestoreEventLogger {
*
* @hide
*/
public @OperationType int getOperationType() {
@OperationType
public int getOperationType() {
return mOperationType;
}
private boolean logSuccess(@OperationType int operationType,
private void logSuccess(@OperationType int operationType,
@BackupRestoreDataType String dataType, int count) {
DataTypeResult dataTypeResult = getDataTypeResult(operationType, dataType);
if (dataTypeResult == null) {
return false;
return;
}
dataTypeResult.mSuccessCount += count;
mResults.put(dataType, dataTypeResult);
return true;
}
private boolean logFailure(@OperationType int operationType,
private void logFailure(@OperationType int operationType,
@NonNull @BackupRestoreDataType String dataType, int count,
@Nullable @BackupRestoreError String error) {
DataTypeResult dataTypeResult = getDataTypeResult(operationType, dataType);
if (dataTypeResult == null) {
return false;
return;
}
dataTypeResult.mFailCount += count;
if (error != null) {
dataTypeResult.mErrors.merge(error, count, Integer::sum);
}
return true;
}
private boolean logMetaData(@OperationType int operationType,
private void logMetaData(@OperationType int operationType,
@NonNull @BackupRestoreDataType String dataType, @NonNull String metaData) {
if (mHashDigest == null) {
return false;
return;
}
DataTypeResult dataTypeResult = getDataTypeResult(operationType, dataType);
if (dataTypeResult == null) {
return false;
return;
}
dataTypeResult.mMetadataHash = getMetaDataHash(metaData);
return true;
}
/**

View File

@@ -63,18 +63,22 @@ public class BackupRestoreEventLoggerTest {
public void testBackupLogger_rejectsRestoreLogs() {
mLogger = new BackupRestoreEventLogger(BACKUP);
assertThat(mLogger.logItemsRestored(DATA_TYPE_1, /* count */ 5)).isFalse();
assertThat(mLogger.logItemsRestoreFailed(DATA_TYPE_1, /* count */ 5, ERROR_1)).isFalse();
assertThat(mLogger.logRestoreMetadata(DATA_TYPE_1, /* metadata */ "metadata")).isFalse();
mLogger.logItemsRestored(DATA_TYPE_1, /* count */ 5);
mLogger.logItemsRestoreFailed(DATA_TYPE_1, /* count */ 5, ERROR_1);
mLogger.logRestoreMetadata(DATA_TYPE_1, /* metadata */ "metadata");
assertThat(getResultForDataTypeIfPresent(mLogger, DATA_TYPE_1)).isEqualTo(Optional.empty());
}
@Test
public void testRestoreLogger_rejectsBackupLogs() {
mLogger = new BackupRestoreEventLogger(RESTORE);
assertThat(mLogger.logItemsBackedUp(DATA_TYPE_1, /* count */ 5)).isFalse();
assertThat(mLogger.logItemsBackupFailed(DATA_TYPE_1, /* count */ 5, ERROR_1)).isFalse();
assertThat(mLogger.logBackupMetaData(DATA_TYPE_1, /* metadata */ "metadata")).isFalse();
mLogger.logItemsBackedUp(DATA_TYPE_1, /* count */ 5);
mLogger.logItemsBackupFailed(DATA_TYPE_1, /* count */ 5, ERROR_1);
mLogger.logBackupMetaData(DATA_TYPE_1, /* metadata */ "metadata");
assertThat(getResultForDataTypeIfPresent(mLogger, DATA_TYPE_1)).isEqualTo(Optional.empty());
}
@Test
@@ -83,16 +87,17 @@ public class BackupRestoreEventLoggerTest {
for (int i = 0; i < DATA_TYPES_ALLOWED; i++) {
String dataType = DATA_TYPE_1 + i;
assertThat(mLogger.logItemsBackedUp(dataType, /* count */ 5)).isTrue();
assertThat(mLogger.logItemsBackupFailed(dataType, /* count */ 5, /* error */ null))
.isTrue();
assertThat(mLogger.logBackupMetaData(dataType, METADATA_1)).isTrue();
mLogger.logItemsBackedUp(dataType, /* count */ 5);
mLogger.logItemsBackupFailed(dataType, /* count */ 5, /* error */ null);
mLogger.logBackupMetaData(dataType, METADATA_1);
assertThat(getResultForDataTypeIfPresent(mLogger, dataType)).isNotEqualTo(
Optional.empty());
}
assertThat(mLogger.logItemsBackedUp(DATA_TYPE_2, /* count */ 5)).isFalse();
assertThat(mLogger.logItemsBackupFailed(DATA_TYPE_2, /* count */ 5, /* error */ null))
.isFalse();
assertThat(mLogger.logRestoreMetadata(DATA_TYPE_2, METADATA_1)).isFalse();
mLogger.logItemsBackedUp(DATA_TYPE_2, /* count */ 5);
mLogger.logItemsBackupFailed(DATA_TYPE_2, /* count */ 5, /* error */ null);
mLogger.logRestoreMetadata(DATA_TYPE_2, METADATA_1);
assertThat(getResultForDataTypeIfPresent(mLogger, DATA_TYPE_2)).isEqualTo(Optional.empty());
}
@@ -102,16 +107,17 @@ public class BackupRestoreEventLoggerTest {
for (int i = 0; i < DATA_TYPES_ALLOWED; i++) {
String dataType = DATA_TYPE_1 + i;
assertThat(mLogger.logItemsRestored(dataType, /* count */ 5)).isTrue();
assertThat(mLogger.logItemsRestoreFailed(dataType, /* count */ 5, /* error */ null))
.isTrue();
assertThat(mLogger.logRestoreMetadata(dataType, METADATA_1)).isTrue();
mLogger.logItemsRestored(dataType, /* count */ 5);
mLogger.logItemsRestoreFailed(dataType, /* count */ 5, /* error */ null);
mLogger.logRestoreMetadata(dataType, METADATA_1);
assertThat(getResultForDataTypeIfPresent(mLogger, dataType)).isNotEqualTo(
Optional.empty());
}
assertThat(mLogger.logItemsRestored(DATA_TYPE_2, /* count */ 5)).isFalse();
assertThat(mLogger.logItemsRestoreFailed(DATA_TYPE_2, /* count */ 5, /* error */ null))
.isFalse();
assertThat(mLogger.logRestoreMetadata(DATA_TYPE_2, METADATA_1)).isFalse();
mLogger.logItemsRestored(DATA_TYPE_2, /* count */ 5);
mLogger.logItemsRestoreFailed(DATA_TYPE_2, /* count */ 5, /* error */ null);
mLogger.logRestoreMetadata(DATA_TYPE_2, METADATA_1);
assertThat(getResultForDataTypeIfPresent(mLogger, DATA_TYPE_2)).isEqualTo(Optional.empty());
}