Zhi Dou | 4655c96 | 2023-06-12 15:56:03 +0000 | [diff] [blame] | 1 | package {package_name}; |
| 2 | |
| 3 | public final class Flags \{ |
Zhi Dou | a41cc5e | 2023-06-29 15:01:56 +0000 | [diff] [blame] | 4 | {{- for item in class_elements}} |
MÃ¥rten Kongstad | a2e152a | 2023-06-19 16:11:33 +0200 | [diff] [blame] | 5 | public static final String FLAG_{item.flag_name_constant_suffix} = "{item.device_config_flag}"; |
Zhi Dou | a41cc5e | 2023-06-29 15:01:56 +0000 | [diff] [blame] | 6 | {{- endfor }} |
| 7 | {{ for item in class_elements}} |
Zhi Dou | deafa79 | 2023-09-05 18:22:46 +0000 | [diff] [blame^] | 8 | {{ -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 Dou | 4655c96 | 2023-06-12 15:56:03 +0000 | [diff] [blame] | 15 | public static boolean {item.method_name}() \{ |
| 16 | return FEATURE_FLAGS.{item.method_name}(); |
| 17 | } |
Zhi Dou | a41cc5e | 2023-06-29 15:01:56 +0000 | [diff] [blame] | 18 | {{ endfor }} |
| 19 | {{ -if is_test_mode }} |
Zhi Dou | 5aaeee3 | 2023-08-07 22:54:13 +0000 | [diff] [blame] | 20 | public static void setFeatureFlags(FeatureFlags featureFlags) \{ |
Zhi Dou | 8ba6aa7 | 2023-06-26 21:03:40 +0000 | [diff] [blame] | 21 | Flags.FEATURE_FLAGS = featureFlags; |
| 22 | } |
| 23 | |
Zhi Dou | 5aaeee3 | 2023-08-07 22:54:13 +0000 | [diff] [blame] | 24 | public static void unsetFeatureFlags() \{ |
Zhi Dou | 8ba6aa7 | 2023-06-26 21:03:40 +0000 | [diff] [blame] | 25 | Flags.FEATURE_FLAGS = null; |
| 26 | } |
Zhi Dou | deafa79 | 2023-09-05 18:22:46 +0000 | [diff] [blame^] | 27 | {{ endif }} |
Zhi Dou | 8ba6aa7 | 2023-06-26 21:03:40 +0000 | [diff] [blame] | 28 | private static FeatureFlags FEATURE_FLAGS{{ -if not is_test_mode }} = new FeatureFlagsImpl(){{ -endif- }}; |
Zhi Dou | 4655c96 | 2023-06-12 15:56:03 +0000 | [diff] [blame] | 29 | |
| 30 | } |