The broadcasts are received by [QSSettingsRestoredRepository](/packages/SystemUI/src/com/android/systemui/qs/pipeline/data/repository/QSSettingsRestoredRepository.kt)
and grouped by user into a data object. As described above, the change performed by the restore in
settings is overriden by the corresponding repositories.
2. Once both settings have been restored, the data is reconciled with the current data, to account
for tiles that may have been auto-added between the start of SystemUI and the time the restore
happened. The guiding principles for the reconciliation are as follows:
* We assume that the user expects the restored tiles to be the ones to be present after restore,
so those are taken as the basis for the reconciliation.
* Any tile that was auto-added before the restore, but had not been auto-added in the source
device, is auto-added again (preferably in a similar position).
* Any tile that was auto-added before the restore, and it was also auto-added in the source
device, but not present in the restored tiles, is considered removed by the user and therefore
not restored.
* Every tile that was marked as auto-added (all tiles in source + tiles added before restore)
are set as auto-added.
## Logs for debugging
The following log buffers are used for Quick Settings debugging purposes:
### QSLog
Logs events in the individual tiles, like listening state, clicks, and status updates.
### QSTileListLog
Logs changes in the current set of tiles for each user, including when tiles are created or
destroyed, and the reason for that. It also logs what operation caused the tiles to change
(add, remove, change, restore).
### QSAutoAddLog
Logs operations of auto-add (or auto-remove) of tiles.
### QSRestoreLog
Logs the data obtained after a successful restore of the settings. This is the data that will be