Disable device config syncing by default in test harness mode

Ensures that platform flags are deterministic during testing while still
allowing tests/modules to enable syncing when necessary.

Bug: 283536230
Test: manual + heavy presubmit
Change-Id: I1b6f59f6b6928cd82b37909d8cfb07ad5b6b8acc
This commit is contained in:
Daniel Peykov
2023-06-13 17:12:40 +00:00
parent c25c1ca1a6
commit 43bc211608

View File

@@ -1245,11 +1245,13 @@ public class SettingsProvider extends ContentProvider {
Setting settingLocked = mSettingsRegistry.getSettingLocked(
SETTINGS_TYPE_GLOBAL, UserHandle.USER_SYSTEM,
Global.DEVICE_CONFIG_SYNC_DISABLED);
if (settingLocked == null) {
return SYNC_DISABLED_MODE_NONE;
String settingValue = settingLocked == null ? null : settingLocked.getValue();
if (settingValue == null) {
// Disable sync by default in test harness mode.
return ActivityManager.isRunningInUserTestHarness()
? SYNC_DISABLED_MODE_PERSISTENT : SYNC_DISABLED_MODE_NONE;
}
String settingValue = settingLocked.getValue();
boolean isSyncDisabledPersistent = settingValue != null && !"0".equals(settingValue);
boolean isSyncDisabledPersistent = !"0".equals(settingValue);
return isSyncDisabledPersistent
? SYNC_DISABLED_MODE_PERSISTENT : SYNC_DISABLED_MODE_NONE;
} finally {