• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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