Clean up and optimise refactor.
Clean up:
- Fixed corner case bugs with AddDiffs by implementing UiHierarchyTreeNode#isOldNode
- Split fake_proto_test.proto into separate test protos for different responsibilities
- Computations: renamed execute to executeInPlace() and changed return type from TN to void for clarity
- Introduced AddCompositionType operation to remove presenter-side dependency on proto (in AddChips)
- Removed reqShadowRadius from curated properties UI
- Renamed event handlers in SF presenter
- Update README to reflect that we don't have prebuilts any more
Optimisations:
- No longer return node in Operation#apply, only in OperationChain#apply.
- Reused operation instances by creating static objects on SF parsers and Sf parser utils - no need to create a new operation per layer, for example.
- TranslateIntDef#getIntFlagsAsStrings: replaced array implementation with string implementation
- Removed HierarchyTreeNodeBuilder, shifting its logic into HierarchyTreeBuilderSf
layers_trace.perfetto_trace latency reduced from 25-30ms to ~10ms for `makeHierarchyTree`.
Bug: b/311643292
Test: npm run test:unit:ci
Change-Id: I07c35d7d5ccd8bd6e0ede0b7e42f9d8676c6b70d
59 files changed