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

Commit f52251ae authored by Dennis Shen's avatar Dennis Shen Committed by Automerger Merge Worker
Browse files

Merge "aconfig: syntax update, as_bytes to into_bytes to be more appropriate"...

Merge "aconfig: syntax update, as_bytes to into_bytes to be more appropriate" into main am: 88899887 am: 38076cb0

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



Change-Id: I593eaa6047bbd51ddffee76458f251451033438d
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 76f3df80 38076cb0
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -95,10 +95,10 @@ pub fn create_flag_table(container: &str, packages: &[FlagPackage]) -> Result<Fl
        .concat();

    // initialize all header fields
    header.bucket_offset = header.as_bytes().len() as u32;
    header.bucket_offset = header.into_bytes().len() as u32;
    header.node_offset = header.bucket_offset + num_buckets * 4;
    header.file_size = header.node_offset
        + node_wrappers.iter().map(|x| x.node.as_bytes().len()).sum::<usize>() as u32;
        + node_wrappers.iter().map(|x| x.node.into_bytes().len()).sum::<usize>() as u32;

    // sort nodes by bucket index for efficiency
    node_wrappers.sort_by(|a, b| a.bucket_index.cmp(&b.bucket_index));
@@ -116,7 +116,7 @@ pub fn create_flag_table(container: &str, packages: &[FlagPackage]) -> Result<Fl
        if buckets[node_bucket_idx as usize].is_none() {
            buckets[node_bucket_idx as usize] = Some(offset);
        }
        offset += node_wrappers[i].node.as_bytes().len() as u32;
        offset += node_wrappers[i].node.into_bytes().len() as u32;

        if let Some(index) = next_node_bucket_idx {
            if index == node_bucket_idx {
+1 −1
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ pub fn create_flag_value(container: &str, packages: &[FlagPackage]) -> Result<Fl
    }

    // initialize all header fields
    list.header.boolean_value_offset = list.header.as_bytes().len() as u32;
    list.header.boolean_value_offset = list.header.into_bytes().len() as u32;
    list.header.file_size = list.header.boolean_value_offset + num_flags;

    Ok(list)
+3 −3
Original line number Diff line number Diff line
@@ -97,15 +97,15 @@ where
    match file {
        StorageFileType::PackageMap => {
            let package_table = create_package_table(container, &packages)?;
            Ok(package_table.as_bytes())
            Ok(package_table.into_bytes())
        }
        StorageFileType::FlagMap => {
            let flag_table = create_flag_table(container, &packages)?;
            Ok(flag_table.as_bytes())
            Ok(flag_table.into_bytes())
        }
        StorageFileType::FlagVal => {
            let flag_value = create_flag_value(container, &packages)?;
            Ok(flag_value.as_bytes())
            Ok(flag_value.into_bytes())
        }
        _ => Err(anyhow!("aconfig does not support the creation of this storage file type")),
    }
+3 −3
Original line number Diff line number Diff line
@@ -66,10 +66,10 @@ pub fn create_package_table(container: &str, packages: &[FlagPackage]) -> Result
        packages.iter().map(|pkg| PackageTableNodeWrapper::new(pkg, num_buckets)).collect();

    // initialize all header fields
    header.bucket_offset = header.as_bytes().len() as u32;
    header.bucket_offset = header.into_bytes().len() as u32;
    header.node_offset = header.bucket_offset + num_buckets * 4;
    header.file_size = header.node_offset
        + node_wrappers.iter().map(|x| x.node.as_bytes().len()).sum::<usize>() as u32;
        + node_wrappers.iter().map(|x| x.node.into_bytes().len()).sum::<usize>() as u32;

    // sort node_wrappers by bucket index for efficiency
    node_wrappers.sort_by(|a, b| a.bucket_index.cmp(&b.bucket_index));
@@ -87,7 +87,7 @@ pub fn create_package_table(container: &str, packages: &[FlagPackage]) -> Result
        if buckets[node_bucket_idx as usize].is_none() {
            buckets[node_bucket_idx as usize] = Some(offset);
        }
        offset += node_wrappers[i].node.as_bytes().len() as u32;
        offset += node_wrappers[i].node.into_bytes().len() as u32;

        if let Some(index) = next_node_bucket_idx {
            if index == node_bucket_idx {
+12 −12
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ impl fmt::Debug for FlagInfoHeader {

impl FlagInfoHeader {
    /// Serialize to bytes
    pub fn as_bytes(&self) -> Vec<u8> {
    pub fn into_bytes(&self) -> Vec<u8> {
        let mut result = Vec::new();
        result.extend_from_slice(&self.version.to_le_bytes());
        let container_bytes = self.container.as_bytes();
@@ -118,7 +118,7 @@ impl fmt::Debug for FlagInfoNode {

impl FlagInfoNode {
    /// Serialize to bytes
    pub fn as_bytes(&self) -> Vec<u8> {
    pub fn into_bytes(&self) -> Vec<u8> {
        let mut result = Vec::new();
        result.extend_from_slice(&self.attributes.to_le_bytes());
        result
@@ -154,10 +154,10 @@ impl fmt::Debug for FlagInfoList {

impl FlagInfoList {
    /// Serialize to bytes
    pub fn as_bytes(&self) -> Vec<u8> {
    pub fn into_bytes(&self) -> Vec<u8> {
        [
            self.header.as_bytes(),
            self.nodes.iter().map(|v| v.as_bytes()).collect::<Vec<_>>().concat(),
            self.header.into_bytes(),
            self.nodes.iter().map(|v| v.into_bytes()).collect::<Vec<_>>().concat(),
        ]
        .concat()
    }
@@ -166,11 +166,11 @@ impl FlagInfoList {
    pub fn from_bytes(bytes: &[u8]) -> Result<Self, AconfigStorageError> {
        let header = FlagInfoHeader::from_bytes(bytes)?;
        let num_flags = header.num_flags;
        let mut head = header.as_bytes().len();
        let mut head = header.into_bytes().len();
        let nodes = (0..num_flags)
            .map(|_| {
                let node = FlagInfoNode::from_bytes(&bytes[head..])?;
                head += node.as_bytes().len();
                head += node.into_bytes().len();
                Ok(node)
            })
            .collect::<Result<Vec<_>, AconfigStorageError>>()
@@ -196,17 +196,17 @@ mod tests {
        let flag_info_list = create_test_flag_info_list();

        let header: &FlagInfoHeader = &flag_info_list.header;
        let reinterpreted_header = FlagInfoHeader::from_bytes(&header.as_bytes());
        let reinterpreted_header = FlagInfoHeader::from_bytes(&header.into_bytes());
        assert!(reinterpreted_header.is_ok());
        assert_eq!(header, &reinterpreted_header.unwrap());

        let nodes: &Vec<FlagInfoNode> = &flag_info_list.nodes;
        for node in nodes.iter() {
            let reinterpreted_node = FlagInfoNode::from_bytes(&node.as_bytes()).unwrap();
            let reinterpreted_node = FlagInfoNode::from_bytes(&node.into_bytes()).unwrap();
            assert_eq!(node, &reinterpreted_node);
        }

        let flag_info_bytes = flag_info_list.as_bytes();
        let flag_info_bytes = flag_info_list.into_bytes();
        let reinterpreted_info_list = FlagInfoList::from_bytes(&flag_info_bytes);
        assert!(reinterpreted_info_list.is_ok());
        assert_eq!(&flag_info_list, &reinterpreted_info_list.unwrap());
@@ -218,7 +218,7 @@ mod tests {
    // bytes
    fn test_version_number() {
        let flag_info_list = create_test_flag_info_list();
        let bytes = &flag_info_list.as_bytes();
        let bytes = &flag_info_list.into_bytes();
        let mut head = 0;
        let version = read_u32_from_bytes(bytes, &mut head).unwrap();
        assert_eq!(version, 1234)
@@ -229,7 +229,7 @@ mod tests {
    fn test_file_type_check() {
        let mut flag_info_list = create_test_flag_info_list();
        flag_info_list.header.file_type = 123u8;
        let error = FlagInfoList::from_bytes(&flag_info_list.as_bytes()).unwrap_err();
        let error = FlagInfoList::from_bytes(&flag_info_list.into_bytes()).unwrap_err();
        assert_eq!(
            format!("{:?}", error),
            format!("BytesParseFail(binary file is not a flag info file)")
Loading