Zhi Dou | 4655c96 | 2023-06-12 15:56:03 +0000 | [diff] [blame] | 1 | package {package_name}; |
| 2 | |
Zhi Dou | 22a90f4 | 2023-10-06 07:28:44 +0000 | [diff] [blame] | 3 | // TODO(b/303773055): Remove the annotation after access issue is resolved. |
| 4 | import android.compat.annotation.UnsupportedAppUsage; |
| 5 | |
Mårten Kongstad | 65efa27 | 2023-09-11 12:17:25 +0000 | [diff] [blame] | 6 | /** @hide */ |
Zhi Dou | 4655c96 | 2023-06-12 15:56:03 +0000 | [diff] [blame] | 7 | public final class Flags \{ |
Zhi Dou | 72c2a93 | 2023-10-31 22:57:30 +0000 | [diff] [blame^] | 8 | {{- for item in flag_elements}} |
Mårten Kongstad | fb10840 | 2023-09-13 10:15:01 +0200 | [diff] [blame] | 9 | /** @hide */ |
Mårten Kongstad | a2e152a | 2023-06-19 16:11:33 +0200 | [diff] [blame] | 10 | 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] | 11 | {{- endfor }} |
Zhi Dou | 72c2a93 | 2023-10-31 22:57:30 +0000 | [diff] [blame^] | 12 | {{ for item in flag_elements}} |
Zhi Dou | deafa79 | 2023-09-05 18:22:46 +0000 | [diff] [blame] | 13 | {{ -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 Dou | 22a90f4 | 2023-10-06 07:28:44 +0000 | [diff] [blame] | 20 | @UnsupportedAppUsage |
Zhi Dou | 4655c96 | 2023-06-12 15:56:03 +0000 | [diff] [blame] | 21 | public static boolean {item.method_name}() \{ |
| 22 | return FEATURE_FLAGS.{item.method_name}(); |
| 23 | } |
Zhi Dou | a41cc5e | 2023-06-29 15:01:56 +0000 | [diff] [blame] | 24 | {{ endfor }} |
| 25 | {{ -if is_test_mode }} |
Zhi Dou | 5aaeee3 | 2023-08-07 22:54:13 +0000 | [diff] [blame] | 26 | public static void setFeatureFlags(FeatureFlags featureFlags) \{ |
Zhi Dou | 8ba6aa7 | 2023-06-26 21:03:40 +0000 | [diff] [blame] | 27 | Flags.FEATURE_FLAGS = featureFlags; |
| 28 | } |
| 29 | |
Zhi Dou | 5aaeee3 | 2023-08-07 22:54:13 +0000 | [diff] [blame] | 30 | public static void unsetFeatureFlags() \{ |
Zhi Dou | 8ba6aa7 | 2023-06-26 21:03:40 +0000 | [diff] [blame] | 31 | Flags.FEATURE_FLAGS = null; |
| 32 | } |
Zhi Dou | deafa79 | 2023-09-05 18:22:46 +0000 | [diff] [blame] | 33 | {{ endif }} |
Zhi Dou | 8ba6aa7 | 2023-06-26 21:03:40 +0000 | [diff] [blame] | 34 | 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] | 35 | |
| 36 | } |