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

Commit 7ec43cf8 authored by Ruslan Tkhakokhov's avatar Ruslan Tkhakokhov
Browse files

Address API feedback for BackupRestoreEventLogger

1. Make BackupRestoreEventLogger final.
2. Rename logBackupMetaData to logBackupMetadata.
3. Make BackupRestoreDataType and BackupRestoreEventLogger @hide.

Bug: 261686083
Test: m -j
Change-Id: I6e45399bca3c290bdf0f7fc5a9c576952f269f25
parent c3428ddc
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))