Loading tools/aconfig/aconfig/src/codegen/java.rs +19 −19 Original line number Original line Diff line number Diff line Loading @@ -24,7 +24,7 @@ use crate::codegen; use crate::codegen::CodegenMode; use crate::codegen::CodegenMode; use crate::commands::{should_include_flag, OutputFile}; use crate::commands::{should_include_flag, OutputFile}; use aconfig_protos::{ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag}; use aconfig_protos::{ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag}; use convert_finalized_flags::{FinalizedFlag, FinalizedFlagMap}; use convert_finalized_flags::{ApiLevel, FinalizedFlag, FinalizedFlagMap}; use std::collections::HashMap; use std::collections::HashMap; // Arguments to configure codegen for generate_java_code. // Arguments to configure codegen for generate_java_code. Loading Loading @@ -169,7 +169,7 @@ struct FlagElement { pub method_name: String, pub method_name: String, pub properties: String, pub properties: String, pub finalized_sdk_present: bool, pub finalized_sdk_present: bool, pub finalized_sdk_value: i32, pub finalized_sdk_check: String, } } fn create_flag_element( fn create_flag_element( Loading Loading @@ -199,16 +199,16 @@ fn create_flag_element( }; }; // An empty map is provided if check_api_level is disabled. // An empty map is provided if check_api_level is disabled. let mut finalized_sdk_present: bool = false; let (finalized_sdk_present, finalized_sdk_value) = if !finalized_flags.is_empty() { let mut finalized_sdk_value: i32 = 0; if !finalized_flags.is_empty() { let finalized_sdk = finalized_flags.get_finalized_level(&FinalizedFlag { let finalized_sdk = finalized_flags.get_finalized_level(&FinalizedFlag { flag_name: pf.name().to_string(), flag_name: pf.name().to_string(), package_name: package.to_string(), package_name: package.to_string(), }); }); finalized_sdk_present = finalized_sdk.is_some(); (finalized_sdk.is_some(), finalized_sdk.unwrap_or(ApiLevel(0))) finalized_sdk_value = finalized_sdk.map(|f| f.0).unwrap_or_default(); } else { } (false, ApiLevel(0)) }; let finalized_sdk_check = finalized_sdk_value.conditional(); FlagElement { FlagElement { container: pf.container().to_string(), container: pf.container().to_string(), Loading @@ -222,7 +222,7 @@ fn create_flag_element( method_name: format_java_method_name(pf.name()), method_name: format_java_method_name(pf.name()), properties: format_property_name(pf.namespace()), properties: format_property_name(pf.namespace()), finalized_sdk_present, finalized_sdk_present, finalized_sdk_value, finalized_sdk_check, } } } } Loading Loading @@ -903,9 +903,9 @@ mod tests { ) ) ); ); private Map<String, Integer> mFinalizedFlags = new HashMap<>( private Map<String, Boolean> mFinalizedFlags = new HashMap<>( Map.ofEntries( Map.ofEntries( Map.entry("", Integer.MAX_VALUE) Map.entry("", false) ) ) ); ); Loading @@ -913,7 +913,7 @@ mod tests { if (!mFinalizedFlags.containsKey(flagName)) { if (!mFinalizedFlags.containsKey(flagName)) { return false; return false; } } return Build.VERSION.SDK_INT >= mFinalizedFlags.get(flagName); return mFinalizedFlags.get(flagName); } } } } "#; "#; Loading Loading @@ -960,7 +960,7 @@ mod tests { assign_flag_ids(crate::test::TEST_PACKAGE, modified_parsed_flags.iter()).unwrap(); assign_flag_ids(crate::test::TEST_PACKAGE, modified_parsed_flags.iter()).unwrap(); let mut finalized_flags = FinalizedFlagMap::new(); let mut finalized_flags = FinalizedFlagMap::new(); finalized_flags.insert_if_new( finalized_flags.insert_if_new( ApiLevel(36), ApiLevel::from_sdk_int(36), FinalizedFlag { FinalizedFlag { flag_name: "disabled_rw_exported".to_string(), flag_name: "disabled_rw_exported".to_string(), package_name: "com.android.aconfig.test".to_string(), package_name: "com.android.aconfig.test".to_string(), Loading Loading @@ -1124,10 +1124,10 @@ mod tests { ) ) ); ); private Map<String, Integer> mFinalizedFlags = new HashMap<>( private Map<String, Boolean> mFinalizedFlags = new HashMap<>( Map.ofEntries( Map.ofEntries( Map.entry(Flags.FLAG_DISABLED_RW_EXPORTED, 36), Map.entry(Flags.FLAG_DISABLED_RW_EXPORTED, Build.VERSION.SDK_INT >= 36 ? true : false), Map.entry("", Integer.MAX_VALUE) Map.entry("", false) ) ) ); ); Loading @@ -1135,7 +1135,7 @@ mod tests { if (!mFinalizedFlags.containsKey(flagName)) { if (!mFinalizedFlags.containsKey(flagName)) { return false; return false; } } return Build.VERSION.SDK_INT >= mFinalizedFlags.get(flagName); return mFinalizedFlags.get(flagName); } } } } "#; "#; Loading Loading @@ -1184,7 +1184,7 @@ mod tests { assign_flag_ids(crate::test::TEST_PACKAGE, modified_parsed_flags.iter()).unwrap(); assign_flag_ids(crate::test::TEST_PACKAGE, modified_parsed_flags.iter()).unwrap(); let mut finalized_flags = FinalizedFlagMap::new(); let mut finalized_flags = FinalizedFlagMap::new(); finalized_flags.insert_if_new( finalized_flags.insert_if_new( ApiLevel(36), ApiLevel::from_sdk_int(36), FinalizedFlag { FinalizedFlag { flag_name: "disabled_rw".to_string(), flag_name: "disabled_rw".to_string(), package_name: "com.android.aconfig.test".to_string(), package_name: "com.android.aconfig.test".to_string(), Loading Loading @@ -1640,7 +1640,7 @@ mod tests { assign_flag_ids(crate::test::TEST_PACKAGE, modified_parsed_flags.iter()).unwrap(); assign_flag_ids(crate::test::TEST_PACKAGE, modified_parsed_flags.iter()).unwrap(); let mut finalized_flags = FinalizedFlagMap::new(); let mut finalized_flags = FinalizedFlagMap::new(); finalized_flags.insert_if_new( finalized_flags.insert_if_new( ApiLevel(36), ApiLevel::from_sdk_int(36), FinalizedFlag { FinalizedFlag { flag_name: "disabled_rw_exported".to_string(), flag_name: "disabled_rw_exported".to_string(), package_name: "com.android.aconfig.test".to_string(), package_name: "com.android.aconfig.test".to_string(), Loading tools/aconfig/aconfig/templates/CustomFeatureFlags.java.template +4 −4 Original line number Original line Diff line number Diff line Loading @@ -82,14 +82,14 @@ public class CustomFeatureFlags implements FeatureFlags \{ ); ); {{ -if library_exported }} {{ -if library_exported }} private Map<String, Integer> mFinalizedFlags = new HashMap<>( private Map<String, Boolean> mFinalizedFlags = new HashMap<>( Map.ofEntries( Map.ofEntries( {{ -for item in flag_elements }} {{ -for item in flag_elements }} {{ -if item.finalized_sdk_present }} {{ -if item.finalized_sdk_present }} Map.entry(Flags.FLAG_{item.flag_name_constant_suffix}, {item.finalized_sdk_value}), Map.entry(Flags.FLAG_{item.flag_name_constant_suffix}, {item.finalized_sdk_check|unescaped} ? true : false), {{ -endif }} {{ -endif }} {{ -endfor }} {{ -endfor }} Map.entry("", Integer.MAX_VALUE){# The empty entry to avoid empty entries #} Map.entry("", false){# The empty entry to avoid empty entries #} ) ) ); ); Loading @@ -97,7 +97,7 @@ public class CustomFeatureFlags implements FeatureFlags \{ if (!mFinalizedFlags.containsKey(flagName)) \{ if (!mFinalizedFlags.containsKey(flagName)) \{ return false; return false; } } return Build.VERSION.SDK_INT >= mFinalizedFlags.get(flagName); return mFinalizedFlags.get(flagName); } } {{ -endif }} {{ -endif }} } } tools/aconfig/aconfig/templates/ExportedFlags.java.template +1 −1 Original line number Original line Diff line number Diff line Loading @@ -37,7 +37,7 @@ public final class ExportedFlags \{ {{ -for flag in flag_elements }} {{ -for flag in flag_elements }} public static boolean {flag.method_name}() \{ public static boolean {flag.method_name}() \{ {{ -if flag.finalized_sdk_present }} {{ -if flag.finalized_sdk_present }} if (Build.VERSION.SDK_INT >= {flag.finalized_sdk_value}) \{ if ({flag.finalized_sdk_check|unescaped}) \{ return true; return true; } } {{ -endif}} {#- end finalized_sdk_present#} {{ -endif}} {#- end finalized_sdk_present#} Loading tools/aconfig/aconfig/templates/FeatureFlagsImpl.exported.java.template +1 −1 Original line number Original line Diff line number Diff line Loading @@ -25,7 +25,7 @@ public final class FeatureFlagsImpl implements FeatureFlags \{ {{ -for namespace_with_flags in namespace_flags }} {{ -for namespace_with_flags in namespace_flags }} {{ -for flag in namespace_with_flags.flags }} {{ -for flag in namespace_with_flags.flags }} {{ -if flag.finalized_sdk_present }} {{ -if flag.finalized_sdk_present }} {flag.method_name} = Build.VERSION.SDK_INT >= {flag.finalized_sdk_value} ? true : reader.getBooleanFlagValue("{flag.flag_name}", {flag.default_value}); {flag.method_name} = {flag.finalized_sdk_check|unescaped} ? true : reader.getBooleanFlagValue("{flag.flag_name}", {flag.default_value}); {{ - else }} {#- else finalized_sdk_present #} {{ - else }} {#- else finalized_sdk_present #} {flag.method_name} = reader.getBooleanFlagValue("{flag.flag_name}", {flag.default_value}); {flag.method_name} = reader.getBooleanFlagValue("{flag.flag_name}", {flag.default_value}); {{ -endif}} {#- end finalized_sdk_present#} {{ -endif}} {#- end finalized_sdk_present#} Loading tools/aconfig/aconfig/templates/Flags.java.template +1 −1 Original line number Original line Diff line number Diff line Loading @@ -35,7 +35,7 @@ public final class Flags \{ public static boolean {item.method_name}() \{ public static boolean {item.method_name}() \{ {{ if library_exported- }} {{ if library_exported- }} {{ -if item.finalized_sdk_present }} {{ -if item.finalized_sdk_present }} if (Build.VERSION.SDK_INT >= {item.finalized_sdk_value}) \{ if ({item.finalized_sdk_check|unescaped}) \{ return true; return true; } } {{ -endif}} {#- end finalized_sdk_present#} {{ -endif}} {#- end finalized_sdk_present#} Loading Loading
tools/aconfig/aconfig/src/codegen/java.rs +19 −19 Original line number Original line Diff line number Diff line Loading @@ -24,7 +24,7 @@ use crate::codegen; use crate::codegen::CodegenMode; use crate::codegen::CodegenMode; use crate::commands::{should_include_flag, OutputFile}; use crate::commands::{should_include_flag, OutputFile}; use aconfig_protos::{ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag}; use aconfig_protos::{ProtoFlagPermission, ProtoFlagState, ProtoParsedFlag}; use convert_finalized_flags::{FinalizedFlag, FinalizedFlagMap}; use convert_finalized_flags::{ApiLevel, FinalizedFlag, FinalizedFlagMap}; use std::collections::HashMap; use std::collections::HashMap; // Arguments to configure codegen for generate_java_code. // Arguments to configure codegen for generate_java_code. Loading Loading @@ -169,7 +169,7 @@ struct FlagElement { pub method_name: String, pub method_name: String, pub properties: String, pub properties: String, pub finalized_sdk_present: bool, pub finalized_sdk_present: bool, pub finalized_sdk_value: i32, pub finalized_sdk_check: String, } } fn create_flag_element( fn create_flag_element( Loading Loading @@ -199,16 +199,16 @@ fn create_flag_element( }; }; // An empty map is provided if check_api_level is disabled. // An empty map is provided if check_api_level is disabled. let mut finalized_sdk_present: bool = false; let (finalized_sdk_present, finalized_sdk_value) = if !finalized_flags.is_empty() { let mut finalized_sdk_value: i32 = 0; if !finalized_flags.is_empty() { let finalized_sdk = finalized_flags.get_finalized_level(&FinalizedFlag { let finalized_sdk = finalized_flags.get_finalized_level(&FinalizedFlag { flag_name: pf.name().to_string(), flag_name: pf.name().to_string(), package_name: package.to_string(), package_name: package.to_string(), }); }); finalized_sdk_present = finalized_sdk.is_some(); (finalized_sdk.is_some(), finalized_sdk.unwrap_or(ApiLevel(0))) finalized_sdk_value = finalized_sdk.map(|f| f.0).unwrap_or_default(); } else { } (false, ApiLevel(0)) }; let finalized_sdk_check = finalized_sdk_value.conditional(); FlagElement { FlagElement { container: pf.container().to_string(), container: pf.container().to_string(), Loading @@ -222,7 +222,7 @@ fn create_flag_element( method_name: format_java_method_name(pf.name()), method_name: format_java_method_name(pf.name()), properties: format_property_name(pf.namespace()), properties: format_property_name(pf.namespace()), finalized_sdk_present, finalized_sdk_present, finalized_sdk_value, finalized_sdk_check, } } } } Loading Loading @@ -903,9 +903,9 @@ mod tests { ) ) ); ); private Map<String, Integer> mFinalizedFlags = new HashMap<>( private Map<String, Boolean> mFinalizedFlags = new HashMap<>( Map.ofEntries( Map.ofEntries( Map.entry("", Integer.MAX_VALUE) Map.entry("", false) ) ) ); ); Loading @@ -913,7 +913,7 @@ mod tests { if (!mFinalizedFlags.containsKey(flagName)) { if (!mFinalizedFlags.containsKey(flagName)) { return false; return false; } } return Build.VERSION.SDK_INT >= mFinalizedFlags.get(flagName); return mFinalizedFlags.get(flagName); } } } } "#; "#; Loading Loading @@ -960,7 +960,7 @@ mod tests { assign_flag_ids(crate::test::TEST_PACKAGE, modified_parsed_flags.iter()).unwrap(); assign_flag_ids(crate::test::TEST_PACKAGE, modified_parsed_flags.iter()).unwrap(); let mut finalized_flags = FinalizedFlagMap::new(); let mut finalized_flags = FinalizedFlagMap::new(); finalized_flags.insert_if_new( finalized_flags.insert_if_new( ApiLevel(36), ApiLevel::from_sdk_int(36), FinalizedFlag { FinalizedFlag { flag_name: "disabled_rw_exported".to_string(), flag_name: "disabled_rw_exported".to_string(), package_name: "com.android.aconfig.test".to_string(), package_name: "com.android.aconfig.test".to_string(), Loading Loading @@ -1124,10 +1124,10 @@ mod tests { ) ) ); ); private Map<String, Integer> mFinalizedFlags = new HashMap<>( private Map<String, Boolean> mFinalizedFlags = new HashMap<>( Map.ofEntries( Map.ofEntries( Map.entry(Flags.FLAG_DISABLED_RW_EXPORTED, 36), Map.entry(Flags.FLAG_DISABLED_RW_EXPORTED, Build.VERSION.SDK_INT >= 36 ? true : false), Map.entry("", Integer.MAX_VALUE) Map.entry("", false) ) ) ); ); Loading @@ -1135,7 +1135,7 @@ mod tests { if (!mFinalizedFlags.containsKey(flagName)) { if (!mFinalizedFlags.containsKey(flagName)) { return false; return false; } } return Build.VERSION.SDK_INT >= mFinalizedFlags.get(flagName); return mFinalizedFlags.get(flagName); } } } } "#; "#; Loading Loading @@ -1184,7 +1184,7 @@ mod tests { assign_flag_ids(crate::test::TEST_PACKAGE, modified_parsed_flags.iter()).unwrap(); assign_flag_ids(crate::test::TEST_PACKAGE, modified_parsed_flags.iter()).unwrap(); let mut finalized_flags = FinalizedFlagMap::new(); let mut finalized_flags = FinalizedFlagMap::new(); finalized_flags.insert_if_new( finalized_flags.insert_if_new( ApiLevel(36), ApiLevel::from_sdk_int(36), FinalizedFlag { FinalizedFlag { flag_name: "disabled_rw".to_string(), flag_name: "disabled_rw".to_string(), package_name: "com.android.aconfig.test".to_string(), package_name: "com.android.aconfig.test".to_string(), Loading Loading @@ -1640,7 +1640,7 @@ mod tests { assign_flag_ids(crate::test::TEST_PACKAGE, modified_parsed_flags.iter()).unwrap(); assign_flag_ids(crate::test::TEST_PACKAGE, modified_parsed_flags.iter()).unwrap(); let mut finalized_flags = FinalizedFlagMap::new(); let mut finalized_flags = FinalizedFlagMap::new(); finalized_flags.insert_if_new( finalized_flags.insert_if_new( ApiLevel(36), ApiLevel::from_sdk_int(36), FinalizedFlag { FinalizedFlag { flag_name: "disabled_rw_exported".to_string(), flag_name: "disabled_rw_exported".to_string(), package_name: "com.android.aconfig.test".to_string(), package_name: "com.android.aconfig.test".to_string(), Loading
tools/aconfig/aconfig/templates/CustomFeatureFlags.java.template +4 −4 Original line number Original line Diff line number Diff line Loading @@ -82,14 +82,14 @@ public class CustomFeatureFlags implements FeatureFlags \{ ); ); {{ -if library_exported }} {{ -if library_exported }} private Map<String, Integer> mFinalizedFlags = new HashMap<>( private Map<String, Boolean> mFinalizedFlags = new HashMap<>( Map.ofEntries( Map.ofEntries( {{ -for item in flag_elements }} {{ -for item in flag_elements }} {{ -if item.finalized_sdk_present }} {{ -if item.finalized_sdk_present }} Map.entry(Flags.FLAG_{item.flag_name_constant_suffix}, {item.finalized_sdk_value}), Map.entry(Flags.FLAG_{item.flag_name_constant_suffix}, {item.finalized_sdk_check|unescaped} ? true : false), {{ -endif }} {{ -endif }} {{ -endfor }} {{ -endfor }} Map.entry("", Integer.MAX_VALUE){# The empty entry to avoid empty entries #} Map.entry("", false){# The empty entry to avoid empty entries #} ) ) ); ); Loading @@ -97,7 +97,7 @@ public class CustomFeatureFlags implements FeatureFlags \{ if (!mFinalizedFlags.containsKey(flagName)) \{ if (!mFinalizedFlags.containsKey(flagName)) \{ return false; return false; } } return Build.VERSION.SDK_INT >= mFinalizedFlags.get(flagName); return mFinalizedFlags.get(flagName); } } {{ -endif }} {{ -endif }} } }
tools/aconfig/aconfig/templates/ExportedFlags.java.template +1 −1 Original line number Original line Diff line number Diff line Loading @@ -37,7 +37,7 @@ public final class ExportedFlags \{ {{ -for flag in flag_elements }} {{ -for flag in flag_elements }} public static boolean {flag.method_name}() \{ public static boolean {flag.method_name}() \{ {{ -if flag.finalized_sdk_present }} {{ -if flag.finalized_sdk_present }} if (Build.VERSION.SDK_INT >= {flag.finalized_sdk_value}) \{ if ({flag.finalized_sdk_check|unescaped}) \{ return true; return true; } } {{ -endif}} {#- end finalized_sdk_present#} {{ -endif}} {#- end finalized_sdk_present#} Loading
tools/aconfig/aconfig/templates/FeatureFlagsImpl.exported.java.template +1 −1 Original line number Original line Diff line number Diff line Loading @@ -25,7 +25,7 @@ public final class FeatureFlagsImpl implements FeatureFlags \{ {{ -for namespace_with_flags in namespace_flags }} {{ -for namespace_with_flags in namespace_flags }} {{ -for flag in namespace_with_flags.flags }} {{ -for flag in namespace_with_flags.flags }} {{ -if flag.finalized_sdk_present }} {{ -if flag.finalized_sdk_present }} {flag.method_name} = Build.VERSION.SDK_INT >= {flag.finalized_sdk_value} ? true : reader.getBooleanFlagValue("{flag.flag_name}", {flag.default_value}); {flag.method_name} = {flag.finalized_sdk_check|unescaped} ? true : reader.getBooleanFlagValue("{flag.flag_name}", {flag.default_value}); {{ - else }} {#- else finalized_sdk_present #} {{ - else }} {#- else finalized_sdk_present #} {flag.method_name} = reader.getBooleanFlagValue("{flag.flag_name}", {flag.default_value}); {flag.method_name} = reader.getBooleanFlagValue("{flag.flag_name}", {flag.default_value}); {{ -endif}} {#- end finalized_sdk_present#} {{ -endif}} {#- end finalized_sdk_present#} Loading
tools/aconfig/aconfig/templates/Flags.java.template +1 −1 Original line number Original line Diff line number Diff line Loading @@ -35,7 +35,7 @@ public final class Flags \{ public static boolean {item.method_name}() \{ public static boolean {item.method_name}() \{ {{ if library_exported- }} {{ if library_exported- }} {{ -if item.finalized_sdk_present }} {{ -if item.finalized_sdk_present }} if (Build.VERSION.SDK_INT >= {item.finalized_sdk_value}) \{ if ({item.finalized_sdk_check|unescaped}) \{ return true; return true; } } {{ -endif}} {#- end finalized_sdk_present#} {{ -endif}} {#- end finalized_sdk_present#} Loading