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

Commit a3da65d1 authored by Ruslan Tkhakokhov's avatar Ruslan Tkhakokhov Committed by Android (Google) Code Review
Browse files

Merge "Make BackupRestoreEventLogger methods void"

parents d7b9c8c8 731dede3
Loading
Loading
Loading
Loading
+25 −38
Original line number Diff line number Diff line
@@ -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;
    }

    /**
+28 −22
Original line number Diff line number Diff line
@@ -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());
    }