Merge "Address API feedback for BackupRestoreEventLogger" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
3eb0a87531
@@ -1797,25 +1797,19 @@ package android.app.backup {
|
||||
field public final long bytesTransferred;
|
||||
}
|
||||
|
||||
public class BackupRestoreEventLogger {
|
||||
method public void logBackupMetaData(@android.app.backup.BackupRestoreEventLogger.BackupRestoreDataType @NonNull String, @NonNull String);
|
||||
method public void logItemsBackedUp(@android.app.backup.BackupRestoreEventLogger.BackupRestoreDataType @NonNull String, int);
|
||||
method public void logItemsBackupFailed(@android.app.backup.BackupRestoreEventLogger.BackupRestoreDataType @NonNull String, int, @android.app.backup.BackupRestoreEventLogger.BackupRestoreError @Nullable String);
|
||||
method public void logItemsRestoreFailed(@android.app.backup.BackupRestoreEventLogger.BackupRestoreDataType @NonNull String, int, @android.app.backup.BackupRestoreEventLogger.BackupRestoreError @Nullable String);
|
||||
method public void logItemsRestored(@android.app.backup.BackupRestoreEventLogger.BackupRestoreDataType @NonNull String, int);
|
||||
method public void logRestoreMetadata(@android.app.backup.BackupRestoreEventLogger.BackupRestoreDataType @NonNull String, @NonNull String);
|
||||
}
|
||||
|
||||
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface BackupRestoreEventLogger.BackupRestoreDataType {
|
||||
}
|
||||
|
||||
@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface BackupRestoreEventLogger.BackupRestoreError {
|
||||
public final class BackupRestoreEventLogger {
|
||||
method public void logBackupMetadata(@NonNull String, @NonNull String);
|
||||
method public void logItemsBackedUp(@NonNull String, int);
|
||||
method public void logItemsBackupFailed(@NonNull String, int, @Nullable String);
|
||||
method public void logItemsRestoreFailed(@NonNull String, int, @Nullable String);
|
||||
method public void logItemsRestored(@NonNull String, int);
|
||||
method public void logRestoreMetadata(@NonNull String, @NonNull String);
|
||||
}
|
||||
|
||||
public static final class BackupRestoreEventLogger.DataTypeResult implements android.os.Parcelable {
|
||||
ctor public BackupRestoreEventLogger.DataTypeResult(@NonNull String);
|
||||
method public int describeContents();
|
||||
method @android.app.backup.BackupRestoreEventLogger.BackupRestoreDataType @NonNull public String getDataType();
|
||||
method @NonNull public String getDataType();
|
||||
method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getErrors();
|
||||
method public int getFailCount();
|
||||
method @Nullable public byte[] getMetadataHash();
|
||||
|
||||
@@ -47,7 +47,7 @@ import java.util.Map;
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public class BackupRestoreEventLogger {
|
||||
public final class BackupRestoreEventLogger {
|
||||
private static final String TAG = "BackupRestoreEventLogger";
|
||||
|
||||
/**
|
||||
@@ -61,6 +61,8 @@ public class BackupRestoreEventLogger {
|
||||
/**
|
||||
* Denotes that the annotated element identifies a data type as required by the logging methods
|
||||
* of {@code BackupRestoreEventLogger}
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface BackupRestoreDataType {}
|
||||
@@ -68,6 +70,8 @@ public class BackupRestoreEventLogger {
|
||||
/**
|
||||
* Denotes that the annotated element identifies an error type as required by the logging
|
||||
* methods of {@code BackupRestoreEventLogger}
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface BackupRestoreError {}
|
||||
@@ -144,7 +148,7 @@ public class BackupRestoreEventLogger {
|
||||
* @param dataType the type of data being backed up.
|
||||
* @param metaData the metadata associated with the data type.
|
||||
*/
|
||||
public void logBackupMetaData(@NonNull @BackupRestoreDataType String dataType,
|
||||
public void logBackupMetadata(@NonNull @BackupRestoreDataType String dataType,
|
||||
@NonNull String metaData) {
|
||||
logMetaData(OperationType.BACKUP, dataType, metaData);
|
||||
}
|
||||
|
||||
@@ -23,7 +23,6 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static junit.framework.Assert.fail;
|
||||
|
||||
import android.app.backup.BackupRestoreEventLogger.BackupRestoreDataType;
|
||||
import android.app.backup.BackupRestoreEventLogger.DataTypeResult;
|
||||
import android.os.Parcel;
|
||||
import android.platform.test.annotations.Presubmit;
|
||||
@@ -78,7 +77,7 @@ public class BackupRestoreEventLoggerTest {
|
||||
|
||||
mLogger.logItemsBackedUp(DATA_TYPE_1, /* count */ 5);
|
||||
mLogger.logItemsBackupFailed(DATA_TYPE_1, /* count */ 5, ERROR_1);
|
||||
mLogger.logBackupMetaData(DATA_TYPE_1, /* metadata */ "metadata");
|
||||
mLogger.logBackupMetadata(DATA_TYPE_1, /* metadata */ "metadata");
|
||||
|
||||
assertThat(getResultForDataTypeIfPresent(mLogger, DATA_TYPE_1)).isEqualTo(Optional.empty());
|
||||
}
|
||||
@@ -91,7 +90,7 @@ public class BackupRestoreEventLoggerTest {
|
||||
String dataType = DATA_TYPE_1 + i;
|
||||
mLogger.logItemsBackedUp(dataType, /* count */ 5);
|
||||
mLogger.logItemsBackupFailed(dataType, /* count */ 5, /* error */ null);
|
||||
mLogger.logBackupMetaData(dataType, METADATA_1);
|
||||
mLogger.logBackupMetadata(dataType, METADATA_1);
|
||||
|
||||
assertThat(getResultForDataTypeIfPresent(mLogger, dataType)).isNotEqualTo(
|
||||
Optional.empty());
|
||||
@@ -127,8 +126,8 @@ public class BackupRestoreEventLoggerTest {
|
||||
public void testLogBackupMetadata_repeatedCalls_recordsLatestMetadataHash() {
|
||||
mLogger = new BackupRestoreEventLogger(BACKUP);
|
||||
|
||||
mLogger.logBackupMetaData(DATA_TYPE_1, METADATA_1);
|
||||
mLogger.logBackupMetaData(DATA_TYPE_1, METADATA_2);
|
||||
mLogger.logBackupMetadata(DATA_TYPE_1, METADATA_1);
|
||||
mLogger.logBackupMetadata(DATA_TYPE_1, METADATA_2);
|
||||
|
||||
byte[] recordedHash = getResultForDataType(mLogger, DATA_TYPE_1).getMetadataHash();
|
||||
byte[] expectedHash = getMetaDataHash(METADATA_2);
|
||||
@@ -315,7 +314,7 @@ public class BackupRestoreEventLoggerTest {
|
||||
}
|
||||
|
||||
private static DataTypeResult getResultForDataType(
|
||||
BackupRestoreEventLogger logger, @BackupRestoreDataType String dataType) {
|
||||
BackupRestoreEventLogger logger, String dataType) {
|
||||
Optional<DataTypeResult> result = getResultForDataTypeIfPresent(logger, dataType);
|
||||
if (result.isEmpty()) {
|
||||
fail("Failed to find result for data type: " + dataType);
|
||||
@@ -324,7 +323,7 @@ public class BackupRestoreEventLoggerTest {
|
||||
}
|
||||
|
||||
private static Optional<DataTypeResult> getResultForDataTypeIfPresent(
|
||||
BackupRestoreEventLogger logger, @BackupRestoreDataType String dataType) {
|
||||
BackupRestoreEventLogger logger, String dataType) {
|
||||
List<DataTypeResult> resultList = logger.getLoggingResults();
|
||||
return resultList.stream()
|
||||
.filter(dataTypeResult -> dataTypeResult.getDataType().equals(dataType))
|
||||
|
||||
Reference in New Issue
Block a user