Merge "aconfig: add isOptimizationEnabled in FakeFeatureFlagsImpl" into main am: d09505cc62 am: 4a29d17d3e

Original change: https://android-review.googlesource.com/c/platform/build/+/2925520

Change-Id: I3fa5fc729146a270cf407942cb6d1534ba85f156
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Zhi Dou
2024-01-25 20:18:22 +00:00
committed by Automerger Merge Worker
2 changed files with 96 additions and 1 deletions

View File

@@ -278,8 +278,11 @@ mod tests {
package com.android.aconfig.test; package com.android.aconfig.test;
// TODO(b/303773055): Remove the annotation after access issue is resolved. // TODO(b/303773055): Remove the annotation after access issue is resolved.
import android.compat.annotation.UnsupportedAppUsage; import android.compat.annotation.UnsupportedAppUsage;
import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set;
/** @hide */ /** @hide */
public class FakeFeatureFlagsImpl implements FeatureFlags { public class FakeFeatureFlagsImpl implements FeatureFlags {
public FakeFeatureFlagsImpl() { public FakeFeatureFlagsImpl() {
@@ -341,6 +344,13 @@ mod tests {
entry.setValue(null); entry.setValue(null);
} }
} }
public boolean isFlagReadOnlyOptimized(String flagName) {
if (mReadOnlyFlagsSet.contains(flagName) &&
isOptimizationEnabled()) {
return true;
}
return false;
}
private boolean getValue(String flagName) { private boolean getValue(String flagName) {
Boolean value = this.mFlagMap.get(flagName); Boolean value = this.mFlagMap.get(flagName);
if (value == null) { if (value == null) {
@@ -348,6 +358,10 @@ mod tests {
} }
return value; return value;
} }
@com.android.aconfig.annotations.AssumeTrueForR8
private boolean isOptimizationEnabled() {
return false;
}
private Map<String, Boolean> mFlagMap = new HashMap<>( private Map<String, Boolean> mFlagMap = new HashMap<>(
Map.ofEntries( Map.ofEntries(
Map.entry(Flags.FLAG_DISABLED_RO, false), Map.entry(Flags.FLAG_DISABLED_RO, false),
@@ -361,6 +375,16 @@ mod tests {
Map.entry(Flags.FLAG_ENABLED_RW, false) Map.entry(Flags.FLAG_ENABLED_RW, false)
) )
); );
private Set<String> mReadOnlyFlagsSet = new HashSet<>(
Arrays.asList(
Flags.FLAG_DISABLED_RO,
Flags.FLAG_ENABLED_FIXED_RO,
Flags.FLAG_ENABLED_FIXED_RO_EXPORTED,
Flags.FLAG_ENABLED_RO,
Flags.FLAG_ENABLED_RO_EXPORTED,
""
)
);
} }
"#; "#;
@@ -644,8 +668,11 @@ mod tests {
package com.android.aconfig.test; package com.android.aconfig.test;
// TODO(b/303773055): Remove the annotation after access issue is resolved. // TODO(b/303773055): Remove the annotation after access issue is resolved.
import android.compat.annotation.UnsupportedAppUsage; import android.compat.annotation.UnsupportedAppUsage;
import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set;
/** @hide */ /** @hide */
public class FakeFeatureFlagsImpl implements FeatureFlags { public class FakeFeatureFlagsImpl implements FeatureFlags {
public FakeFeatureFlagsImpl() { public FakeFeatureFlagsImpl() {
@@ -677,6 +704,13 @@ mod tests {
entry.setValue(null); entry.setValue(null);
} }
} }
public boolean isFlagReadOnlyOptimized(String flagName) {
if (mReadOnlyFlagsSet.contains(flagName) &&
isOptimizationEnabled()) {
return true;
}
return false;
}
private boolean getValue(String flagName) { private boolean getValue(String flagName) {
Boolean value = this.mFlagMap.get(flagName); Boolean value = this.mFlagMap.get(flagName);
if (value == null) { if (value == null) {
@@ -684,6 +718,10 @@ mod tests {
} }
return value; return value;
} }
@com.android.aconfig.annotations.AssumeTrueForR8
private boolean isOptimizationEnabled() {
return false;
}
private Map<String, Boolean> mFlagMap = new HashMap<>( private Map<String, Boolean> mFlagMap = new HashMap<>(
Map.ofEntries( Map.ofEntries(
Map.entry(Flags.FLAG_DISABLED_RW_EXPORTED, false), Map.entry(Flags.FLAG_DISABLED_RW_EXPORTED, false),
@@ -691,6 +729,11 @@ mod tests {
Map.entry(Flags.FLAG_ENABLED_RO_EXPORTED, false) Map.entry(Flags.FLAG_ENABLED_RO_EXPORTED, false)
) )
); );
private Set<String> mReadOnlyFlagsSet = new HashSet<>(
Arrays.asList(
""
)
);
} }
"#; "#;
@@ -964,8 +1007,11 @@ mod tests {
package com.android.aconfig.test; package com.android.aconfig.test;
// TODO(b/303773055): Remove the annotation after access issue is resolved. // TODO(b/303773055): Remove the annotation after access issue is resolved.
import android.compat.annotation.UnsupportedAppUsage; import android.compat.annotation.UnsupportedAppUsage;
import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set;
/** @hide */ /** @hide */
public class FakeFeatureFlagsImpl implements FeatureFlags { public class FakeFeatureFlagsImpl implements FeatureFlags {
public FakeFeatureFlagsImpl() { public FakeFeatureFlagsImpl() {
@@ -1012,6 +1058,13 @@ mod tests {
entry.setValue(null); entry.setValue(null);
} }
} }
public boolean isFlagReadOnlyOptimized(String flagName) {
if (mReadOnlyFlagsSet.contains(flagName) &&
isOptimizationEnabled()) {
return true;
}
return false;
}
private boolean getValue(String flagName) { private boolean getValue(String flagName) {
Boolean value = this.mFlagMap.get(flagName); Boolean value = this.mFlagMap.get(flagName);
if (value == null) { if (value == null) {
@@ -1019,6 +1072,10 @@ mod tests {
} }
return value; return value;
} }
@com.android.aconfig.annotations.AssumeTrueForR8
private boolean isOptimizationEnabled() {
return false;
}
private Map<String, Boolean> mFlagMap = new HashMap<>( private Map<String, Boolean> mFlagMap = new HashMap<>(
Map.ofEntries( Map.ofEntries(
Map.entry(Flags.FLAG_DISABLED_RO, false), Map.entry(Flags.FLAG_DISABLED_RO, false),
@@ -1029,6 +1086,17 @@ mod tests {
Map.entry(Flags.FLAG_ENABLED_RW, false) Map.entry(Flags.FLAG_ENABLED_RW, false)
) )
); );
private Set<String> mReadOnlyFlagsSet = new HashSet<>(
Arrays.asList(
Flags.FLAG_DISABLED_RO,
Flags.FLAG_DISABLED_RW,
Flags.FLAG_DISABLED_RW_IN_OTHER_NAMESPACE,
Flags.FLAG_ENABLED_FIXED_RO,
Flags.FLAG_ENABLED_RO,
Flags.FLAG_ENABLED_RW,
""
)
);
} }
"#; "#;
let mut file_set = HashMap::from([ let mut file_set = HashMap::from([

View File

@@ -2,8 +2,11 @@ package {package_name};
// TODO(b/303773055): Remove the annotation after access issue is resolved. // TODO(b/303773055): Remove the annotation after access issue is resolved.
import android.compat.annotation.UnsupportedAppUsage; import android.compat.annotation.UnsupportedAppUsage;
import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set;
/** @hide */ /** @hide */
public class FakeFeatureFlagsImpl implements FeatureFlags \{ public class FakeFeatureFlagsImpl implements FeatureFlags \{
@@ -31,6 +34,14 @@ public class FakeFeatureFlagsImpl implements FeatureFlags \{
} }
} }
public boolean isFlagReadOnlyOptimized(String flagName) \{
if (mReadOnlyFlagsSet.contains(flagName) &&
isOptimizationEnabled()) \{
return true;
}
return false;
}
private boolean getValue(String flagName) \{ private boolean getValue(String flagName) \{
Boolean value = this.mFlagMap.get(flagName); Boolean value = this.mFlagMap.get(flagName);
if (value == null) \{ if (value == null) \{
@@ -39,12 +50,28 @@ public class FakeFeatureFlagsImpl implements FeatureFlags \{
return value; return value;
} }
@com.android.aconfig.annotations.AssumeTrueForR8
private boolean isOptimizationEnabled() \{
return false;
}
private Map<String, Boolean> mFlagMap = new HashMap<>( private Map<String, Boolean> mFlagMap = new HashMap<>(
Map.ofEntries( Map.ofEntries(
{{-for item in flag_elements}} {{ -for item in flag_elements }}
Map.entry(Flags.FLAG_{item.flag_name_constant_suffix}, false) Map.entry(Flags.FLAG_{item.flag_name_constant_suffix}, false)
{{ -if not @last }},{{ endif }} {{ -if not @last }},{{ endif }}
{{ -endfor }} {{ -endfor }}
) )
); );
private Set<String> mReadOnlyFlagsSet = new HashSet<>(
Arrays.asList(
{{ -for item in flag_elements }}
{{ -if not item.is_read_write }}
Flags.FLAG_{item.flag_name_constant_suffix},
{{ -endif }}
{{ -endfor }}
""{# The empty string here is to resolve the ending comma #}
)
);
} }