blob: 7f047001d229f1c9b077306ef8edbfd57b956f2e [file] [log] [blame]
Zhi Dou4655c962023-06-12 15:56:03 +00001package {package_name};
2
3public final class Flags \{
Zhi Doua41cc5e2023-06-29 15:01:56 +00004{{- for item in class_elements}}
MÃ¥rten Kongstada2e152a2023-06-19 16:11:33 +02005 public static final String FLAG_{item.flag_name_constant_suffix} = "{item.device_config_flag}";
Zhi Doua41cc5e2023-06-29 15:01:56 +00006{{- endfor }}
7{{ for item in class_elements}}
Zhi Doudeafa792023-09-05 18:22:46 +00008{{ -if not item.is_read_write }}
9{{ -if item.default_value }}
10 @com.android.aconfig.annotations.AssumeTrueForR8
11{{ -else }}
12 @com.android.aconfig.annotations.AssumeFalseForR8
13{{ -endif- }}
14{{ endif }}
Zhi Dou4655c962023-06-12 15:56:03 +000015 public static boolean {item.method_name}() \{
16 return FEATURE_FLAGS.{item.method_name}();
17 }
Zhi Doua41cc5e2023-06-29 15:01:56 +000018{{ endfor }}
19{{ -if is_test_mode }}
Zhi Dou5aaeee32023-08-07 22:54:13 +000020 public static void setFeatureFlags(FeatureFlags featureFlags) \{
Zhi Dou8ba6aa72023-06-26 21:03:40 +000021 Flags.FEATURE_FLAGS = featureFlags;
22 }
23
Zhi Dou5aaeee32023-08-07 22:54:13 +000024 public static void unsetFeatureFlags() \{
Zhi Dou8ba6aa72023-06-26 21:03:40 +000025 Flags.FEATURE_FLAGS = null;
26 }
Zhi Doudeafa792023-09-05 18:22:46 +000027{{ endif }}
Zhi Dou8ba6aa72023-06-26 21:03:40 +000028 private static FeatureFlags FEATURE_FLAGS{{ -if not is_test_mode }} = new FeatureFlagsImpl(){{ -endif- }};
Zhi Dou4655c962023-06-12 15:56:03 +000029
30}