From 36589bc31813eae21355316e18dcc1bbc9696943 Mon Sep 17 00:00:00 2001 From: Zhi Dou Date: Tue, 30 Jul 2024 18:21:43 +0000 Subject: [PATCH] aconfig: make java cached indicator volatile Test: atest aconfig.test.java Bug: 356201402 Change-Id: I1127a4092536fe199f4a7256dea0c2b289e837da --- tools/aconfig/aconfig/src/codegen/java.rs | 6 +++--- .../aconfig/templates/FeatureFlagsImpl.java.template | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/aconfig/aconfig/src/codegen/java.rs b/tools/aconfig/aconfig/src/codegen/java.rs index 723859071d..727f810fb0 100644 --- a/tools/aconfig/aconfig/src/codegen/java.rs +++ b/tools/aconfig/aconfig/src/codegen/java.rs @@ -518,8 +518,8 @@ mod tests { let expected_featureflagsmpl_content_1 = r#" /** @hide */ public final class FeatureFlagsImpl implements FeatureFlags { - private static boolean aconfig_test_is_cached = false; - private static boolean other_namespace_is_cached = false; + private static volatile boolean aconfig_test_is_cached = false; + private static volatile boolean other_namespace_is_cached = false; private static boolean disabledRw = false; private static boolean disabledRwExported = false; private static boolean disabledRwInOtherNamespace = false; @@ -886,7 +886,7 @@ mod tests { import android.provider.DeviceConfig.Properties; /** @hide */ public final class FeatureFlagsImpl implements FeatureFlags { - private static boolean aconfig_test_is_cached = false; + private static volatile boolean aconfig_test_is_cached = false; private static boolean disabledRwExported = false; private static boolean enabledFixedRoExported = false; private static boolean enabledRoExported = false; diff --git a/tools/aconfig/aconfig/templates/FeatureFlagsImpl.java.template b/tools/aconfig/aconfig/templates/FeatureFlagsImpl.java.template index d93d302134..97d12542ca 100644 --- a/tools/aconfig/aconfig/templates/FeatureFlagsImpl.java.template +++ b/tools/aconfig/aconfig/templates/FeatureFlagsImpl.java.template @@ -22,7 +22,7 @@ import android.util.Log; public final class FeatureFlagsImpl implements FeatureFlags \{ {{ -if runtime_lookup_required }} {{ -for namespace_with_flags in namespace_flags }} - private static boolean {namespace_with_flags.namespace}_is_cached = false; + private static volatile boolean {namespace_with_flags.namespace}_is_cached = false; {{ -endfor- }} {{ for flag in flag_elements }}