diff options
| author | 2024-12-18 14:40:41 -0500 | |
|---|---|---|
| committer | 2024-12-20 11:03:16 -0500 | |
| commit | 4c5947edaf64d12ffd41ecba8bf629a8e9738ad0 (patch) | |
| tree | 59b4605cd6393c15b091db65de52975868451134 /libs/androidfw/StringPool.cpp | |
| parent | 977e067949ef34a3e899f73acf62cf4617715b60 (diff) | |
Some fixes for performance
* Add @Immutable to some classes
* Use a QSTile.Icon instead of a Supplier in TileUiState to properly
  have equality. As this object is close to the UI, it makes no sense to
  have a supplier and complicate equality. However, this needs to be
  paired with proper QSTile.Icon (ResourceIcon and DrawableIconWithRes)
  to facilitate equality.
* Use produceState to obtain the TileUiState. Because `QSTile.State`
  doesn't have a good equality, and we only care about the uiState, use
  this to avoid recompositions when the legacy state changes but the ui
  state doesn't.
* Add key around Tile composables tied to the spec (identifies the
  tile).
Test: manual, perfetto trace. No recompositions of the tiles
Test: atest com.android.systemui.qs
Flag: com.android.systemui.qs_ui_refactor_compose_fragment
Bug: 383085298
Change-Id: I9a634cabbd1917ead1ced7f0b9fb968225194d24
Diffstat (limited to 'libs/androidfw/StringPool.cpp')
0 files changed, 0 insertions, 0 deletions