Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 068a2998 authored by Zhi Dou's avatar Zhi Dou Committed by Automerger Merge Worker
Browse files

Merge "aconfig: prototype AconfigFlagAccessor" into main am: 93937ac3

parents 43bdfb26 93937ac3
Loading
Loading
Loading
Loading
+63 −6
Original line number Diff line number Diff line
@@ -180,27 +180,36 @@ mod tests {
    import android.compat.annotation.UnsupportedAppUsage;
    /** @hide */
    public interface FeatureFlags {
        @com.android.aconfig.annotations.AconfigFlagAccessor
        @com.android.aconfig.annotations.AssumeFalseForR8
        @UnsupportedAppUsage
        boolean disabledRo();
        @com.android.aconfig.annotations.AconfigFlagAccessor
        @UnsupportedAppUsage
        boolean disabledRw();
        @com.android.aconfig.annotations.AconfigFlagAccessor
        @UnsupportedAppUsage
        boolean disabledRwExported();
        @com.android.aconfig.annotations.AconfigFlagAccessor
        @UnsupportedAppUsage
        boolean disabledRwInOtherNamespace();
        @com.android.aconfig.annotations.AconfigFlagAccessor
        @com.android.aconfig.annotations.AssumeTrueForR8
        @UnsupportedAppUsage
        boolean enabledFixedRo();
        @com.android.aconfig.annotations.AconfigFlagAccessor
        @com.android.aconfig.annotations.AssumeTrueForR8
        @UnsupportedAppUsage
        boolean enabledFixedRoExported();
        @com.android.aconfig.annotations.AconfigFlagAccessor
        @com.android.aconfig.annotations.AssumeTrueForR8
        @UnsupportedAppUsage
        boolean enabledRo();
        @com.android.aconfig.annotations.AconfigFlagAccessor
        @com.android.aconfig.annotations.AssumeTrueForR8
        @UnsupportedAppUsage
        boolean enabledRoExported();
        @com.android.aconfig.annotations.AconfigFlagAccessor
        @UnsupportedAppUsage
        boolean enabledRw();
    }
@@ -231,43 +240,52 @@ mod tests {
        /** @hide */
        public static final String FLAG_ENABLED_RW = "com.android.aconfig.test.enabled_rw";

        @com.android.aconfig.annotations.AconfigFlagAccessor
        @com.android.aconfig.annotations.AssumeFalseForR8
        @UnsupportedAppUsage
        public static boolean disabledRo() {
            return FEATURE_FLAGS.disabledRo();
        }
        @com.android.aconfig.annotations.AconfigFlagAccessor
        @UnsupportedAppUsage
        public static boolean disabledRw() {
            return FEATURE_FLAGS.disabledRw();
        }
        @com.android.aconfig.annotations.AconfigFlagAccessor
        @UnsupportedAppUsage
        public static boolean disabledRwExported() {
            return FEATURE_FLAGS.disabledRwExported();
        }
        @com.android.aconfig.annotations.AconfigFlagAccessor
        @UnsupportedAppUsage
        public static boolean disabledRwInOtherNamespace() {
            return FEATURE_FLAGS.disabledRwInOtherNamespace();
        }
        @com.android.aconfig.annotations.AconfigFlagAccessor
        @com.android.aconfig.annotations.AssumeTrueForR8
        @UnsupportedAppUsage
        public static boolean enabledFixedRo() {
            return FEATURE_FLAGS.enabledFixedRo();
        }
        @com.android.aconfig.annotations.AconfigFlagAccessor
        @com.android.aconfig.annotations.AssumeTrueForR8
        @UnsupportedAppUsage
        public static boolean enabledFixedRoExported() {
            return FEATURE_FLAGS.enabledFixedRoExported();
        }
        @com.android.aconfig.annotations.AconfigFlagAccessor
        @com.android.aconfig.annotations.AssumeTrueForR8
        @UnsupportedAppUsage
        public static boolean enabledRo() {
            return FEATURE_FLAGS.enabledRo();
        }
        @com.android.aconfig.annotations.AconfigFlagAccessor
        @com.android.aconfig.annotations.AssumeTrueForR8
        @UnsupportedAppUsage
        public static boolean enabledRoExported() {
            return FEATURE_FLAGS.enabledRoExported();
        }
        @com.android.aconfig.annotations.AconfigFlagAccessor
        @UnsupportedAppUsage
        public static boolean enabledRw() {
            return FEATURE_FLAGS.enabledRw();
@@ -458,12 +476,13 @@ mod tests {
                other_namespace_is_cached = true;
            }


            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean disabledRo() {
                return false;
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean disabledRw() {
@@ -472,6 +491,7 @@ mod tests {
                }
                return disabledRw;
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean disabledRwExported() {
@@ -480,6 +500,7 @@ mod tests {
                }
                return disabledRwExported;
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean disabledRwInOtherNamespace() {
@@ -488,26 +509,31 @@ mod tests {
                }
                return disabledRwInOtherNamespace;
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean enabledFixedRo() {
                return true;
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean enabledFixedRoExported() {
                return true;
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean enabledRo() {
                return true;
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean enabledRoExported() {
                return true;
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean enabledRw() {
@@ -566,13 +592,15 @@ mod tests {
            public static final String FLAG_ENABLED_FIXED_RO_EXPORTED = "com.android.aconfig.test.enabled_fixed_ro_exported";
            /** @hide */
            public static final String FLAG_ENABLED_RO_EXPORTED = "com.android.aconfig.test.enabled_ro_exported";

            @com.android.aconfig.annotations.AconfigFlagAccessor
            public static boolean disabledRwExported() {
                return FEATURE_FLAGS.disabledRwExported();
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            public static boolean enabledFixedRoExported() {
                return FEATURE_FLAGS.enabledFixedRoExported();
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            public static boolean enabledRoExported() {
                return FEATURE_FLAGS.enabledRoExported();
            }
@@ -584,8 +612,11 @@ mod tests {
        package com.android.aconfig.test;
        /** @hide */
        public interface FeatureFlags {
            @com.android.aconfig.annotations.AconfigFlagAccessor
            boolean disabledRwExported();
            @com.android.aconfig.annotations.AconfigFlagAccessor
            boolean enabledFixedRoExported();
            @com.android.aconfig.annotations.AconfigFlagAccessor
            boolean enabledRoExported();
        }
        "#;
@@ -623,7 +654,7 @@ mod tests {
                }
                aconfig_test_is_cached = true;
            }

            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            public boolean disabledRwExported() {
                if (!aconfig_test_is_cached) {
@@ -631,7 +662,7 @@ mod tests {
                }
                return disabledRwExported;
            }

            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            public boolean enabledFixedRoExported() {
                if (!aconfig_test_is_cached) {
@@ -639,7 +670,7 @@ mod tests {
                }
                return enabledFixedRoExported;
            }

            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            public boolean enabledRoExported() {
                if (!aconfig_test_is_cached) {
@@ -761,54 +792,63 @@ mod tests {
        import android.compat.annotation.UnsupportedAppUsage;
        /** @hide */
        public final class FeatureFlagsImpl implements FeatureFlags {
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean disabledRo() {
                throw new UnsupportedOperationException(
                    "Method is not implemented.");
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean disabledRw() {
                throw new UnsupportedOperationException(
                    "Method is not implemented.");
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean disabledRwExported() {
                throw new UnsupportedOperationException(
                    "Method is not implemented.");
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean disabledRwInOtherNamespace() {
                throw new UnsupportedOperationException(
                    "Method is not implemented.");
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean enabledFixedRo() {
                throw new UnsupportedOperationException(
                    "Method is not implemented.");
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean enabledFixedRoExported() {
                throw new UnsupportedOperationException(
                    "Method is not implemented.");
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean enabledRo() {
                throw new UnsupportedOperationException(
                    "Method is not implemented.");
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean enabledRoExported() {
                throw new UnsupportedOperationException(
                    "Method is not implemented.");
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean enabledRw() {
@@ -861,21 +901,27 @@ mod tests {
        import android.compat.annotation.UnsupportedAppUsage;
        /** @hide */
        public interface FeatureFlags {
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @com.android.aconfig.annotations.AssumeFalseForR8
            @UnsupportedAppUsage
            boolean disabledRo();
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @com.android.aconfig.annotations.AssumeFalseForR8
            @UnsupportedAppUsage
            boolean disabledRw();
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @com.android.aconfig.annotations.AssumeFalseForR8
            @UnsupportedAppUsage
            boolean disabledRwInOtherNamespace();
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @com.android.aconfig.annotations.AssumeTrueForR8
            @UnsupportedAppUsage
            boolean enabledFixedRo();
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @com.android.aconfig.annotations.AssumeTrueForR8
            @UnsupportedAppUsage
            boolean enabledRo();
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @com.android.aconfig.annotations.AssumeTrueForR8
            @UnsupportedAppUsage
            boolean enabledRw();
@@ -887,31 +933,37 @@ mod tests {
        import android.compat.annotation.UnsupportedAppUsage;
        /** @hide */
        public final class FeatureFlagsImpl implements FeatureFlags {
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean disabledRo() {
                return false;
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean disabledRw() {
                return false;
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean disabledRwInOtherNamespace() {
                return false;
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean enabledFixedRo() {
                return true;
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean enabledRo() {
                return true;
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @Override
            @UnsupportedAppUsage
            public boolean enabledRw() {
@@ -938,32 +990,37 @@ mod tests {
            public static final String FLAG_ENABLED_RO = "com.android.aconfig.test.enabled_ro";
            /** @hide */
            public static final String FLAG_ENABLED_RW = "com.android.aconfig.test.enabled_rw";

            @com.android.aconfig.annotations.AconfigFlagAccessor
            @com.android.aconfig.annotations.AssumeFalseForR8
            @UnsupportedAppUsage
            public static boolean disabledRo() {
                return FEATURE_FLAGS.disabledRo();
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @com.android.aconfig.annotations.AssumeFalseForR8
            @UnsupportedAppUsage
            public static boolean disabledRw() {
                return FEATURE_FLAGS.disabledRw();
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @com.android.aconfig.annotations.AssumeFalseForR8
            @UnsupportedAppUsage
            public static boolean disabledRwInOtherNamespace() {
                return FEATURE_FLAGS.disabledRwInOtherNamespace();
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @com.android.aconfig.annotations.AssumeTrueForR8
            @UnsupportedAppUsage
            public static boolean enabledFixedRo() {
                return FEATURE_FLAGS.enabledFixedRo();
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @com.android.aconfig.annotations.AssumeTrueForR8
            @UnsupportedAppUsage
            public static boolean enabledRo() {
                return FEATURE_FLAGS.enabledRo();
            }
            @com.android.aconfig.annotations.AconfigFlagAccessor
            @com.android.aconfig.annotations.AssumeTrueForR8
            @UnsupportedAppUsage
            public static boolean enabledRw() {
+1 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ import android.compat.annotation.UnsupportedAppUsage;
/** @hide */
public interface FeatureFlags \{
{{ for item in flag_elements }}
    @com.android.aconfig.annotations.AconfigFlagAccessor
{{ -if not item.is_read_write }}
{{ -if item.default_value }}
    @com.android.aconfig.annotations.AssumeTrueForR8
+2 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ public final class FeatureFlagsImpl implements FeatureFlags \{
{{ endfor- }}
{{ -endif }}{#- end of runtime_lookup_required #}
{{ -for flag in flag_elements }}
    @com.android.aconfig.annotations.AconfigFlagAccessor
    @Override
{{ -if not library_exported }}
    @UnsupportedAppUsage
@@ -66,6 +67,7 @@ public final class FeatureFlagsImpl implements FeatureFlags \{
/** @hide */
public final class FeatureFlagsImpl implements FeatureFlags \{
{{ for flag in flag_elements }}
    @com.android.aconfig.annotations.AconfigFlagAccessor
    @Override
{{ -if not library_exported }}
    @UnsupportedAppUsage
+1 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ public final class Flags \{
    public static final String FLAG_{item.flag_name_constant_suffix} = "{item.device_config_flag}";
{{- endfor }}
{{ -for item in flag_elements}}
    @com.android.aconfig.annotations.AconfigFlagAccessor
{{ -if not item.is_read_write }}
{{ -if item.default_value }}
    @com.android.aconfig.annotations.AssumeTrueForR8