aconfig: add fixed read only flag
Add a new field in the declaration to indicate whether
the permission can be overridden.
When the field “is_fixed_read_only” is set to true,
the flag permission will be set as fixed “READ_ONLY”,
and the permission should not be changed by Gantry.
Bug: 292521627
Test: atest aconfig.test
Change-Id: Ic9bcd7823bccb8b947cf05568c7ced3763490a23
diff --git a/tools/aconfig/src/codegen_java.rs b/tools/aconfig/src/codegen_java.rs
index 2c9dcf5..be0ec97 100644
--- a/tools/aconfig/src/codegen_java.rs
+++ b/tools/aconfig/src/codegen_java.rs
@@ -121,6 +121,7 @@
public interface FeatureFlags {
boolean disabledRo();
boolean disabledRw();
+ boolean enabledFixedRo();
boolean enabledRo();
boolean enabledRw();
"#;
@@ -130,6 +131,7 @@
public final class Flags {
public static final String FLAG_DISABLED_RO = "com.android.aconfig.test.disabled_ro";
public static final String FLAG_DISABLED_RW = "com.android.aconfig.test.disabled_rw";
+ public static final String FLAG_ENABLED_FIXED_RO = "com.android.aconfig.test.enabled_fixed_ro";
public static final String FLAG_ENABLED_RO = "com.android.aconfig.test.enabled_ro";
public static final String FLAG_ENABLED_RW = "com.android.aconfig.test.enabled_rw";
@@ -139,6 +141,9 @@
public static boolean disabledRw() {
return FEATURE_FLAGS.disabledRw();
}
+ public static boolean enabledFixedRo() {
+ return FEATURE_FLAGS.enabledFixedRo();
+ }
public static boolean enabledRo() {
return FEATURE_FLAGS.enabledRo();
}
@@ -159,6 +164,11 @@
"Method is not implemented.");
}
@Override
+ public boolean enabledFixedRo() {
+ throw new UnsupportedOperationException(
+ "Method is not implemented.");
+ }
+ @Override
public boolean enabledRo() {
throw new UnsupportedOperationException(
"Method is not implemented.");
@@ -211,6 +221,10 @@
);
}
@Override
+ public boolean enabledFixedRo() {
+ return true;
+ }
+ @Override
public boolean enabledRo() {
return true;
}
@@ -311,6 +325,10 @@
return getFlag(Flags.FLAG_DISABLED_RW);
}
@Override
+ public boolean enabledFixedRo() {
+ return getFlag(Flags.FLAG_ENABLED_FIXED_RO);
+ }
+ @Override
public boolean enabledRo() {
return getFlag(Flags.FLAG_ENABLED_RO);
}
@@ -341,6 +359,7 @@
private HashMap<String, Boolean> mFlagMap = Stream.of(
Flags.FLAG_DISABLED_RO,
Flags.FLAG_DISABLED_RW,
+ Flags.FLAG_ENABLED_FIXED_RO,
Flags.FLAG_ENABLED_RO,
Flags.FLAG_ENABLED_RW
)