MCPcopy Create free account
hub / github.com/google/gapid / decode

Method decode

core/os/android/binaryxml/xml_tree.go:62–94  ·  view source on GitHub ↗
(header, data []byte)

Source from the content-addressed store, hash-verified

60}
61
62func (c *xmlTree) decode(header, data []byte) error {
63 r := endian.Reader(bytes.NewReader(data), device.LittleEndian)
64
65 var chunk chunk
66 var err error
67 var ok bool
68
69 if chunk, err = decodeChunk(r, c); err != nil {
70 return err
71 }
72 if c.strings, ok = chunk.(*stringPool); !ok {
73 return fmt.Errorf("Expected string pool chunk, got %T", chunk)
74 }
75
76 if chunk, err = decodeChunk(r, c); err != nil {
77 return err
78 }
79 if c.resourceMap, ok = chunk.(*xmlResourceMap); !ok {
80 return fmt.Errorf("Expected resource map chunk, got %T", chunk)
81 }
82
83 for {
84 chunk, err = decodeChunk(r, c)
85 switch err {
86 case nil:
87 case io.EOF:
88 return nil
89 default:
90 return err
91 }
92 c.chunks = append(c.chunks, chunk)
93 }
94}
95
96func (c *xmlTree) encode() []byte {
97 return encodeChunk(resXMLType, func(w binary.Writer) {

Callers

nothing calls this directly

Calls 3

decodeChunkFunction · 0.85
ReaderMethod · 0.65
NewReaderMethod · 0.65

Tested by

no test coverage detected