diff --git a/src/launchpad/artifacts/android/manifest/proto_xml.py b/src/launchpad/artifacts/android/manifest/proto_xml.py index edd8ebe4..29a61b52 100644 --- a/src/launchpad/artifacts/android/manifest/proto_xml.py +++ b/src/launchpad/artifacts/android/manifest/proto_xml.py @@ -356,11 +356,11 @@ def _get_optional_attr_value( if not value: logger.debug("could not find string value for attribute matching filter, trying to parse compiled value") - if not attribute.compiled_item: + compiled_item = getattr(attribute, "compiled_item", None) + if not compiled_item: logger.debug("could not find compiledItem for attribute matching filter") return None - compiled_item = attribute.compiled_item if compiled_item.HasField("str"): return str(compiled_item.str.value) elif compiled_item.HasField("ref"): diff --git a/src/launchpad/parsers/android/icon/icon_parser.py b/src/launchpad/parsers/android/icon/icon_parser.py index 5f9d9c14..0b019f7a 100644 --- a/src/launchpad/parsers/android/icon/icon_parser.py +++ b/src/launchpad/parsers/android/icon/icon_parser.py @@ -141,8 +141,8 @@ def _render_adaptive_icon(self, root_element: XmlNode) -> bytes | None: def _render_vector_drawable(self, root_element: XmlNode) -> bytes | None: # Extract vector attributes - width = self._get_attr_value(root_element.attributes, "width", required=True) - height = self._get_attr_value(root_element.attributes, "height", required=True) + width = self._get_attr_value(root_element.attributes, "width") + height = self._get_attr_value(root_element.attributes, "height") viewport_width = self._get_attr_value(root_element.attributes, "viewportWidth") viewport_height = self._get_attr_value(root_element.attributes, "viewportHeight") tint = self._get_attr_value(root_element.attributes, "tint")