Loading core/build_id.mk +1 −1 Original line number Diff line number Diff line Loading @@ -18,4 +18,4 @@ # (like "CRB01"). It must be a single word, and is # capitalized by convention. BUILD_ID=AP1A.231211.001 BUILD_ID=AP1A.231212.001 core/version_util.mk +1 −1 Original line number Diff line number Diff line Loading @@ -100,7 +100,7 @@ PLATFORM_VERSION_LAST_STABLE := $(RELEASE_PLATFORM_VERSION_LAST_STABLE) PLATFORM_VERSION_KNOWN_CODENAMES := \ Base Base11 Cupcake Donut Eclair Eclair01 EclairMr1 Froyo Gingerbread GingerbreadMr1 \ Honeycomb HoneycombMr1 HoneycombMr2 IceCreamSandwich IceCreamSandwichMr1 \ JellyBean JellyBeanMr1 JellyBeanMr2 Kitkat KitkatWatch L Lollipop LollipopMr1 M N NMr1 O OMr1 P \ JellyBean JellyBeanMr1 JellyBeanMr2 Kitkat KitkatWatch Lollipop LollipopMr1 M N NMr1 O OMr1 P \ Q R S Sv2 Tiramisu UpsideDownCake VanillaIceCream # Convert from space separated list to comma separated Loading tools/aconfig/Android.bp +20 −0 Original line number Diff line number Diff line Loading @@ -154,6 +154,12 @@ cc_aconfig_library { aconfig_declarations: "aconfig.test.flags", } cc_aconfig_library { name: "aconfig_test_cpp_library_test_variant", aconfig_declarations: "aconfig.test.flags", mode: "test", } cc_test { name: "aconfig.test.cpp", srcs: [ Loading @@ -168,6 +174,20 @@ cc_test { ], } cc_test { name: "aconfig.test.cpp.test_mode", srcs: [ "tests/aconfig_test_test_variant.cpp", ], static_libs: [ "aconfig_test_cpp_library_test_variant", "libgmock", ], shared_libs: [ "server_configurable_flags", ], } rust_aconfig_library { name: "libaconfig_test_rust_library", crate_name: "aconfig_test_rust_library", Loading tools/aconfig/src/codegen/cpp.rs +56 −0 Original line number Diff line number Diff line Loading @@ -170,6 +170,8 @@ public: virtual bool enabled_ro() = 0; virtual bool enabled_ro_exported() = 0; virtual bool enabled_rw() = 0; }; Loading Loading @@ -199,6 +201,10 @@ inline bool enabled_ro() { return true; } inline bool enabled_ro_exported() { return true; } inline bool enabled_rw() { return provider_->enabled_rw(); } Loading @@ -220,6 +226,8 @@ bool com_android_aconfig_test_enabled_fixed_ro(); bool com_android_aconfig_test_enabled_ro(); bool com_android_aconfig_test_enabled_ro_exported(); bool com_android_aconfig_test_enabled_rw(); #ifdef __cplusplus Loading Loading @@ -265,6 +273,10 @@ public: virtual void enabled_ro(bool val) = 0; virtual bool enabled_ro_exported() = 0; virtual void enabled_ro_exported(bool val) = 0; virtual bool enabled_rw() = 0; virtual void enabled_rw(bool val) = 0; Loading Loading @@ -322,6 +334,14 @@ inline void enabled_ro(bool val) { provider_->enabled_ro(val); } inline bool enabled_ro_exported() { return provider_->enabled_ro_exported(); } inline void enabled_ro_exported(bool val) { provider_->enabled_ro_exported(val); } inline bool enabled_rw() { return provider_->enabled_rw(); } Loading Loading @@ -363,6 +383,10 @@ bool com_android_aconfig_test_enabled_ro(); void set_com_android_aconfig_test_enabled_ro(bool val); bool com_android_aconfig_test_enabled_ro_exported(); void set_com_android_aconfig_test_enabled_ro_exported(bool val); bool com_android_aconfig_test_enabled_rw(); void set_com_android_aconfig_test_enabled_rw(bool val); Loading Loading @@ -429,6 +453,10 @@ namespace com::android::aconfig::test { return true; } virtual bool enabled_ro_exported() override { return true; } virtual bool enabled_rw() override { if (cache_[3] == -1) { cache_[3] = server_configurable_flags::GetServerConfigurableFlag( Loading Loading @@ -471,6 +499,10 @@ bool com_android_aconfig_test_enabled_ro() { return true; } bool com_android_aconfig_test_enabled_ro_exported() { return true; } bool com_android_aconfig_test_enabled_rw() { return com::android::aconfig::test::enabled_rw(); } Loading Loading @@ -581,6 +613,19 @@ namespace com::android::aconfig::test { overrides_["enabled_ro"] = val; } virtual bool enabled_ro_exported() override { auto it = overrides_.find("enabled_ro_exported"); if (it != overrides_.end()) { return it->second; } else { return true; } } virtual void enabled_ro_exported(bool val) override { overrides_["enabled_ro_exported"] = val; } virtual bool enabled_rw() override { auto it = overrides_.find("enabled_rw"); if (it != overrides_.end()) { Loading Loading @@ -661,6 +706,17 @@ void set_com_android_aconfig_test_enabled_ro(bool val) { com::android::aconfig::test::enabled_ro(val); } bool com_android_aconfig_test_enabled_ro_exported() { return com::android::aconfig::test::enabled_ro_exported(); } void set_com_android_aconfig_test_enabled_ro_exported(bool val) { com::android::aconfig::test::enabled_ro_exported(val); } bool com_android_aconfig_test_enabled_rw() { return com::android::aconfig::test::enabled_rw(); } Loading tools/aconfig/src/codegen/java.rs +47 −19 Original line number Diff line number Diff line Loading @@ -193,6 +193,9 @@ mod tests { @com.android.aconfig.annotations.AssumeTrueForR8 @UnsupportedAppUsage boolean enabledRo(); @com.android.aconfig.annotations.AssumeTrueForR8 @UnsupportedAppUsage boolean enabledRoExported(); @UnsupportedAppUsage boolean enabledRw(); } Loading @@ -217,6 +220,8 @@ mod tests { /** @hide */ public static final String FLAG_ENABLED_RO = "com.android.aconfig.test.enabled_ro"; /** @hide */ public static final String FLAG_ENABLED_RO_EXPORTED = "com.android.aconfig.test.enabled_ro_exported"; /** @hide */ public static final String FLAG_ENABLED_RW = "com.android.aconfig.test.enabled_rw"; @com.android.aconfig.annotations.AssumeFalseForR8 Loading Loading @@ -246,6 +251,11 @@ mod tests { public static boolean enabledRo() { return FEATURE_FLAGS.enabledRo(); } @com.android.aconfig.annotations.AssumeTrueForR8 @UnsupportedAppUsage public static boolean enabledRoExported() { return FEATURE_FLAGS.enabledRoExported(); } @UnsupportedAppUsage public static boolean enabledRw() { return FEATURE_FLAGS.enabledRw(); Loading Loading @@ -295,6 +305,11 @@ mod tests { } @Override @UnsupportedAppUsage public boolean enabledRoExported() { return getValue(Flags.FLAG_ENABLED_RO_EXPORTED); } @Override @UnsupportedAppUsage public boolean enabledRw() { return getValue(Flags.FLAG_ENABLED_RW); } Loading Loading @@ -324,6 +339,7 @@ mod tests { Map.entry(Flags.FLAG_DISABLED_RW_IN_OTHER_NAMESPACE, false), Map.entry(Flags.FLAG_ENABLED_FIXED_RO, false), Map.entry(Flags.FLAG_ENABLED_RO, false), Map.entry(Flags.FLAG_ENABLED_RO_EXPORTED, false), Map.entry(Flags.FLAG_ENABLED_RW, false) ) ); Loading Loading @@ -442,6 +458,11 @@ mod tests { } @Override @UnsupportedAppUsage public boolean enabledRoExported() { return true; } @Override @UnsupportedAppUsage public boolean enabledRw() { if (!aconfig_test_is_cached) { load_overrides_aconfig_test(); Loading Loading @@ -494,19 +515,19 @@ mod tests { import android.compat.annotation.UnsupportedAppUsage; /** @hide */ public final class Flags { /** @hide */ public static final String FLAG_DISABLED_RW = "com.android.aconfig.test.disabled_rw"; /** @hide */ public static final String FLAG_DISABLED_RW_EXPORTED = "com.android.aconfig.test.disabled_rw_exported"; /** @hide */ public static final String FLAG_ENABLED_RO_EXPORTED = "com.android.aconfig.test.enabled_ro_exported"; @UnsupportedAppUsage public static boolean disabledRw() { return FEATURE_FLAGS.disabledRw(); } @UnsupportedAppUsage public static boolean disabledRwExported() { return FEATURE_FLAGS.disabledRwExported(); } @UnsupportedAppUsage public static boolean enabledRoExported() { return FEATURE_FLAGS.enabledRoExported(); } private static FeatureFlags FEATURE_FLAGS = new FeatureFlagsImpl(); } "#; Loading @@ -517,10 +538,10 @@ mod tests { import android.compat.annotation.UnsupportedAppUsage; /** @hide */ public interface FeatureFlags { @UnsupportedAppUsage boolean disabledRw(); @UnsupportedAppUsage boolean disabledRwExported(); @UnsupportedAppUsage boolean enabledRoExported(); } "#; Loading @@ -534,17 +555,17 @@ mod tests { public final class FeatureFlagsImpl implements FeatureFlags { private static boolean aconfig_test_is_cached = false; private static boolean other_namespace_is_cached = false; private static boolean disabledRw = false; private static boolean disabledRwExported = false; private static boolean enabledRoExported = false; private void load_overrides_aconfig_test() { try { Properties properties = DeviceConfig.getProperties("aconfig_test"); disabledRw = properties.getBoolean("com.android.aconfig.test.disabled_rw", false); disabledRwExported = properties.getBoolean("com.android.aconfig.test.disabled_rw_exported", false); enabledRoExported = properties.getBoolean("com.android.aconfig.test.enabled_ro_exported", false); } catch (NullPointerException e) { throw new RuntimeException( "Cannot read value from namespace aconfig_test " Loading Loading @@ -576,20 +597,20 @@ mod tests { @Override @UnsupportedAppUsage public boolean disabledRw() { public boolean disabledRwExported() { if (!aconfig_test_is_cached) { load_overrides_aconfig_test(); } return disabledRw; return disabledRwExported; } @Override @UnsupportedAppUsage public boolean disabledRwExported() { public boolean enabledRoExported() { if (!aconfig_test_is_cached) { load_overrides_aconfig_test(); } return disabledRwExported; return enabledRoExported; } }"#; Loading @@ -606,13 +627,13 @@ mod tests { } @Override @UnsupportedAppUsage public boolean disabledRw() { return getValue(Flags.FLAG_DISABLED_RW); public boolean disabledRwExported() { return getValue(Flags.FLAG_DISABLED_RW_EXPORTED); } @Override @UnsupportedAppUsage public boolean disabledRwExported() { return getValue(Flags.FLAG_DISABLED_RW_EXPORTED); public boolean enabledRoExported() { return getValue(Flags.FLAG_ENABLED_RO_EXPORTED); } public void setFlag(String flagName, boolean value) { if (!this.mFlagMap.containsKey(flagName)) { Loading Loading @@ -640,6 +661,7 @@ mod tests { Map.entry(Flags.FLAG_DISABLED_RW_IN_OTHER_NAMESPACE, false), Map.entry(Flags.FLAG_ENABLED_FIXED_RO, false), Map.entry(Flags.FLAG_ENABLED_RO, false), Map.entry(Flags.FLAG_ENABLED_RO_EXPORTED, false), Map.entry(Flags.FLAG_ENABLED_RW, false) ) ); Loading Loading @@ -739,6 +761,12 @@ mod tests { } @Override @UnsupportedAppUsage public boolean enabledRoExported() { throw new UnsupportedOperationException( "Method is not implemented."); } @Override @UnsupportedAppUsage public boolean enabledRw() { throw new UnsupportedOperationException( "Method is not implemented."); Loading Loading
core/build_id.mk +1 −1 Original line number Diff line number Diff line Loading @@ -18,4 +18,4 @@ # (like "CRB01"). It must be a single word, and is # capitalized by convention. BUILD_ID=AP1A.231211.001 BUILD_ID=AP1A.231212.001
core/version_util.mk +1 −1 Original line number Diff line number Diff line Loading @@ -100,7 +100,7 @@ PLATFORM_VERSION_LAST_STABLE := $(RELEASE_PLATFORM_VERSION_LAST_STABLE) PLATFORM_VERSION_KNOWN_CODENAMES := \ Base Base11 Cupcake Donut Eclair Eclair01 EclairMr1 Froyo Gingerbread GingerbreadMr1 \ Honeycomb HoneycombMr1 HoneycombMr2 IceCreamSandwich IceCreamSandwichMr1 \ JellyBean JellyBeanMr1 JellyBeanMr2 Kitkat KitkatWatch L Lollipop LollipopMr1 M N NMr1 O OMr1 P \ JellyBean JellyBeanMr1 JellyBeanMr2 Kitkat KitkatWatch Lollipop LollipopMr1 M N NMr1 O OMr1 P \ Q R S Sv2 Tiramisu UpsideDownCake VanillaIceCream # Convert from space separated list to comma separated Loading
tools/aconfig/Android.bp +20 −0 Original line number Diff line number Diff line Loading @@ -154,6 +154,12 @@ cc_aconfig_library { aconfig_declarations: "aconfig.test.flags", } cc_aconfig_library { name: "aconfig_test_cpp_library_test_variant", aconfig_declarations: "aconfig.test.flags", mode: "test", } cc_test { name: "aconfig.test.cpp", srcs: [ Loading @@ -168,6 +174,20 @@ cc_test { ], } cc_test { name: "aconfig.test.cpp.test_mode", srcs: [ "tests/aconfig_test_test_variant.cpp", ], static_libs: [ "aconfig_test_cpp_library_test_variant", "libgmock", ], shared_libs: [ "server_configurable_flags", ], } rust_aconfig_library { name: "libaconfig_test_rust_library", crate_name: "aconfig_test_rust_library", Loading
tools/aconfig/src/codegen/cpp.rs +56 −0 Original line number Diff line number Diff line Loading @@ -170,6 +170,8 @@ public: virtual bool enabled_ro() = 0; virtual bool enabled_ro_exported() = 0; virtual bool enabled_rw() = 0; }; Loading Loading @@ -199,6 +201,10 @@ inline bool enabled_ro() { return true; } inline bool enabled_ro_exported() { return true; } inline bool enabled_rw() { return provider_->enabled_rw(); } Loading @@ -220,6 +226,8 @@ bool com_android_aconfig_test_enabled_fixed_ro(); bool com_android_aconfig_test_enabled_ro(); bool com_android_aconfig_test_enabled_ro_exported(); bool com_android_aconfig_test_enabled_rw(); #ifdef __cplusplus Loading Loading @@ -265,6 +273,10 @@ public: virtual void enabled_ro(bool val) = 0; virtual bool enabled_ro_exported() = 0; virtual void enabled_ro_exported(bool val) = 0; virtual bool enabled_rw() = 0; virtual void enabled_rw(bool val) = 0; Loading Loading @@ -322,6 +334,14 @@ inline void enabled_ro(bool val) { provider_->enabled_ro(val); } inline bool enabled_ro_exported() { return provider_->enabled_ro_exported(); } inline void enabled_ro_exported(bool val) { provider_->enabled_ro_exported(val); } inline bool enabled_rw() { return provider_->enabled_rw(); } Loading Loading @@ -363,6 +383,10 @@ bool com_android_aconfig_test_enabled_ro(); void set_com_android_aconfig_test_enabled_ro(bool val); bool com_android_aconfig_test_enabled_ro_exported(); void set_com_android_aconfig_test_enabled_ro_exported(bool val); bool com_android_aconfig_test_enabled_rw(); void set_com_android_aconfig_test_enabled_rw(bool val); Loading Loading @@ -429,6 +453,10 @@ namespace com::android::aconfig::test { return true; } virtual bool enabled_ro_exported() override { return true; } virtual bool enabled_rw() override { if (cache_[3] == -1) { cache_[3] = server_configurable_flags::GetServerConfigurableFlag( Loading Loading @@ -471,6 +499,10 @@ bool com_android_aconfig_test_enabled_ro() { return true; } bool com_android_aconfig_test_enabled_ro_exported() { return true; } bool com_android_aconfig_test_enabled_rw() { return com::android::aconfig::test::enabled_rw(); } Loading Loading @@ -581,6 +613,19 @@ namespace com::android::aconfig::test { overrides_["enabled_ro"] = val; } virtual bool enabled_ro_exported() override { auto it = overrides_.find("enabled_ro_exported"); if (it != overrides_.end()) { return it->second; } else { return true; } } virtual void enabled_ro_exported(bool val) override { overrides_["enabled_ro_exported"] = val; } virtual bool enabled_rw() override { auto it = overrides_.find("enabled_rw"); if (it != overrides_.end()) { Loading Loading @@ -661,6 +706,17 @@ void set_com_android_aconfig_test_enabled_ro(bool val) { com::android::aconfig::test::enabled_ro(val); } bool com_android_aconfig_test_enabled_ro_exported() { return com::android::aconfig::test::enabled_ro_exported(); } void set_com_android_aconfig_test_enabled_ro_exported(bool val) { com::android::aconfig::test::enabled_ro_exported(val); } bool com_android_aconfig_test_enabled_rw() { return com::android::aconfig::test::enabled_rw(); } Loading
tools/aconfig/src/codegen/java.rs +47 −19 Original line number Diff line number Diff line Loading @@ -193,6 +193,9 @@ mod tests { @com.android.aconfig.annotations.AssumeTrueForR8 @UnsupportedAppUsage boolean enabledRo(); @com.android.aconfig.annotations.AssumeTrueForR8 @UnsupportedAppUsage boolean enabledRoExported(); @UnsupportedAppUsage boolean enabledRw(); } Loading @@ -217,6 +220,8 @@ mod tests { /** @hide */ public static final String FLAG_ENABLED_RO = "com.android.aconfig.test.enabled_ro"; /** @hide */ public static final String FLAG_ENABLED_RO_EXPORTED = "com.android.aconfig.test.enabled_ro_exported"; /** @hide */ public static final String FLAG_ENABLED_RW = "com.android.aconfig.test.enabled_rw"; @com.android.aconfig.annotations.AssumeFalseForR8 Loading Loading @@ -246,6 +251,11 @@ mod tests { public static boolean enabledRo() { return FEATURE_FLAGS.enabledRo(); } @com.android.aconfig.annotations.AssumeTrueForR8 @UnsupportedAppUsage public static boolean enabledRoExported() { return FEATURE_FLAGS.enabledRoExported(); } @UnsupportedAppUsage public static boolean enabledRw() { return FEATURE_FLAGS.enabledRw(); Loading Loading @@ -295,6 +305,11 @@ mod tests { } @Override @UnsupportedAppUsage public boolean enabledRoExported() { return getValue(Flags.FLAG_ENABLED_RO_EXPORTED); } @Override @UnsupportedAppUsage public boolean enabledRw() { return getValue(Flags.FLAG_ENABLED_RW); } Loading Loading @@ -324,6 +339,7 @@ mod tests { Map.entry(Flags.FLAG_DISABLED_RW_IN_OTHER_NAMESPACE, false), Map.entry(Flags.FLAG_ENABLED_FIXED_RO, false), Map.entry(Flags.FLAG_ENABLED_RO, false), Map.entry(Flags.FLAG_ENABLED_RO_EXPORTED, false), Map.entry(Flags.FLAG_ENABLED_RW, false) ) ); Loading Loading @@ -442,6 +458,11 @@ mod tests { } @Override @UnsupportedAppUsage public boolean enabledRoExported() { return true; } @Override @UnsupportedAppUsage public boolean enabledRw() { if (!aconfig_test_is_cached) { load_overrides_aconfig_test(); Loading Loading @@ -494,19 +515,19 @@ mod tests { import android.compat.annotation.UnsupportedAppUsage; /** @hide */ public final class Flags { /** @hide */ public static final String FLAG_DISABLED_RW = "com.android.aconfig.test.disabled_rw"; /** @hide */ public static final String FLAG_DISABLED_RW_EXPORTED = "com.android.aconfig.test.disabled_rw_exported"; /** @hide */ public static final String FLAG_ENABLED_RO_EXPORTED = "com.android.aconfig.test.enabled_ro_exported"; @UnsupportedAppUsage public static boolean disabledRw() { return FEATURE_FLAGS.disabledRw(); } @UnsupportedAppUsage public static boolean disabledRwExported() { return FEATURE_FLAGS.disabledRwExported(); } @UnsupportedAppUsage public static boolean enabledRoExported() { return FEATURE_FLAGS.enabledRoExported(); } private static FeatureFlags FEATURE_FLAGS = new FeatureFlagsImpl(); } "#; Loading @@ -517,10 +538,10 @@ mod tests { import android.compat.annotation.UnsupportedAppUsage; /** @hide */ public interface FeatureFlags { @UnsupportedAppUsage boolean disabledRw(); @UnsupportedAppUsage boolean disabledRwExported(); @UnsupportedAppUsage boolean enabledRoExported(); } "#; Loading @@ -534,17 +555,17 @@ mod tests { public final class FeatureFlagsImpl implements FeatureFlags { private static boolean aconfig_test_is_cached = false; private static boolean other_namespace_is_cached = false; private static boolean disabledRw = false; private static boolean disabledRwExported = false; private static boolean enabledRoExported = false; private void load_overrides_aconfig_test() { try { Properties properties = DeviceConfig.getProperties("aconfig_test"); disabledRw = properties.getBoolean("com.android.aconfig.test.disabled_rw", false); disabledRwExported = properties.getBoolean("com.android.aconfig.test.disabled_rw_exported", false); enabledRoExported = properties.getBoolean("com.android.aconfig.test.enabled_ro_exported", false); } catch (NullPointerException e) { throw new RuntimeException( "Cannot read value from namespace aconfig_test " Loading Loading @@ -576,20 +597,20 @@ mod tests { @Override @UnsupportedAppUsage public boolean disabledRw() { public boolean disabledRwExported() { if (!aconfig_test_is_cached) { load_overrides_aconfig_test(); } return disabledRw; return disabledRwExported; } @Override @UnsupportedAppUsage public boolean disabledRwExported() { public boolean enabledRoExported() { if (!aconfig_test_is_cached) { load_overrides_aconfig_test(); } return disabledRwExported; return enabledRoExported; } }"#; Loading @@ -606,13 +627,13 @@ mod tests { } @Override @UnsupportedAppUsage public boolean disabledRw() { return getValue(Flags.FLAG_DISABLED_RW); public boolean disabledRwExported() { return getValue(Flags.FLAG_DISABLED_RW_EXPORTED); } @Override @UnsupportedAppUsage public boolean disabledRwExported() { return getValue(Flags.FLAG_DISABLED_RW_EXPORTED); public boolean enabledRoExported() { return getValue(Flags.FLAG_ENABLED_RO_EXPORTED); } public void setFlag(String flagName, boolean value) { if (!this.mFlagMap.containsKey(flagName)) { Loading Loading @@ -640,6 +661,7 @@ mod tests { Map.entry(Flags.FLAG_DISABLED_RW_IN_OTHER_NAMESPACE, false), Map.entry(Flags.FLAG_ENABLED_FIXED_RO, false), Map.entry(Flags.FLAG_ENABLED_RO, false), Map.entry(Flags.FLAG_ENABLED_RO_EXPORTED, false), Map.entry(Flags.FLAG_ENABLED_RW, false) ) ); Loading Loading @@ -739,6 +761,12 @@ mod tests { } @Override @UnsupportedAppUsage public boolean enabledRoExported() { throw new UnsupportedOperationException( "Method is not implemented."); } @Override @UnsupportedAppUsage public boolean enabledRw() { throw new UnsupportedOperationException( "Method is not implemented."); Loading