blob: 96de06c3e9a61af24945553c73c0f43d044d7882 [file] [log] [blame]
Zhi Dou4655c962023-06-12 15:56:03 +00001package {package_name};
Zhi Dou5aaeee32023-08-07 22:54:13 +00002{{ if not is_test_mode }}
Zhi Dou8ba6aa72023-06-26 21:03:40 +00003{{ if is_read_write- }}
Zhi Doueb744892023-05-10 04:02:33 +00004import android.provider.DeviceConfig;
5{{ endif }}
Zhi Dou4655c962023-06-12 15:56:03 +00006public final class FeatureFlagsImpl implements FeatureFlags \{
Zhi Doua41cc5e2023-06-29 15:01:56 +00007{{ for item in class_elements}}
Zhi Dou4655c962023-06-12 15:56:03 +00008 @Override
9 public boolean {item.method_name}() \{
Zhi Dou5aaeee32023-08-07 22:54:13 +000010 {{ -if item.is_read_write }}
Zhi Doueb744892023-05-10 04:02:33 +000011 return DeviceConfig.getBoolean(
Mårten Kongstad066575b2023-06-07 16:29:25 +020012 "{item.device_config_namespace}",
13 "{item.device_config_flag}",
Zhi Doueb744892023-05-10 04:02:33 +000014 {item.default_value}
Mårten Kongstad00cf0452023-05-26 16:48:01 +020015 );
Zhi Dou5aaeee32023-08-07 22:54:13 +000016 {{ else }}
Zhi Doueb744892023-05-10 04:02:33 +000017 return {item.default_value};
Zhi Dou5aaeee32023-08-07 22:54:13 +000018 {{ endif- }}
Zhi Doueb744892023-05-10 04:02:33 +000019 }
Zhi Dou06a448f2023-08-15 19:33:27 +000020{{ endfor }}
Zhi Dou8ba6aa72023-06-26 21:03:40 +000021}
Zhi Dou5aaeee32023-08-07 22:54:13 +000022{{ else }}
23{#- Generate only stub if in test mode #}
24public final class FeatureFlagsImpl implements FeatureFlags \{
25{{ for item in class_elements}}
26 @Override
27 public boolean {item.method_name}() \{
28 throw new UnsupportedOperationException(
29 "Method is not implemented.");
30 }
Zhi Dou06a448f2023-08-15 19:33:27 +000031{{ endfor }}
Zhi Dou5aaeee32023-08-07 22:54:13 +000032}
33{{ endif }}