diff options
| author | 2023-05-17 12:59:29 -0400 | |
|---|---|---|
| committer | 2023-05-17 13:26:03 -0400 | |
| commit | 755737cf6e4e1d02339101761ac395ac9e33165b (patch) | |
| tree | 9e43be69f43442464d54348ee4251ebbe0c97062 /libs/androidfw/ApkParsing.cpp | |
| parent | b8ef48898be6777280d11479e6a5bb0edad4c1fb (diff) | |
Remove removeCallbacks when processing tiles
This is not needed and can lead to the following error:
1. QSPanel added a callback for tile A
2. CurrentTilesInteractor processes tiles and removes all callbacks from
A. After that, the list of tiles didn't change. As it's backed by a
StateFlow, consumers don't get notified of a change (they don't need
to, the list is the same).
3. QSPanelControllerBase doesn't get a notified so it doesn't re-add the
callback.
The error is not usually observable, as it requires the tile setting to
change but the list of actual tiles not to change, though certain
scenarios could make it happen (like restoring from backup with tiles
that are not available, or changing tiles through adb).
Also, have QSPanelControllerBase only remove the associated callback
(and not all of them) onViewDetached.
Flag: QS_PIPELINE_NEW_HOST
Fixes: 282978588
Test: atest com.android.systemui.qs
Change-Id: I6451c80a7595bd3b3614de7b2f2870f6e97ba9d1
Diffstat (limited to 'libs/androidfw/ApkParsing.cpp')
0 files changed, 0 insertions, 0 deletions