blob: cf6604cfa3bdd9b736f7990383e26c791ec79b81 [file] [log] [blame]
Zhi Dou4655c962023-06-12 15:56:03 +00001package {package_name};
2
Zhi Dou22a90f42023-10-06 07:28:44 +00003// TODO(b/303773055): Remove the annotation after access issue is resolved.
4import android.compat.annotation.UnsupportedAppUsage;
5
Mårten Kongstad65efa272023-09-11 12:17:25 +00006/** @hide */
Zhi Dou4655c962023-06-12 15:56:03 +00007public final class Flags \{
Zhi Dou72c2a932023-10-31 22:57:30 +00008{{- for item in flag_elements}}
Mårten Kongstadfb108402023-09-13 10:15:01 +02009 /** @hide */
Mårten Kongstada2e152a2023-06-19 16:11:33 +020010 public static final String FLAG_{item.flag_name_constant_suffix} = "{item.device_config_flag}";
Zhi Doua41cc5e2023-06-29 15:01:56 +000011{{- endfor }}
Zhi Dou72c2a932023-10-31 22:57:30 +000012{{ for item in flag_elements}}
Zhi Doudeafa792023-09-05 18:22:46 +000013{{ -if not item.is_read_write }}
14{{ -if item.default_value }}
15 @com.android.aconfig.annotations.AssumeTrueForR8
16{{ -else }}
17 @com.android.aconfig.annotations.AssumeFalseForR8
18{{ -endif- }}
19{{ endif }}
Zhi Dou22a90f42023-10-06 07:28:44 +000020 @UnsupportedAppUsage
Zhi Dou4655c962023-06-12 15:56:03 +000021 public static boolean {item.method_name}() \{
22 return FEATURE_FLAGS.{item.method_name}();
23 }
Zhi Doua41cc5e2023-06-29 15:01:56 +000024{{ endfor }}
25{{ -if is_test_mode }}
Zhi Dou5aaeee32023-08-07 22:54:13 +000026 public static void setFeatureFlags(FeatureFlags featureFlags) \{
Zhi Dou8ba6aa72023-06-26 21:03:40 +000027 Flags.FEATURE_FLAGS = featureFlags;
28 }
29
Zhi Dou5aaeee32023-08-07 22:54:13 +000030 public static void unsetFeatureFlags() \{
Zhi Dou8ba6aa72023-06-26 21:03:40 +000031 Flags.FEATURE_FLAGS = null;
32 }
Zhi Doudeafa792023-09-05 18:22:46 +000033{{ endif }}
Zhi Dou8ba6aa72023-06-26 21:03:40 +000034 private static FeatureFlags FEATURE_FLAGS{{ -if not is_test_mode }} = new FeatureFlagsImpl(){{ -endif- }};
Zhi Dou4655c962023-06-12 15:56:03 +000035
36}