aconfig: Java codegen iteration 1
This change includes
- refactor generated java code to generate
- Flags.java to support the static API
- FeatureFlagsImpl.java to support injection API
- FeatureFlags.java interface
Bug: 279483816
Test: atest aconfig.test aconfig.test.java
Change-Id: If0d4baf317b9174635cd0fff3832ab7091ee52ed
diff --git a/tools/aconfig/templates/FeatureFlagsImpl.java.template b/tools/aconfig/templates/FeatureFlagsImpl.java.template
new file mode 100644
index 0000000..2b031f1
--- /dev/null
+++ b/tools/aconfig/templates/FeatureFlagsImpl.java.template
@@ -0,0 +1,20 @@
+package {package_name};
+{{ if is_read_write }}
+import android.provider.DeviceConfig;
+{{ endif }}
+public final class FeatureFlagsImpl implements FeatureFlags \{
+ {{ for item in class_elements}}
+ @Override
+ public boolean {item.method_name}() \{
+ {{ if item.is_read_write- }}
+ return DeviceConfig.getBoolean(
+ "{item.device_config_namespace}",
+ "{item.device_config_flag}",
+ {item.default_value}
+ );
+ {{ -else- }}
+ return {item.default_value};
+ {{ -endif }}
+ }
+ {{ endfor }}
+}
\ No newline at end of file