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

Function decodeDimension

core/os/android/binaryxml/value.go:158–181  ·  view source on GitHub ↗
(r binary.Reader)

Source from the content-addressed store, hash-verified

156}
157
158func decodeDimension(r binary.Reader) (typedValue, error) {
159 radixes := []float32{1.0 / (1 << 8),
160 1.0 / (1 << 15),
161 1.0 / (1 << 23),
162 1.0 / (1 << 31)}
163 v := r.Uint32()
164 fval := float32(int32(v&0xffffff00)) * radixes[(v>>4)&0x3]
165 switch v & 0xf {
166 case 0:
167 return valFloatPx(fval), nil
168 case 1:
169 return valFloatDp(fval), nil
170 case 2:
171 return valFloatSp(fval), nil
172 case 3:
173 return valFloatPt(fval), nil
174 case 4:
175 return valFloatIn(fval), nil
176 case 5:
177 return valFloatMm(fval), nil
178 default:
179 return nil, fmt.Errorf("Unknown dimension format %d", v&0xf)
180 }
181}
182
183func decodeValue(r binary.Reader, xml *xmlTree) (typedValue, error) {
184 size := r.Uint16()

Callers 1

decodeValueFunction · 0.85

Calls 7

valFloatPxTypeAlias · 0.85
valFloatDpTypeAlias · 0.85
valFloatSpTypeAlias · 0.85
valFloatPtTypeAlias · 0.85
valFloatInTypeAlias · 0.85
valFloatMmTypeAlias · 0.85
Uint32Method · 0.65

Tested by

no test coverage detected