Loading tools/aconfig/aconfig/src/codegen/java.rs +8 −39 Original line number Diff line number Diff line Loading @@ -351,6 +351,10 @@ mod tests { } return false; } @com.android.aconfig.annotations.AssumeTrueForR8 private boolean isOptimizationEnabled() { return false; } private boolean getValue(String flagName) { Boolean value = this.mFlagMap.get(flagName); if (value == null) { Loading @@ -358,10 +362,6 @@ mod tests { } return value; } @com.android.aconfig.annotations.AssumeTrueForR8 private boolean isOptimizationEnabled() { return false; } private Map<String, Boolean> mFlagMap = new HashMap<>( Map.ofEntries( Map.entry(Flags.FLAG_DISABLED_RO, false), Loading Loading @@ -558,8 +558,6 @@ mod tests { let expect_flags_content = r#" package com.android.aconfig.test; // TODO(b/303773055): Remove the annotation after access issue is resolved. import android.compat.annotation.UnsupportedAppUsage; /** @hide */ public final class Flags { /** @hide */ Loading @@ -569,15 +567,12 @@ mod tests { /** @hide */ public static final String FLAG_ENABLED_RO_EXPORTED = "com.android.aconfig.test.enabled_ro_exported"; @UnsupportedAppUsage public static boolean disabledRwExported() { return FEATURE_FLAGS.disabledRwExported(); } @UnsupportedAppUsage public static boolean enabledFixedRoExported() { return FEATURE_FLAGS.enabledFixedRoExported(); } @UnsupportedAppUsage public static boolean enabledRoExported() { return FEATURE_FLAGS.enabledRoExported(); } Loading @@ -587,23 +582,16 @@ mod tests { let expect_feature_flags_content = r#" package com.android.aconfig.test; // TODO(b/303773055): Remove the annotation after access issue is resolved. import android.compat.annotation.UnsupportedAppUsage; /** @hide */ public interface FeatureFlags { @UnsupportedAppUsage boolean disabledRwExported(); @UnsupportedAppUsage boolean enabledFixedRoExported(); @UnsupportedAppUsage boolean enabledRoExported(); } "#; let expect_feature_flags_impl_content = r#" package com.android.aconfig.test; // TODO(b/303773055): Remove the annotation after access issue is resolved. import android.compat.annotation.UnsupportedAppUsage; import android.provider.DeviceConfig; import android.provider.DeviceConfig.Properties; /** @hide */ Loading Loading @@ -637,7 +625,6 @@ mod tests { } @Override @UnsupportedAppUsage public boolean disabledRwExported() { if (!aconfig_test_is_cached) { load_overrides_aconfig_test(); Loading @@ -646,7 +633,6 @@ mod tests { } @Override @UnsupportedAppUsage public boolean enabledFixedRoExported() { if (!aconfig_test_is_cached) { load_overrides_aconfig_test(); Loading @@ -655,7 +641,6 @@ mod tests { } @Override @UnsupportedAppUsage public boolean enabledRoExported() { if (!aconfig_test_is_cached) { load_overrides_aconfig_test(); Loading @@ -666,8 +651,6 @@ mod tests { let expect_fake_feature_flags_impl_content = r#" package com.android.aconfig.test; // TODO(b/303773055): Remove the annotation after access issue is resolved. import android.compat.annotation.UnsupportedAppUsage; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; Loading @@ -679,17 +662,14 @@ mod tests { resetAll(); } @Override @UnsupportedAppUsage public boolean disabledRwExported() { return getValue(Flags.FLAG_DISABLED_RW_EXPORTED); } @Override @UnsupportedAppUsage public boolean enabledFixedRoExported() { return getValue(Flags.FLAG_ENABLED_FIXED_RO_EXPORTED); } @Override @UnsupportedAppUsage public boolean enabledRoExported() { return getValue(Flags.FLAG_ENABLED_RO_EXPORTED); } Loading @@ -704,13 +684,6 @@ mod tests { entry.setValue(null); } } public boolean isFlagReadOnlyOptimized(String flagName) { if (mReadOnlyFlagsSet.contains(flagName) && isOptimizationEnabled()) { return true; } return false; } private boolean getValue(String flagName) { Boolean value = this.mFlagMap.get(flagName); if (value == null) { Loading @@ -718,10 +691,6 @@ mod tests { } return value; } @com.android.aconfig.annotations.AssumeTrueForR8 private boolean isOptimizationEnabled() { return false; } private Map<String, Boolean> mFlagMap = new HashMap<>( Map.ofEntries( Map.entry(Flags.FLAG_DISABLED_RW_EXPORTED, false), Loading Loading @@ -1065,6 +1034,10 @@ mod tests { } return false; } @com.android.aconfig.annotations.AssumeTrueForR8 private boolean isOptimizationEnabled() { return false; } private boolean getValue(String flagName) { Boolean value = this.mFlagMap.get(flagName); if (value == null) { Loading @@ -1072,10 +1045,6 @@ mod tests { } return value; } @com.android.aconfig.annotations.AssumeTrueForR8 private boolean isOptimizationEnabled() { return false; } private Map<String, Boolean> mFlagMap = new HashMap<>( Map.ofEntries( Map.entry(Flags.FLAG_DISABLED_RO, false), Loading tools/aconfig/aconfig/templates/FakeFeatureFlagsImpl.java.template +9 −7 Original line number Diff line number Diff line package {package_name}; {{ if not library_exported- }} // TODO(b/303773055): Remove the annotation after access issue is resolved. import android.compat.annotation.UnsupportedAppUsage; {{ -endif }} import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; Loading @@ -16,7 +17,7 @@ public class FakeFeatureFlagsImpl implements FeatureFlags \{ {{ for item in flag_elements}} @Override @UnsupportedAppUsage {{ if not library_exported }} @UnsupportedAppUsage{{ -endif }} public boolean {item.method_name}() \{ return getValue(Flags.FLAG_{item.flag_name_constant_suffix}); } Loading @@ -33,7 +34,7 @@ public class FakeFeatureFlagsImpl implements FeatureFlags \{ entry.setValue(null); } } {{ if not library_exported }} public boolean isFlagReadOnlyOptimized(String flagName) \{ if (mReadOnlyFlagsSet.contains(flagName) && isOptimizationEnabled()) \{ Loading @@ -42,6 +43,11 @@ public class FakeFeatureFlagsImpl implements FeatureFlags \{ return false; } @com.android.aconfig.annotations.AssumeTrueForR8 private boolean isOptimizationEnabled() \{ return false; } {{ -endif }} private boolean getValue(String flagName) \{ Boolean value = this.mFlagMap.get(flagName); if (value == null) \{ Loading @@ -50,10 +56,6 @@ public class FakeFeatureFlagsImpl implements FeatureFlags \{ return value; } @com.android.aconfig.annotations.AssumeTrueForR8 private boolean isOptimizationEnabled() \{ return false; } private Map<String, Boolean> mFlagMap = new HashMap<>( Map.ofEntries( Loading tools/aconfig/aconfig/templates/FeatureFlags.java.template +6 −8 Original line number Diff line number Diff line package {package_name}; {{ if not library_exported- }} // TODO(b/303773055): Remove the annotation after access issue is resolved. import android.compat.annotation.UnsupportedAppUsage; {{ -endif }} /** @hide */ public interface FeatureFlags \{ {{ for item in flag_elements }} {{ -if library_exported }} @UnsupportedAppUsage boolean {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 }} {{ -endif }} {{ -if not library_exported }} @UnsupportedAppUsage {{ -endif }} boolean {item.method_name}(); {{ endif }} {{ -endfor }} } No newline at end of file tools/aconfig/aconfig/templates/FeatureFlagsImpl.java.template +6 −16 Original line number Diff line number Diff line package {package_name}; {{ if not library_exported- }} // TODO(b/303773055): Remove the annotation after access issue is resolved. import android.compat.annotation.UnsupportedAppUsage; {{ -endif }} {{ -if not is_test_mode }} {{ -if runtime_lookup_required }} import android.provider.DeviceConfig; Loading @@ -14,12 +16,8 @@ public final class FeatureFlagsImpl implements FeatureFlags \{ {{ -endfor- }} {{ for flag in flag_elements }} {{ -if library_exported }} private static boolean {flag.method_name} = false; {{ -else }} {{- if flag.is_read_write }} private static boolean {flag.method_name} = {flag.default_value}; {{- endif- }} {{ -endif }} {{ -endfor }} {{ for namespace_with_flags in namespace_flags }} Loading @@ -27,15 +25,10 @@ public final class FeatureFlagsImpl implements FeatureFlags \{ try \{ Properties properties = DeviceConfig.getProperties("{namespace_with_flags.namespace}"); {{ -for flag in namespace_with_flags.flags }} {{ -if library_exported }} {flag.method_name} = properties.getBoolean("{flag.device_config_flag}", false); {{ -else }} {{ -if flag.is_read_write }} {flag.method_name} = properties.getBoolean("{flag.device_config_flag}", {flag.default_value}); {{ -endif }} {{ -endif }} {{ -endfor }} } catch (NullPointerException e) \{ throw new RuntimeException( Loading @@ -53,14 +46,10 @@ public final class FeatureFlagsImpl implements FeatureFlags \{ {{ -endif }}{#- end of runtime_lookup_required #} {{ -for flag in flag_elements }} @Override {{ -if not library_exported }} @UnsupportedAppUsage {{ -endif }} public boolean {flag.method_name}() \{ {{ -if library_exported }} if (!{flag.device_config_namespace}_is_cached) \{ load_overrides_{flag.device_config_namespace}(); } return {flag.method_name}; {{ -else }} {{ -if flag.is_read_write }} if (!{flag.device_config_namespace}_is_cached) \{ load_overrides_{flag.device_config_namespace}(); Loading @@ -68,7 +57,6 @@ public final class FeatureFlagsImpl implements FeatureFlags \{ return {flag.method_name}; {{ -else }} return {flag.default_value}; {{ -endif- }} {{ -endif }} } {{ endfor }} Loading @@ -79,7 +67,9 @@ public final class FeatureFlagsImpl implements FeatureFlags \{ public final class FeatureFlagsImpl implements FeatureFlags \{ {{ for flag in flag_elements }} @Override {{ -if not library_exported }} @UnsupportedAppUsage {{ -endif }} public boolean {flag.method_name}() \{ throw new UnsupportedOperationException( "Method is not implemented."); Loading tools/aconfig/aconfig/templates/Flags.java.template +4 −9 Original line number Diff line number Diff line package {package_name}; {{ if not library_exported- }} // TODO(b/303773055): Remove the annotation after access issue is resolved. import android.compat.annotation.UnsupportedAppUsage; {{ -endif }} /** @hide */ public final class Flags \{ {{ -for item in flag_elements}} Loading @@ -10,12 +10,6 @@ public final class Flags \{ 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 Loading @@ -23,11 +17,12 @@ public final class Flags \{ @com.android.aconfig.annotations.AssumeFalseForR8 {{ -endif }} {{ -endif }} {{ -if not library_exported }} @UnsupportedAppUsage {{ -endif }} public static boolean {item.method_name}() \{ return FEATURE_FLAGS.{item.method_name}(); } {{ -endif }} {{ -endfor }} {{ -if is_test_mode }} public static void setFeatureFlags(FeatureFlags featureFlags) \{ Loading Loading
tools/aconfig/aconfig/src/codegen/java.rs +8 −39 Original line number Diff line number Diff line Loading @@ -351,6 +351,10 @@ mod tests { } return false; } @com.android.aconfig.annotations.AssumeTrueForR8 private boolean isOptimizationEnabled() { return false; } private boolean getValue(String flagName) { Boolean value = this.mFlagMap.get(flagName); if (value == null) { Loading @@ -358,10 +362,6 @@ mod tests { } return value; } @com.android.aconfig.annotations.AssumeTrueForR8 private boolean isOptimizationEnabled() { return false; } private Map<String, Boolean> mFlagMap = new HashMap<>( Map.ofEntries( Map.entry(Flags.FLAG_DISABLED_RO, false), Loading Loading @@ -558,8 +558,6 @@ mod tests { let expect_flags_content = r#" package com.android.aconfig.test; // TODO(b/303773055): Remove the annotation after access issue is resolved. import android.compat.annotation.UnsupportedAppUsage; /** @hide */ public final class Flags { /** @hide */ Loading @@ -569,15 +567,12 @@ mod tests { /** @hide */ public static final String FLAG_ENABLED_RO_EXPORTED = "com.android.aconfig.test.enabled_ro_exported"; @UnsupportedAppUsage public static boolean disabledRwExported() { return FEATURE_FLAGS.disabledRwExported(); } @UnsupportedAppUsage public static boolean enabledFixedRoExported() { return FEATURE_FLAGS.enabledFixedRoExported(); } @UnsupportedAppUsage public static boolean enabledRoExported() { return FEATURE_FLAGS.enabledRoExported(); } Loading @@ -587,23 +582,16 @@ mod tests { let expect_feature_flags_content = r#" package com.android.aconfig.test; // TODO(b/303773055): Remove the annotation after access issue is resolved. import android.compat.annotation.UnsupportedAppUsage; /** @hide */ public interface FeatureFlags { @UnsupportedAppUsage boolean disabledRwExported(); @UnsupportedAppUsage boolean enabledFixedRoExported(); @UnsupportedAppUsage boolean enabledRoExported(); } "#; let expect_feature_flags_impl_content = r#" package com.android.aconfig.test; // TODO(b/303773055): Remove the annotation after access issue is resolved. import android.compat.annotation.UnsupportedAppUsage; import android.provider.DeviceConfig; import android.provider.DeviceConfig.Properties; /** @hide */ Loading Loading @@ -637,7 +625,6 @@ mod tests { } @Override @UnsupportedAppUsage public boolean disabledRwExported() { if (!aconfig_test_is_cached) { load_overrides_aconfig_test(); Loading @@ -646,7 +633,6 @@ mod tests { } @Override @UnsupportedAppUsage public boolean enabledFixedRoExported() { if (!aconfig_test_is_cached) { load_overrides_aconfig_test(); Loading @@ -655,7 +641,6 @@ mod tests { } @Override @UnsupportedAppUsage public boolean enabledRoExported() { if (!aconfig_test_is_cached) { load_overrides_aconfig_test(); Loading @@ -666,8 +651,6 @@ mod tests { let expect_fake_feature_flags_impl_content = r#" package com.android.aconfig.test; // TODO(b/303773055): Remove the annotation after access issue is resolved. import android.compat.annotation.UnsupportedAppUsage; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; Loading @@ -679,17 +662,14 @@ mod tests { resetAll(); } @Override @UnsupportedAppUsage public boolean disabledRwExported() { return getValue(Flags.FLAG_DISABLED_RW_EXPORTED); } @Override @UnsupportedAppUsage public boolean enabledFixedRoExported() { return getValue(Flags.FLAG_ENABLED_FIXED_RO_EXPORTED); } @Override @UnsupportedAppUsage public boolean enabledRoExported() { return getValue(Flags.FLAG_ENABLED_RO_EXPORTED); } Loading @@ -704,13 +684,6 @@ mod tests { entry.setValue(null); } } public boolean isFlagReadOnlyOptimized(String flagName) { if (mReadOnlyFlagsSet.contains(flagName) && isOptimizationEnabled()) { return true; } return false; } private boolean getValue(String flagName) { Boolean value = this.mFlagMap.get(flagName); if (value == null) { Loading @@ -718,10 +691,6 @@ mod tests { } return value; } @com.android.aconfig.annotations.AssumeTrueForR8 private boolean isOptimizationEnabled() { return false; } private Map<String, Boolean> mFlagMap = new HashMap<>( Map.ofEntries( Map.entry(Flags.FLAG_DISABLED_RW_EXPORTED, false), Loading Loading @@ -1065,6 +1034,10 @@ mod tests { } return false; } @com.android.aconfig.annotations.AssumeTrueForR8 private boolean isOptimizationEnabled() { return false; } private boolean getValue(String flagName) { Boolean value = this.mFlagMap.get(flagName); if (value == null) { Loading @@ -1072,10 +1045,6 @@ mod tests { } return value; } @com.android.aconfig.annotations.AssumeTrueForR8 private boolean isOptimizationEnabled() { return false; } private Map<String, Boolean> mFlagMap = new HashMap<>( Map.ofEntries( Map.entry(Flags.FLAG_DISABLED_RO, false), Loading
tools/aconfig/aconfig/templates/FakeFeatureFlagsImpl.java.template +9 −7 Original line number Diff line number Diff line package {package_name}; {{ if not library_exported- }} // TODO(b/303773055): Remove the annotation after access issue is resolved. import android.compat.annotation.UnsupportedAppUsage; {{ -endif }} import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; Loading @@ -16,7 +17,7 @@ public class FakeFeatureFlagsImpl implements FeatureFlags \{ {{ for item in flag_elements}} @Override @UnsupportedAppUsage {{ if not library_exported }} @UnsupportedAppUsage{{ -endif }} public boolean {item.method_name}() \{ return getValue(Flags.FLAG_{item.flag_name_constant_suffix}); } Loading @@ -33,7 +34,7 @@ public class FakeFeatureFlagsImpl implements FeatureFlags \{ entry.setValue(null); } } {{ if not library_exported }} public boolean isFlagReadOnlyOptimized(String flagName) \{ if (mReadOnlyFlagsSet.contains(flagName) && isOptimizationEnabled()) \{ Loading @@ -42,6 +43,11 @@ public class FakeFeatureFlagsImpl implements FeatureFlags \{ return false; } @com.android.aconfig.annotations.AssumeTrueForR8 private boolean isOptimizationEnabled() \{ return false; } {{ -endif }} private boolean getValue(String flagName) \{ Boolean value = this.mFlagMap.get(flagName); if (value == null) \{ Loading @@ -50,10 +56,6 @@ public class FakeFeatureFlagsImpl implements FeatureFlags \{ return value; } @com.android.aconfig.annotations.AssumeTrueForR8 private boolean isOptimizationEnabled() \{ return false; } private Map<String, Boolean> mFlagMap = new HashMap<>( Map.ofEntries( Loading
tools/aconfig/aconfig/templates/FeatureFlags.java.template +6 −8 Original line number Diff line number Diff line package {package_name}; {{ if not library_exported- }} // TODO(b/303773055): Remove the annotation after access issue is resolved. import android.compat.annotation.UnsupportedAppUsage; {{ -endif }} /** @hide */ public interface FeatureFlags \{ {{ for item in flag_elements }} {{ -if library_exported }} @UnsupportedAppUsage boolean {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 }} {{ -endif }} {{ -if not library_exported }} @UnsupportedAppUsage {{ -endif }} boolean {item.method_name}(); {{ endif }} {{ -endfor }} } No newline at end of file
tools/aconfig/aconfig/templates/FeatureFlagsImpl.java.template +6 −16 Original line number Diff line number Diff line package {package_name}; {{ if not library_exported- }} // TODO(b/303773055): Remove the annotation after access issue is resolved. import android.compat.annotation.UnsupportedAppUsage; {{ -endif }} {{ -if not is_test_mode }} {{ -if runtime_lookup_required }} import android.provider.DeviceConfig; Loading @@ -14,12 +16,8 @@ public final class FeatureFlagsImpl implements FeatureFlags \{ {{ -endfor- }} {{ for flag in flag_elements }} {{ -if library_exported }} private static boolean {flag.method_name} = false; {{ -else }} {{- if flag.is_read_write }} private static boolean {flag.method_name} = {flag.default_value}; {{- endif- }} {{ -endif }} {{ -endfor }} {{ for namespace_with_flags in namespace_flags }} Loading @@ -27,15 +25,10 @@ public final class FeatureFlagsImpl implements FeatureFlags \{ try \{ Properties properties = DeviceConfig.getProperties("{namespace_with_flags.namespace}"); {{ -for flag in namespace_with_flags.flags }} {{ -if library_exported }} {flag.method_name} = properties.getBoolean("{flag.device_config_flag}", false); {{ -else }} {{ -if flag.is_read_write }} {flag.method_name} = properties.getBoolean("{flag.device_config_flag}", {flag.default_value}); {{ -endif }} {{ -endif }} {{ -endfor }} } catch (NullPointerException e) \{ throw new RuntimeException( Loading @@ -53,14 +46,10 @@ public final class FeatureFlagsImpl implements FeatureFlags \{ {{ -endif }}{#- end of runtime_lookup_required #} {{ -for flag in flag_elements }} @Override {{ -if not library_exported }} @UnsupportedAppUsage {{ -endif }} public boolean {flag.method_name}() \{ {{ -if library_exported }} if (!{flag.device_config_namespace}_is_cached) \{ load_overrides_{flag.device_config_namespace}(); } return {flag.method_name}; {{ -else }} {{ -if flag.is_read_write }} if (!{flag.device_config_namespace}_is_cached) \{ load_overrides_{flag.device_config_namespace}(); Loading @@ -68,7 +57,6 @@ public final class FeatureFlagsImpl implements FeatureFlags \{ return {flag.method_name}; {{ -else }} return {flag.default_value}; {{ -endif- }} {{ -endif }} } {{ endfor }} Loading @@ -79,7 +67,9 @@ public final class FeatureFlagsImpl implements FeatureFlags \{ public final class FeatureFlagsImpl implements FeatureFlags \{ {{ for flag in flag_elements }} @Override {{ -if not library_exported }} @UnsupportedAppUsage {{ -endif }} public boolean {flag.method_name}() \{ throw new UnsupportedOperationException( "Method is not implemented."); Loading
tools/aconfig/aconfig/templates/Flags.java.template +4 −9 Original line number Diff line number Diff line package {package_name}; {{ if not library_exported- }} // TODO(b/303773055): Remove the annotation after access issue is resolved. import android.compat.annotation.UnsupportedAppUsage; {{ -endif }} /** @hide */ public final class Flags \{ {{ -for item in flag_elements}} Loading @@ -10,12 +10,6 @@ public final class Flags \{ 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 Loading @@ -23,11 +17,12 @@ public final class Flags \{ @com.android.aconfig.annotations.AssumeFalseForR8 {{ -endif }} {{ -endif }} {{ -if not library_exported }} @UnsupportedAppUsage {{ -endif }} public static boolean {item.method_name}() \{ return FEATURE_FLAGS.{item.method_name}(); } {{ -endif }} {{ -endfor }} {{ -if is_test_mode }} public static void setFeatureFlags(FeatureFlags featureFlags) \{ Loading