diff options
| author | 2024-12-17 03:40:42 -0800 | |
|---|---|---|
| committer | 2024-12-17 03:40:42 -0800 | |
| commit | 5f9760ec36940df3267173717d103ba0dbd80ff0 (patch) | |
| tree | e414abde3b249f29de7a8b0d306b8b207ca52464 | |
| parent | 355f9bac8d13907e22743cd65aca8ccf3910db79 (diff) | |
Revert "Move Settings backup and restore metric logging from SettingsProvider to SettingsHelper"
This reverts commit 355f9bac8d13907e22743cd65aca8ccf3910db79.
Reason for revert: Likely culprit for b/384668761 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.
Change-Id: Ic5d6681c59214ef0c3f79cbf775e0d2b9d6d2669
5 files changed, 135 insertions, 216 deletions
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java index 90d5a5017057..1c4def39eaa0 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsBackupAgent.java @@ -1058,10 +1058,14 @@ public class SettingsBackupAgent extends BackupAgentHelper { Log.d(TAG, "Restored font scale from: " + toRestore + " to " + value); } + // TODO(b/379861078): Log metrics inside this method. settingsHelper.restoreValue(this, cr, contentValues, destination, key, value, - mRestoredFromSdkInt, mBackupRestoreEventLogger, finalSettingsKey); + mRestoredFromSdkInt); Log.d(TAG, "Restored setting: " + destination + " : " + key + "=" + value); + if (areAgentMetricsEnabled) { + mBackupRestoreEventLogger.logItemsRestored(finalSettingsKey, /* count= */ 1); + } } } diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java index 9825312d472c..924c151a99a0 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java @@ -80,7 +80,6 @@ public class SettingsHelper { // Error messages for logging metrics. private static final String ERROR_REMOTE_EXCEPTION_SETTING_LOCALE_DATA = "remote_exception_setting_locale_data"; - private static final String ERROR_FAILED_TO_RESTORE_SETTING = "failed_to_restore_setting"; private Context mContext; private AudioManager mAudioManager; @@ -180,15 +179,12 @@ public class SettingsHelper { * whether or not the setting should be saved to the database as well. * @param name the name of the setting * @param value the string value of the setting - * @param backupRestoreEventLogger the logger to log metrics for backup and restore. - * @param datatype the datatype for logging purposes. * @return whether to continue with writing the value to the database. In * some cases the data will be written by the call to the appropriate API, * and in some cases the property value needs to be modified before setting. */ public void restoreValue(Context context, ContentResolver cr, ContentValues contentValues, - Uri destination, String name, String value, int restoredFromSdkInt, - BackupRestoreEventLogger backupRestoreEventLogger, String datatype) { + Uri destination, String name, String value, int restoredFromSdkInt) { if (isReplacedSystemSetting(name)) { return; } @@ -227,7 +223,6 @@ public class SettingsHelper { } try { - // TODO(b/379861078): Log metrics for cases that fall in the if-else block. if (Settings.System.SOUND_EFFECTS_ENABLED.equals(name)) { setSoundEffects(Integer.parseInt(value) == 1); // fall through to the ordinary write to settings @@ -295,19 +290,12 @@ public class SettingsHelper { contentValues.put(Settings.NameValueTable.NAME, name); contentValues.put(Settings.NameValueTable.VALUE, value); cr.insert(destination, contentValues); - if (Flags.enableMetricsSettingsBackupAgents()) { - backupRestoreEventLogger.logItemsRestored(datatype, /* count= */ 1); - } } catch (Exception e) { // If we fail to apply the setting, by definition nothing happened sendBroadcast = false; sendBroadcastSystemUI = false; sendBroadcastAccessibility = false; Log.e(TAG, "Failed to restore setting name: " + name + " + value: " + value, e); - if (Flags.enableMetricsSettingsBackupAgents()) { - backupRestoreEventLogger.logItemsRestoreFailed( - datatype, /* count= */ 1, ERROR_FAILED_TO_RESTORE_SETTING); - } } finally { // If this was an element of interest, send the "we just restored it" // broadcast with the historical value now that the new value has diff --git a/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsBackupAgentTest.java b/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsBackupAgentTest.java index 228a2eaa0a1d..350c149f40de 100644 --- a/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsBackupAgentTest.java +++ b/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsBackupAgentTest.java @@ -422,6 +422,75 @@ public class SettingsBackupAgentTest extends BaseSettingsProviderTest { @Test @EnableFlags(com.android.server.backup.Flags.FLAG_ENABLE_METRICS_SETTINGS_BACKUP_AGENTS) + public void restoreSettings_agentMetricsAreEnabled_agentMetricsAreLogged() { + mAgentUnderTest.onCreate( + UserHandle.SYSTEM, BackupDestination.CLOUD, OperationType.RESTORE); + SettingsBackupAgent.SettingsBackupAllowlist allowlist = + new SettingsBackupAgent.SettingsBackupAllowlist( + new String[] {OVERRIDDEN_TEST_SETTING}, + TEST_VALUES_VALIDATORS); + mAgentUnderTest.setSettingsAllowlist(allowlist); + mAgentUnderTest.setBlockedSettings(); + TestSettingsHelper settingsHelper = new TestSettingsHelper(mContext); + mAgentUnderTest.mSettingsHelper = settingsHelper; + + byte[] backupData = generateBackupData(TEST_VALUES); + mAgentUnderTest + .restoreSettings( + backupData, + /* pos= */ 0, + backupData.length, + TEST_URI, + /* movedToGlobal= */ null, + /* movedToSecure= */ null, + /* movedToSystem= */ null, + /* blockedSettingsArrayId= */ 0, + /* dynamicBlockList= */ Collections.emptySet(), + /* settingsToPreserve= */ Collections.emptySet(), + TEST_KEY); + + DataTypeResult loggingResult = + getLoggingResultForDatatype(TEST_KEY, mAgentUnderTest); + assertNotNull(loggingResult); + assertEquals(loggingResult.getSuccessCount(), 1); + } + + @Test + @DisableFlags(com.android.server.backup.Flags.FLAG_ENABLE_METRICS_SETTINGS_BACKUP_AGENTS) + public void restoreSettings_agentMetricsAreDisabled_agentMetricsAreNotLogged() { + mAgentUnderTest.onCreate( + UserHandle.SYSTEM, BackupDestination.CLOUD, OperationType.RESTORE); + SettingsBackupAgent.SettingsBackupAllowlist allowlist = + new SettingsBackupAgent.SettingsBackupAllowlist( + new String[] {OVERRIDDEN_TEST_SETTING}, + TEST_VALUES_VALIDATORS); + mAgentUnderTest.setSettingsAllowlist(allowlist); + mAgentUnderTest.setBlockedSettings(); + TestSettingsHelper settingsHelper = new TestSettingsHelper(mContext); + mAgentUnderTest.mSettingsHelper = settingsHelper; + + byte[] backupData = generateBackupData(TEST_VALUES); + mAgentUnderTest + .restoreSettings( + backupData, + /* pos= */ 0, + backupData.length, + TEST_URI, + /* movedToGlobal= */ null, + /* movedToSecure= */ null, + /* movedToSystem= */ null, + /* blockedSettingsArrayId= */ 0, + /* dynamicBlockList= */ Collections.emptySet(), + /* settingsToPreserve= */ Collections.emptySet(), + TEST_KEY); + + DataTypeResult loggingResult = + getLoggingResultForDatatype(TEST_KEY, mAgentUnderTest); + assertNull(loggingResult); + } + + @Test + @EnableFlags(com.android.server.backup.Flags.FLAG_ENABLE_METRICS_SETTINGS_BACKUP_AGENTS) public void restoreSettings_agentMetricsAreEnabled_readEntityDataFails_failureIsLogged() throws IOException { when(mBackupDataInput.readEntityData(any(byte[].class), anyInt(), anyInt())) @@ -508,40 +577,6 @@ public class SettingsBackupAgentTest extends BaseSettingsProviderTest { } @Test - @DisableFlags(com.android.server.backup.Flags.FLAG_ENABLE_METRICS_SETTINGS_BACKUP_AGENTS) - public void - restoreSettings_agentMetricsAreDisabled_settingIsSkippedBySystem_failureIsNotLogged() { - mAgentUnderTest.onCreate( - UserHandle.SYSTEM, BackupDestination.CLOUD, OperationType.RESTORE); - String[] settingBlockedBySystem = new String[] {OVERRIDDEN_TEST_SETTING}; - SettingsBackupAgent.SettingsBackupAllowlist allowlist = - new SettingsBackupAgent.SettingsBackupAllowlist( - settingBlockedBySystem, - TEST_VALUES_VALIDATORS); - mAgentUnderTest.setSettingsAllowlist(allowlist); - mAgentUnderTest.setBlockedSettings(settingBlockedBySystem); - TestSettingsHelper settingsHelper = new TestSettingsHelper(mContext); - mAgentUnderTest.mSettingsHelper = settingsHelper; - - byte[] backupData = generateBackupData(TEST_VALUES); - mAgentUnderTest - .restoreSettings( - backupData, - /* pos= */ 0, - backupData.length, - TEST_URI, - /* movedToGlobal= */ null, - /* movedToSecure= */ null, - /* movedToSystem= */ null, - /* blockedSettingsArrayId= */ 0, - /* dynamicBlockList= */ Collections.emptySet(), - /* settingsToPreserve= */ Collections.emptySet(), - TEST_KEY); - - assertNull(getLoggingResultForDatatype(TEST_KEY, mAgentUnderTest)); - } - - @Test @EnableFlags(com.android.server.backup.Flags.FLAG_ENABLE_METRICS_SETTINGS_BACKUP_AGENTS) public void restoreSettings_agentMetricsAreEnabled_settingIsSkippedByBlockList_failureIsLogged() { mAgentUnderTest.onCreate( @@ -580,9 +615,8 @@ public class SettingsBackupAgentTest extends BaseSettingsProviderTest { } @Test - @DisableFlags(com.android.server.backup.Flags.FLAG_ENABLE_METRICS_SETTINGS_BACKUP_AGENTS) - public void - restoreSettings_agentMetricsAreDisabled_settingIsSkippedByBlockList_failureIsNotLogged() { + @EnableFlags(com.android.server.backup.Flags.FLAG_ENABLE_METRICS_SETTINGS_BACKUP_AGENTS) + public void restoreSettings_agentMetricsAreEnabled_settingIsPreserved_failureIsLogged() { mAgentUnderTest.onCreate( UserHandle.SYSTEM, BackupDestination.CLOUD, OperationType.RESTORE); SettingsBackupAgent.SettingsBackupAllowlist allowlist = @@ -593,7 +627,7 @@ public class SettingsBackupAgentTest extends BaseSettingsProviderTest { mAgentUnderTest.setBlockedSettings(); TestSettingsHelper settingsHelper = new TestSettingsHelper(mContext); mAgentUnderTest.mSettingsHelper = settingsHelper; - Set<String> dynamicBlockList = + Set<String> preservedSettings = Set.of(Uri.withAppendedPath(TEST_URI, OVERRIDDEN_TEST_SETTING).toString()); byte[] backupData = generateBackupData(TEST_VALUES); @@ -607,28 +641,30 @@ public class SettingsBackupAgentTest extends BaseSettingsProviderTest { /* movedToSecure= */ null, /* movedToSystem= */ null, /* blockedSettingsArrayId= */ 0, - dynamicBlockList, - /* settingsToPreserve= */ Collections.emptySet(), + /* dynamicBlockList = */ Collections.emptySet(), + preservedSettings, TEST_KEY); - assertNull(getLoggingResultForDatatype(TEST_KEY, mAgentUnderTest)); + DataTypeResult loggingResult = + getLoggingResultForDatatype(TEST_KEY, mAgentUnderTest); + assertNotNull(loggingResult); + assertEquals(loggingResult.getFailCount(), 1); + assertTrue(loggingResult.getErrors().containsKey(ERROR_SKIPPED_PRESERVED)); } @Test @EnableFlags(com.android.server.backup.Flags.FLAG_ENABLE_METRICS_SETTINGS_BACKUP_AGENTS) - public void restoreSettings_agentMetricsAreEnabled_settingIsPreserved_failureIsLogged() { + public void restoreSettings_agentMetricsAreEnabled_settingIsNotValid_failureIsLogged() { mAgentUnderTest.onCreate( UserHandle.SYSTEM, BackupDestination.CLOUD, OperationType.RESTORE); SettingsBackupAgent.SettingsBackupAllowlist allowlist = new SettingsBackupAgent.SettingsBackupAllowlist( new String[] {OVERRIDDEN_TEST_SETTING}, - TEST_VALUES_VALIDATORS); + /* settingsValidators= */ null); mAgentUnderTest.setSettingsAllowlist(allowlist); mAgentUnderTest.setBlockedSettings(); TestSettingsHelper settingsHelper = new TestSettingsHelper(mContext); mAgentUnderTest.mSettingsHelper = settingsHelper; - Set<String> preservedSettings = - Set.of(Uri.withAppendedPath(TEST_URI, OVERRIDDEN_TEST_SETTING).toString()); byte[] backupData = generateBackupData(TEST_VALUES); mAgentUnderTest @@ -642,19 +678,19 @@ public class SettingsBackupAgentTest extends BaseSettingsProviderTest { /* movedToSystem= */ null, /* blockedSettingsArrayId= */ 0, /* dynamicBlockList = */ Collections.emptySet(), - preservedSettings, + /* settingsToPreserve= */ Collections.emptySet(), TEST_KEY); DataTypeResult loggingResult = getLoggingResultForDatatype(TEST_KEY, mAgentUnderTest); assertNotNull(loggingResult); assertEquals(loggingResult.getFailCount(), 1); - assertTrue(loggingResult.getErrors().containsKey(ERROR_SKIPPED_PRESERVED)); + assertTrue(loggingResult.getErrors().containsKey(ERROR_DID_NOT_PASS_VALIDATION)); } @Test - @DisableFlags(com.android.server.backup.Flags.FLAG_ENABLE_METRICS_SETTINGS_BACKUP_AGENTS) - public void restoreSettings_agentMetricsAreDisabled_settingIsPreserved_failureIsNotLogged() { + @EnableFlags(com.android.server.backup.Flags.FLAG_ENABLE_METRICS_SETTINGS_BACKUP_AGENTS) + public void restoreSettings_agentMetricsAreEnabled_settingIsMarkedAsMovedToGlobal_agentMetricsAreLoggedWithGlobalKey() { mAgentUnderTest.onCreate( UserHandle.SYSTEM, BackupDestination.CLOUD, OperationType.RESTORE); SettingsBackupAgent.SettingsBackupAllowlist allowlist = @@ -665,8 +701,6 @@ public class SettingsBackupAgentTest extends BaseSettingsProviderTest { mAgentUnderTest.setBlockedSettings(); TestSettingsHelper settingsHelper = new TestSettingsHelper(mContext); mAgentUnderTest.mSettingsHelper = settingsHelper; - Set<String> preservedSettings = - Set.of(Uri.withAppendedPath(TEST_URI, OVERRIDDEN_TEST_SETTING).toString()); byte[] backupData = generateBackupData(TEST_VALUES); mAgentUnderTest @@ -675,26 +709,30 @@ public class SettingsBackupAgentTest extends BaseSettingsProviderTest { /* pos= */ 0, backupData.length, TEST_URI, - /* movedToGlobal= */ null, + /* movedToGlobal= */ Set.of(OVERRIDDEN_TEST_SETTING), /* movedToSecure= */ null, /* movedToSystem= */ null, /* blockedSettingsArrayId= */ 0, - /* dynamicBlockList = */ Collections.emptySet(), - preservedSettings, + /* dynamicBlockList= */ Collections.emptySet(), + /* settingsToPreserve= */ Collections.emptySet(), TEST_KEY); + DataTypeResult loggingResult = + getLoggingResultForDatatype(KEY_GLOBAL, mAgentUnderTest); + assertNotNull(loggingResult); + assertEquals(loggingResult.getSuccessCount(), 1); assertNull(getLoggingResultForDatatype(TEST_KEY, mAgentUnderTest)); } @Test @EnableFlags(com.android.server.backup.Flags.FLAG_ENABLE_METRICS_SETTINGS_BACKUP_AGENTS) - public void restoreSettings_agentMetricsAreEnabled_settingIsNotValid_failureIsLogged() { + public void restoreSettings_agentMetricsAreEnabled_settingIsMarkedAsMovedToSecure_agentMetricsAreLoggedWithSecureKey() { mAgentUnderTest.onCreate( UserHandle.SYSTEM, BackupDestination.CLOUD, OperationType.RESTORE); SettingsBackupAgent.SettingsBackupAllowlist allowlist = new SettingsBackupAgent.SettingsBackupAllowlist( new String[] {OVERRIDDEN_TEST_SETTING}, - /* settingsValidators= */ null); + TEST_VALUES_VALIDATORS); mAgentUnderTest.setSettingsAllowlist(allowlist); mAgentUnderTest.setBlockedSettings(); TestSettingsHelper settingsHelper = new TestSettingsHelper(mContext); @@ -708,29 +746,29 @@ public class SettingsBackupAgentTest extends BaseSettingsProviderTest { backupData.length, TEST_URI, /* movedToGlobal= */ null, - /* movedToSecure= */ null, + /* movedToSecure= */ Set.of(OVERRIDDEN_TEST_SETTING), /* movedToSystem= */ null, /* blockedSettingsArrayId= */ 0, - /* dynamicBlockList = */ Collections.emptySet(), + /* dynamicBlockList= */ Collections.emptySet(), /* settingsToPreserve= */ Collections.emptySet(), TEST_KEY); DataTypeResult loggingResult = - getLoggingResultForDatatype(TEST_KEY, mAgentUnderTest); + getLoggingResultForDatatype(KEY_SECURE, mAgentUnderTest); assertNotNull(loggingResult); - assertEquals(loggingResult.getFailCount(), 1); - assertTrue(loggingResult.getErrors().containsKey(ERROR_DID_NOT_PASS_VALIDATION)); + assertEquals(loggingResult.getSuccessCount(), 1); + assertNull(getLoggingResultForDatatype(TEST_KEY, mAgentUnderTest)); } @Test - @DisableFlags(com.android.server.backup.Flags.FLAG_ENABLE_METRICS_SETTINGS_BACKUP_AGENTS) - public void restoreSettings_agentMetricsAreDisabled_settingIsNotValid_failureIsNotLogged() { + @EnableFlags(com.android.server.backup.Flags.FLAG_ENABLE_METRICS_SETTINGS_BACKUP_AGENTS) + public void restoreSettings_agentMetricsAreEnabled_settingIsMarkedAsMovedToSystem_agentMetricsAreLoggedWithSystemKey() { mAgentUnderTest.onCreate( UserHandle.SYSTEM, BackupDestination.CLOUD, OperationType.RESTORE); SettingsBackupAgent.SettingsBackupAllowlist allowlist = new SettingsBackupAgent.SettingsBackupAllowlist( new String[] {OVERRIDDEN_TEST_SETTING}, - /* settingsValidators= */ null); + TEST_VALUES_VALIDATORS); mAgentUnderTest.setSettingsAllowlist(allowlist); mAgentUnderTest.setBlockedSettings(); TestSettingsHelper settingsHelper = new TestSettingsHelper(mContext); @@ -745,12 +783,16 @@ public class SettingsBackupAgentTest extends BaseSettingsProviderTest { TEST_URI, /* movedToGlobal= */ null, /* movedToSecure= */ null, - /* movedToSystem= */ null, + /* movedToSystem= */ Set.of(OVERRIDDEN_TEST_SETTING), /* blockedSettingsArrayId= */ 0, - /* dynamicBlockList = */ Collections.emptySet(), + /* dynamicBlockList= */ Collections.emptySet(), /* settingsToPreserve= */ Collections.emptySet(), TEST_KEY); + DataTypeResult loggingResult = + getLoggingResultForDatatype(KEY_SYSTEM, mAgentUnderTest); + assertNotNull(loggingResult); + assertEquals(loggingResult.getSuccessCount(), 1); assertNull(getLoggingResultForDatatype(TEST_KEY, mAgentUnderTest)); } @@ -919,9 +961,7 @@ public class SettingsBackupAgentTest extends BaseSettingsProviderTest { Uri destination, String name, String value, - int restoredFromSdkInt, - BackupRestoreEventLogger backupRestoreEventLogger, - String datatype) { + int restoredFromSdkInt) { mWrittenValues.put(name, value); } } diff --git a/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsHelperRestoreTest.java b/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsHelperRestoreTest.java index 1d5d1fa4cc8d..62c03ddc42b9 100644 --- a/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsHelperRestoreTest.java +++ b/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsHelperRestoreTest.java @@ -168,9 +168,7 @@ public class SettingsHelperRestoreTest { Settings.Secure.getUriFor(settingName), settingName, String.valueOf(restoreSettingValue), - Build.VERSION.SDK_INT, - null, - ""); + Build.VERSION.SDK_INT); assertEquals( configuredSettingValue, @@ -193,9 +191,7 @@ public class SettingsHelperRestoreTest { Settings.Secure.getUriFor(settingName), settingName, String.valueOf(restoreSettingValue), - Build.VERSION.SDK_INT, - null, - ""); + Build.VERSION.SDK_INT); assertEquals( restoreSettingValue, @@ -238,9 +234,7 @@ public class SettingsHelperRestoreTest { Settings.Secure.getUriFor(settingName), settingName, String.valueOf(0), - Build.VERSION.SDK_INT, - null, - ""); + Build.VERSION.SDK_INT); assertEquals(configuredSettingValue, Settings.Secure.getInt(mContentResolver, settingName)); } @@ -262,9 +256,7 @@ public class SettingsHelperRestoreTest { Settings.Secure.getUriFor(settingName), settingName, String.valueOf(restoreSettingValue), - Build.VERSION.SDK_INT, - null, - ""); + Build.VERSION.SDK_INT); assertEquals(restoreSettingValue, Settings.Secure.getInt(mContentResolver, settingName)); } @@ -286,9 +278,7 @@ public class SettingsHelperRestoreTest { Settings.Secure.getUriFor(settingName), settingName, restoreSettingValue, - Build.VERSION.SDK_INT, - null, - ""); + Build.VERSION.SDK_INT); Intent intentReceived = futureIntent.get(); assertThat(intentReceived.getStringExtra(Intent.EXTRA_SETTING_NEW_VALUE)) @@ -313,9 +303,7 @@ public class SettingsHelperRestoreTest { Settings.Secure.getUriFor(settingName), settingName, restoredValue, - Build.VERSION.SDK_INT, - null, - ""); + Build.VERSION.SDK_INT); Intent intentReceived = futureIntent.get(); assertThat(intentReceived.getStringExtra(Intent.EXTRA_SETTING_NEW_VALUE)) diff --git a/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsHelperTest.java b/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsHelperTest.java index 6f267f64558e..58200d4f6553 100644 --- a/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsHelperTest.java +++ b/packages/SettingsProvider/test/src/com/android/providers/settings/SettingsHelperTest.java @@ -20,10 +20,7 @@ import static com.google.common.truth.Truth.assertThat; import static junit.framework.Assert.assertEquals; -import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.ArgumentMatchers.nullable; -import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; @@ -31,9 +28,6 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; -import android.app.backup.BackupAnnotations.OperationType; -import android.app.backup.BackupRestoreEventLogger; -import android.app.backup.BackupRestoreEventLogger.DataTypeResult; import android.content.ContentProvider; import android.content.ContentValues; import android.content.Context; @@ -48,7 +42,6 @@ import android.media.Utils; import android.net.Uri; import android.os.Bundle; import android.os.LocaleList; -import android.platform.test.annotations.DisableFlags; import android.platform.test.annotations.EnableFlags; import android.platform.test.flag.junit.SetFlagsRule; import android.provider.BaseColumns; @@ -72,8 +65,6 @@ import org.junit.runner.RunWith; import org.junit.runners.MethodSorters; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.mockito.junit.MockitoJUnit; -import org.mockito.junit.MockitoRule; /** * Tests for the SettingsHelperTest @@ -96,13 +87,10 @@ public class SettingsHelperTest { private static final LocaleList LOCALE_LIST = LocaleList.forLanguageTags("en-US,en-UK"); - private static final String LOGGING_DATATYPE = "logging_datatype"; - private SettingsHelper mSettingsHelper; @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); - @Rule public MockitoRule mockitoRule = MockitoJUnit.rule(); @Mock private Context mContext; @Mock private Resources mResources; @@ -112,8 +100,6 @@ public class SettingsHelperTest { @Mock private MockContentResolver mContentResolver; private MockSettingsProvider mSettingsProvider; - private BackupRestoreEventLogger mBackupRestoreEventLogger; - @Before public void setUp() { MockitoAnnotations.initMocks(this); @@ -129,7 +115,6 @@ public class SettingsHelperTest { when(mContext.getContentResolver()).thenReturn(mContentResolver); mSettingsProvider = new MockSettingsProvider(mContext); mContentResolver.addProvider(Settings.AUTHORITY, mSettingsProvider); - mBackupRestoreEventLogger = new BackupRestoreEventLogger(OperationType.RESTORE); } @After @@ -176,8 +161,7 @@ public class SettingsHelperTest { public void testRestoreValue_settingReplaced_doesNotRestore() { when(mSettingsHelper.isReplacedSystemSetting(eq(SETTING_KEY))).thenReturn(true); mSettingsHelper.restoreValue(mContext, mContentResolver, new ContentValues(), Uri.EMPTY, - SETTING_KEY, SETTING_VALUE, /* restoredFromSdkInt */ 0, mBackupRestoreEventLogger, - LOGGING_DATATYPE); + SETTING_KEY, SETTING_VALUE, /* restoredFromSdkInt */ 0); // The only time of interaction happened during setUp() verify(mContentResolver, times(1)) @@ -193,8 +177,7 @@ public class SettingsHelperTest { true); mSettingsHelper.restoreValue(mContext, mContentResolver, new ContentValues(), Uri.EMPTY, - Settings.Global.POWER_BUTTON_LONG_PRESS, "5", 0, mBackupRestoreEventLogger, - LOGGING_DATATYPE); + Settings.Global.POWER_BUTTON_LONG_PRESS, "5", 0); assertThat(Settings.Global.getInt( mContentResolver, Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo(5); @@ -216,8 +199,7 @@ public class SettingsHelperTest { 1); mSettingsHelper.restoreValue(mContext, mContentResolver, new ContentValues(), Uri.EMPTY, - Settings.Global.POWER_BUTTON_LONG_PRESS, "2", 0, mBackupRestoreEventLogger, - LOGGING_DATATYPE); + Settings.Global.POWER_BUTTON_LONG_PRESS, "2", 0); assertThat(Settings.Global.getInt( mContentResolver, Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo(1); @@ -239,8 +221,7 @@ public class SettingsHelperTest { 1); mSettingsHelper.restoreValue(mContext, mContentResolver, new ContentValues(), Uri.EMPTY, - Settings.Global.POWER_BUTTON_LONG_PRESS, "2", 0, mBackupRestoreEventLogger, - LOGGING_DATATYPE); + Settings.Global.POWER_BUTTON_LONG_PRESS, "2", 0); assertThat(Settings.Global.getInt( mContentResolver, Settings.Global.POWER_BUTTON_LONG_PRESS, -1)).isEqualTo(1); @@ -254,8 +235,7 @@ public class SettingsHelperTest { .thenReturn(false); mSettingsHelper.restoreValue(mContext, mContentResolver, new ContentValues(), Uri.EMPTY, - Settings.Global.POWER_BUTTON_LONG_PRESS, "500", 0, mBackupRestoreEventLogger, - LOGGING_DATATYPE); + Settings.Global.POWER_BUTTON_LONG_PRESS, "500", 0); assertThat((Settings.Global.getInt( mContentResolver, Settings.Global.POWER_BUTTON_LONG_PRESS, -1))).isEqualTo(-1); @@ -269,8 +249,7 @@ public class SettingsHelperTest { false); mSettingsHelper.restoreValue(mContext, mContentResolver, new ContentValues(), Uri.EMPTY, - Settings.Global.POWER_BUTTON_LONG_PRESS, "trees", 0, mBackupRestoreEventLogger, - LOGGING_DATATYPE); + Settings.Global.POWER_BUTTON_LONG_PRESS, "trees", 0); assertThat((Settings.Global.getInt( mContentResolver, Settings.Global.POWER_BUTTON_LONG_PRESS, -1))).isEqualTo(-1); @@ -442,9 +421,7 @@ public class SettingsHelperTest { Uri.EMPTY, Settings.System.RINGTONE, sourceRingtoneValue, - 0, - mBackupRestoreEventLogger, - LOGGING_DATATYPE); + 0); assertThat(Settings.System.getString(mContentResolver, Settings.System.RINGTONE)) .isEqualTo(newRingtoneValueCanonicalized); @@ -509,9 +486,7 @@ public class SettingsHelperTest { Uri.EMPTY, Settings.System.RINGTONE, sourceRingtoneValue, - 0, - mBackupRestoreEventLogger, - LOGGING_DATATYPE); + 0); assertThat(Settings.System.getString(mContentResolver, Settings.System.RINGTONE)) .isEqualTo(newRingtoneValueCanonicalized); @@ -576,9 +551,7 @@ public class SettingsHelperTest { Uri.EMPTY, Settings.System.NOTIFICATION_SOUND, sourceRingtoneValue, - 0, - mBackupRestoreEventLogger, - LOGGING_DATATYPE); + 0); assertThat( Settings.System.getString( @@ -651,9 +624,7 @@ public class SettingsHelperTest { Uri.EMPTY, Settings.System.ALARM_ALERT, sourceRingtoneValue, - 0, - mBackupRestoreEventLogger, - LOGGING_DATATYPE); + 0); assertThat(Settings.System.getString(mContentResolver, Settings.System.ALARM_ALERT)) .isEqualTo(newRingtoneValueCanonicalized); @@ -696,9 +667,7 @@ public class SettingsHelperTest { Uri.EMPTY, Settings.System.RINGTONE, sourceRingtoneValue, - 0, - mBackupRestoreEventLogger, - LOGGING_DATATYPE); + 0); assertThat(Settings.System.getString(mContentResolver, Settings.System.RINGTONE)) .isEqualTo(DEFAULT_RINGTONE_VALUE); @@ -731,9 +700,7 @@ public class SettingsHelperTest { Uri.EMPTY, Settings.System.RINGTONE, "_silent", - 0, - mBackupRestoreEventLogger, - LOGGING_DATATYPE); + 0); assertThat(Settings.System.getString(mContentResolver, Settings.System.RINGTONE)) .isEqualTo(null); @@ -824,61 +791,6 @@ public class SettingsHelperTest { assertThat(mSettingsHelper.getLocaleList()).isEqualTo(LOCALE_LIST); } - @Test - @EnableFlags(com.android.server.backup.Flags.FLAG_ENABLE_METRICS_SETTINGS_BACKUP_AGENTS) - public void restoreValue_metricsFlagIsEnabled_restoresSetting_logsSuccess() { - mSettingsHelper.restoreValue( - mContext, - mContentResolver, - new ContentValues(), - Settings.Secure.getUriFor(SETTING_KEY), - SETTING_KEY, - SETTING_VALUE, - /* restoredFromSdkInt */ 0, - mBackupRestoreEventLogger, - LOGGING_DATATYPE); - - DataTypeResult loggingResult = getLoggingResultForDatatype(LOGGING_DATATYPE); - assertThat(loggingResult).isNotNull(); - assertThat(loggingResult.getSuccessCount()).isEqualTo(1); - } - - @Test - @EnableFlags(com.android.server.backup.Flags.FLAG_ENABLE_METRICS_SETTINGS_BACKUP_AGENTS) - public void restoreValue_metricsFlagIsEnabled_doesNotRestoreSetting_logsFailure() { - mSettingsHelper.restoreValue( - mContext, - mContentResolver, - new ContentValues(), - Uri.EMPTY, - SETTING_KEY, - SETTING_VALUE, - /* restoredFromSdkInt */ 0, - mBackupRestoreEventLogger, - LOGGING_DATATYPE); - - DataTypeResult loggingResult = getLoggingResultForDatatype(LOGGING_DATATYPE); - assertThat(loggingResult).isNotNull(); - assertThat(loggingResult.getFailCount()).isEqualTo(1); - } - - @Test - @DisableFlags(com.android.server.backup.Flags.FLAG_ENABLE_METRICS_SETTINGS_BACKUP_AGENTS) - public void restoreValue_metricsFlagIsDisabled_doesNotLogMetrics() { - mSettingsHelper.restoreValue( - mContext, - mContentResolver, - new ContentValues(), - Uri.EMPTY, - SETTING_KEY, - SETTING_VALUE, - /* restoredFromSdkInt */ 0, - mBackupRestoreEventLogger, - LOGGING_DATATYPE); - - assertThat(getLoggingResultForDatatype(LOGGING_DATATYPE)).isNull(); - } - private int getAutoRotationSettingValue() { return Settings.System.getInt(mContentResolver, Settings.System.ACCELEROMETER_ROTATION, @@ -900,9 +812,7 @@ public class SettingsHelperTest { /* destination= */ Settings.System.CONTENT_URI, /* name= */ Settings.System.ACCELEROMETER_ROTATION, /* value= */ String.valueOf(newValue), - /* restoredFromSdkInt= */ 0, - mBackupRestoreEventLogger, - LOGGING_DATATYPE); + /* restoredFromSdkInt= */ 0); } private void resetRingtoneSettingsToDefault() { @@ -936,20 +846,9 @@ public class SettingsHelperTest { Uri.EMPTY, settings, testRingtoneSettingsValue, - 0, - mBackupRestoreEventLogger, - LOGGING_DATATYPE); + 0); assertThat(Settings.System.getString(mContentResolver, settings)) .isEqualTo(testRingtoneSettingsValue); } - - private DataTypeResult getLoggingResultForDatatype(String dataType) { - for (DataTypeResult result : mBackupRestoreEventLogger.getLoggingResults()) { - if (result.getDataType().equals(dataType)) { - return result; - } - } - return null; - } } |