diff options
| author | 2022-04-27 11:18:48 -0400 | |
|---|---|---|
| committer | 2022-04-27 12:16:03 -0400 | |
| commit | 99157ead88379cb76bd0fe72e2c2dcd3582ab436 (patch) | |
| tree | 6654ce6bae5975f14603164665745254f0278f95 /libs/androidfw/StringPool.cpp | |
| parent | e02f9e390dcc6dae7766a7452f5a74cc16149d03 (diff) | |
Fix RTL changes in PagedTileLayout
This change fixes two RTL issues with PagedTileLayout:
* When RTL happens we had a race condition between the following:
* onConfigurationChanged
* onRtlPropertiesChanged
* QSFragment recreation due to InterestingConfigChanges
This was causing that the page that was set after RTL changed when QS
was open (for example, by using the Development tile) would sometimes
not be correct.
In order to fix this, we do two things:
* Remove LAYOUT_DIRECTION from InterestingConfigChanges so QSFragment
is not recreated
* Cached the last known direction in PagedTileLayout so we can use
that to get the page when the change happens, even if it has already
propagated internally due to onConfigurationChanged.
* When PagedTileLayout has never measured and laid out page 0 (because
it was recreated in a different page), getTilesHeight returned 0. To
prevent this, make sure that we always measure and lay out page 0
(explicitly if not attached to PagedTileLayout).
Test: manual
Fixes: 227231905
Change-Id: I453606937f275b8fe3255f3e2c666cb912229b1a
Diffstat (limited to 'libs/androidfw/StringPool.cpp')
0 files changed, 0 insertions, 0 deletions