Restore work tile position after restore
When the device is restored from a source device that currently had the
work profile tile, the tile will fail to be present in the target device
when the user enables the work profile. This is due to the following:
* Right on restore, the tile is restored, but because the work profile
is not ready yet, it will be destroyed.
* Along with the restore, we have the fact that the tile was auto-added
in the source device, meaning it will fail to auto-add once the work
profile is enabled.
Even if it restored, it will be auto-added at the end, because that's
the default.
This change (effective only in the new pipeline) adds extra processing
when restoring if the work tile is present in the restore.
* If the work profile is already enabled, do nothing as the tile won't
be restored.
* If the work profile is not enabled, remove the fact that it was
auto-added + store the position in which it was. Then when the work
profile is enabled it will be restored in the correct position.
This CL also:
* Adds Kosmos support for the new pipeline
* Drive by fixes FakeUserTracker to dispatch when the profiles change.
Test: atest com.android.systemui.qs.pipeline
Fixes: 314781280
Flag: ACONFIG com.android.systemui.qs_new_pipeline TEAMFOOD
Change-Id: Ib943146659e79d28c876f0d09bda451b5020bb6e
30 files changed