Before this change java codegen filter flags for exported mode in the template. This change move the filter process to commands as other codegen. Thus the codegen code will only generate code based on the passed in flags. Bug: 311152507 Test: atest aconfig.test aconfig.test.java AconfigJavaHostTest Change-Id: I74045709cde19e6c687c3eb0d94050ea40cf5042
44 lines
1.3 KiB
Plaintext
44 lines
1.3 KiB
Plaintext
package {package_name};
|
|
|
|
// TODO(b/303773055): Remove the annotation after access issue is resolved.
|
|
import android.compat.annotation.UnsupportedAppUsage;
|
|
|
|
/** @hide */
|
|
public final class Flags \{
|
|
{{- for item in flag_elements}}
|
|
/** @hide */
|
|
public static final String FLAG_{item.flag_name_constant_suffix} = "{item.device_config_flag}";
|
|
{{- endfor }}
|
|
{{ for item in flag_elements}}
|
|
{{ -if library_exported }}
|
|
@UnsupportedAppUsage
|
|
public static boolean {item.method_name}() \{
|
|
return FEATURE_FLAGS.{item.method_name}();
|
|
}
|
|
{{ -else }}
|
|
{{ -if not item.is_read_write }}
|
|
{{ -if item.default_value }}
|
|
@com.android.aconfig.annotations.AssumeTrueForR8
|
|
{{ -else }}
|
|
@com.android.aconfig.annotations.AssumeFalseForR8
|
|
{{ -endif- }}
|
|
{{ endif }}
|
|
@UnsupportedAppUsage
|
|
public static boolean {item.method_name}() \{
|
|
return FEATURE_FLAGS.{item.method_name}();
|
|
}
|
|
{{ endif }}
|
|
{{ endfor }}
|
|
{{ -if is_test_mode }}
|
|
public static void setFeatureFlags(FeatureFlags featureFlags) \{
|
|
Flags.FEATURE_FLAGS = featureFlags;
|
|
}
|
|
|
|
public static void unsetFeatureFlags() \{
|
|
Flags.FEATURE_FLAGS = null;
|
|
}
|
|
{{ endif }}
|
|
private static FeatureFlags FEATURE_FLAGS{{ -if not is_test_mode }} = new FeatureFlagsImpl(){{ -endif- }};
|
|
|
|
}
|