blob: 39024a8f744ed07e8a908cba2b54469d6df10f7e [file] [log] [blame]
Zhi Dou4655c962023-06-12 15:56:03 +00001package {package_name};
2
Mårten Kongstad65efa272023-09-11 12:17:25 +00003/** @hide */
Zhi Dou4655c962023-06-12 15:56:03 +00004public final class Flags \{
Zhi Doua41cc5e2023-06-29 15:01:56 +00005{{- for item in class_elements}}
Mårten Kongstadfb108402023-09-13 10:15:01 +02006 /** @hide */
Mårten Kongstada2e152a2023-06-19 16:11:33 +02007 public static final String FLAG_{item.flag_name_constant_suffix} = "{item.device_config_flag}";
Zhi Doua41cc5e2023-06-29 15:01:56 +00008{{- endfor }}
9{{ for item in class_elements}}
Zhi Doudeafa792023-09-05 18:22:46 +000010{{ -if not item.is_read_write }}
11{{ -if item.default_value }}
12 @com.android.aconfig.annotations.AssumeTrueForR8
13{{ -else }}
14 @com.android.aconfig.annotations.AssumeFalseForR8
15{{ -endif- }}
16{{ endif }}
Zhi Dou4655c962023-06-12 15:56:03 +000017 public static boolean {item.method_name}() \{
18 return FEATURE_FLAGS.{item.method_name}();
19 }
Zhi Doua41cc5e2023-06-29 15:01:56 +000020{{ endfor }}
21{{ -if is_test_mode }}
Zhi Dou5aaeee32023-08-07 22:54:13 +000022 public static void setFeatureFlags(FeatureFlags featureFlags) \{
Zhi Dou8ba6aa72023-06-26 21:03:40 +000023 Flags.FEATURE_FLAGS = featureFlags;
24 }
25
Zhi Dou5aaeee32023-08-07 22:54:13 +000026 public static void unsetFeatureFlags() \{
Zhi Dou8ba6aa72023-06-26 21:03:40 +000027 Flags.FEATURE_FLAGS = null;
28 }
Zhi Doudeafa792023-09-05 18:22:46 +000029{{ endif }}
Zhi Dou8ba6aa72023-06-26 21:03:40 +000030 private static FeatureFlags FEATURE_FLAGS{{ -if not is_test_mode }} = new FeatureFlagsImpl(){{ -endif- }};
Zhi Dou4655c962023-06-12 15:56:03 +000031
32}