blob: 7e1eb151f8ff7c2f4e0578f8b36275c6dec72edc [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 Doua41cc5e2023-06-29 15:01:56 +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 }
31{{ endfor- }}
Zhi Doua7200112023-08-07 18:09:28 +000032 @Override
33 public void setFlag(String flagName, boolean value) \{
34 throw new UnsupportedOperationException(
35 "Method is not implemented.");
36 }
37
38 @Override
39 public void resetAll() \{
40 throw new UnsupportedOperationException(
41 "Method is not implemented.");
42 }
Zhi Dou5aaeee32023-08-07 22:54:13 +000043}
44{{ endif }}