1package {package_name}; 2{{ if not library_exported- }} 3// TODO(b/303773055): Remove the annotation after access issue is resolved. 4import android.compat.annotation.UnsupportedAppUsage; 5{{ -endif }} 6/** @hide */ 7public final class Flags \{ 8{{ -for item in flag_elements}} 9 /** @hide */ 10 public static final String FLAG_{item.flag_name_constant_suffix} = "{item.device_config_flag}"; 11{{- endfor }} 12{{ -for item in flag_elements}} 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 }} 20{{ -if not library_exported }} 21 @com.android.aconfig.annotations.AconfigFlagAccessor 22 @UnsupportedAppUsage 23{{ -endif }} 24 public static boolean {item.method_name}() \{ 25 return FEATURE_FLAGS.{item.method_name}(); 26 } 27{{ -endfor }} 28{{ -if is_test_mode }} 29 public static void setFeatureFlags(FeatureFlags featureFlags) \{ 30 Flags.FEATURE_FLAGS = featureFlags; 31 } 32 33 public static void unsetFeatureFlags() \{ 34 Flags.FEATURE_FLAGS = null; 35 } 36{{ -endif }} 37 38 private static FeatureFlags FEATURE_FLAGS{{ -if not is_test_mode }} = new FeatureFlagsImpl(){{ -endif- }}; 39 40} 41