Map.of can only take 10 entries. Map.ofEntries uses variable arguments. Bug: 303045451 Test: atest AconfigJavaHostTest Change-Id: I26a3fa0b8a731f9203934d4a800a5c695cfc730f
48 lines
1.3 KiB
Plaintext
48 lines
1.3 KiB
Plaintext
package {package_name};
|
|
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
/** @hide */
|
|
public class FakeFeatureFlagsImpl implements FeatureFlags \{
|
|
public FakeFeatureFlagsImpl() \{
|
|
resetAll();
|
|
}
|
|
|
|
{{ for item in class_elements}}
|
|
@Override
|
|
public boolean {item.method_name}() \{
|
|
return getValue(Flags.FLAG_{item.flag_name_constant_suffix});
|
|
}
|
|
{{ endfor}}
|
|
public void setFlag(String flagName, boolean value) \{
|
|
if (!this.mFlagMap.containsKey(flagName)) \{
|
|
throw new IllegalArgumentException("no such flag " + flagName);
|
|
}
|
|
this.mFlagMap.put(flagName, value);
|
|
}
|
|
|
|
public void resetAll() \{
|
|
for (Map.Entry entry : mFlagMap.entrySet()) \{
|
|
entry.setValue(null);
|
|
}
|
|
}
|
|
|
|
private boolean getValue(String flagName) \{
|
|
Boolean value = this.mFlagMap.get(flagName);
|
|
if (value == null) \{
|
|
throw new IllegalArgumentException(flagName + " is not set");
|
|
}
|
|
return value;
|
|
}
|
|
|
|
private Map<String, Boolean> mFlagMap = new HashMap<>(
|
|
Map.ofEntries(
|
|
{{-for item in class_elements}}
|
|
Map.entry(Flags.FLAG_{item.flag_name_constant_suffix}, false)
|
|
{{ -if not @last }},{{ endif }}
|
|
{{ -endfor }}
|
|
)
|
|
);
|
|
}
|