Fix system locale propagation during user creation.

Since Android N, the system locale is stored in Settings.System. Because
of this change, we need to propagate the previous user's system locale
to the newly created user.

When the user switch happens, updateUserConfigurationLocked is called
for the next user. Usually, some configuration values (font scale and
system locale) are overwritten by the next user's settings. However,
the first time the next user logs in (and only the first time), the
settings value is empty. So, we need to decide between keeping the
passed configuration's value or resetting to the default. For the
fontScale, it is reset to the default (issue 27187556). For the system
locale, the previous user's locale should be used. This CL addresses
this.

At the same time, the inherited configuration should be stored to the
settings, otherwise the inherited configuration is lost the next time
the second user logs in.

Bug: 27803966
Change-Id: I4632671316d26e00ab6fe80ff3433f097f0e0954
2 files changed