camera_metadata: add typedefs for java generated code

Change-Id: I619261b9645cda669a3b5ee7c79f4c56d4d4c3d4
diff --git a/camera/docs/metadata_parser_xml.py b/camera/docs/metadata_parser_xml.py
index 4e5c35f..f0ed12e 100755
--- a/camera/docs/metadata_parser_xml.py
+++ b/camera/docs/metadata_parser_xml.py
@@ -107,6 +107,15 @@
       for tag in tags.find_all('tag'):
         self.metadata.insert_tag(tag['id'], tag.string)
 
+    types = self.soup.types
+    if types is not None:
+      for tp in types.find_all('typedef'):
+        languages = {}
+        for lang in tp.find_all('language'):
+          languages[lang['name']] = lang.string
+
+        self.metadata.insert_type(tp['name'], 'typedef', languages=languages)
+
     # add all entries, preserving the ordering of the XML file
     # this is important for future ABI compatibility when generating code
     entry_filter = lambda x: x.name == 'entry' or x.name == 'clone'
@@ -149,6 +158,11 @@
     d['visibility'] = entry.get('visibility')
 
     #
+    # Typedef
+    #
+    d['type_name'] = entry.get('typedef')
+
+    #
     # Enum
     #
     if entry.get('enum', 'false') == 'true':