summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Songchun Fan <schfan@google.com> 2023-03-14 18:09:14 -0700
committer Songchun Fan <schfan@google.com> 2023-03-14 18:28:39 -0700
commit726c48c5a73fb5e0c2c49446f2e56cfc03f3cf08 (patch)
tree3e166012ba61042ffe4575707128c4457a464e7d
parentf4ad413f2ea12387a521bb47c264ac91c0eb1a88 (diff)
[SettingsProvider] GenerationRegistry test for Global settings
BUG: 228619157 Test: atest com.android.providers.settings.GenerationRegistryTest Change-Id: I5e050b4834d75ab9112efdcd25621ab88e16eb5c
-rw-r--r--packages/SettingsProvider/test/AndroidTest.xml6
-rw-r--r--packages/SettingsProvider/test/src/com/android/providers/settings/GenerationRegistryTest.java17
2 files changed, 23 insertions, 0 deletions
diff --git a/packages/SettingsProvider/test/AndroidTest.xml b/packages/SettingsProvider/test/AndroidTest.xml
index 9d2352670ddd..0bf53ccf81a6 100644
--- a/packages/SettingsProvider/test/AndroidTest.xml
+++ b/packages/SettingsProvider/test/AndroidTest.xml
@@ -14,6 +14,12 @@
limitations under the License.
-->
<configuration description="Run Settings Provider Tests.">
+ <target_preparer class="com.android.tradefed.targetprep.DeviceSetup">
+ <option name="set-global-setting" key="verifier_verify_adb_installs" value="0" />
+ <option name="restore-settings" value="true" />
+ <option name="force-skip-system-props" value="true" />
+ </target_preparer>
+
<target_preparer class="com.android.tradefed.targetprep.TestAppInstallSetup">
<option name="test-file-name" value="SettingsProviderTest.apk" />
</target_preparer>
diff --git a/packages/SettingsProvider/test/src/com/android/providers/settings/GenerationRegistryTest.java b/packages/SettingsProvider/test/src/com/android/providers/settings/GenerationRegistryTest.java
index 6ec8146baee0..586d6f73baad 100644
--- a/packages/SettingsProvider/test/src/com/android/providers/settings/GenerationRegistryTest.java
+++ b/packages/SettingsProvider/test/src/com/android/providers/settings/GenerationRegistryTest.java
@@ -170,6 +170,23 @@ public class GenerationRegistryTest {
checkBundle(b, 1, 2, false);
}
+ @Test
+ public void testGlobalSettings() throws IOException {
+ final GenerationRegistry generationRegistry = new GenerationRegistry(new Object());
+ final int globalKey = SettingsState.makeKey(SettingsState.SETTINGS_TYPE_GLOBAL, 0);
+ final String testGlobalSetting = "test_global_setting";
+ final Bundle b = new Bundle();
+ generationRegistry.addGenerationData(b, globalKey, testGlobalSetting);
+ checkBundle(b, 0, 1, false);
+ final MemoryIntArray array = getArray(b);
+ final int globalKey2 = SettingsState.makeKey(SettingsState.SETTINGS_TYPE_GLOBAL, 10);
+ b.clear();
+ generationRegistry.addGenerationData(b, globalKey2, testGlobalSetting);
+ checkBundle(b, 0, 1, false);
+ final MemoryIntArray array2 = getArray(b);
+ // Check that user10 and user0 use the same array to store global settings' generations
+ assertThat(array).isEqualTo(array2);
+ }
private void checkBundle(Bundle b, int expectedIndex, int expectedGeneration, boolean isNull)
throws IOException {