QSTileHost use overrideableByRestore

Starting in this release, settings that were set (after the first time)
will not be overriden by restore. This does not work with QSTileHost as
there are many things that may override secure sysui_qs_tiles without
the user directly taking an action (for example, packages that are
uninstalled or updated, may make tiles unavailable), changing the set of
current tiles.

In the case the restore is delayed, (for example D2D), it'd be good if
this setting is restored, regardless of changes that may have happened
in the intervening time. Marking all saving of this setting as
overrideableByRestore may make some changes to be lost, however it's
thought to be the better alternative, because of the following:
 * It continues the behavior from previous releases, preventing a
 regression.
 * If the user is using D2D, we can assume that they expect those tiles
 to be restored without changes.
 * If the user is using another restore method and they made changes to
 the tiles, this will override them, but it's no different than previous
 behavior.

Also, use the cached currentUser.

Fixes: 153835600
Test: build
Change-Id: Id8f28ff4731556f7ccbee468e06cd3e03324f201
2 files changed