Jason Chiu 20df25e6b9 Reduce the flickering of injected items when package is changed
Root cause:
Settings listens to four package-related broadcasts in order to refresh
injected items because UI data may change. However, when the system is
updating apps on the first boot, it triggers a burst of broadcasts. For
each broadcast Settings will reload and then redraw all injected items,
which leads to the flickering.

Solution:
1. When Settings recieves a broadcast, check if there are already two
reloading tasks to avoid redundant updates.
2. In the reloading task, check if any injected item is changed, added,
or removed to notify categories changed.
3. Only refresh the UI when any of the changed items belongs to the
current page.

Bug: 166785977
Bug: 168309941
Test: manual, robotest
Change-Id: I77745b60f84510554bff1870a5bb7a8013eab528
2020-10-02 17:13:16 +08:00
2019-04-04 12:49:15 -07:00
2019-11-25 20:28:35 +09:00
2020-03-11 16:45:14 +08:00
2019-02-06 15:44:40 +00:00
2020-02-03 01:03:46 +00:00
Description
No description provided
3.1 GiB
Languages
Java 89.8%
Kotlin 10.2%