Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 730f350d authored by Ruslan Tkhakokhov's avatar Ruslan Tkhakokhov Committed by Automerger Merge Worker
Browse files

Merge "Address API feedback for BackupRestoreEventLogger" into udc-dev am: 3eb0a875

parents 37075911 3eb0a875
Loading
Loading
Loading
Loading
+8 −14
Original line number Diff line number Diff line
@@ -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();
+6 −2
Original line number Diff line number Diff line
@@ -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);
    }
+6 −7
Original line number Diff line number Diff line
@@ -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))