Fix incorrect boot time locale.

To show the localized message, MountManager keeps the last set locale
string in the crypto header and set it at the very early boot stage.

However by my change[1], the locale information is stored in Settings
not in ICU. It is not available before decrypting the data directory.

So, when ActivityManagerService obtains the configuration by
Settings.System.getConfiguration, the locale set by MountManager will be
overwritten by empty locale list, then always English message is shown
as the result of fallback.

To fix this issue, need to call updatePersistentConfiguration instead of
updtaeConfiguration to write the configuration value to the Settings.

Calling updatePersistentConfiguration is safe since this value won't be
used after boot.

[1] If57e13cc4179ff6299c71b4ab030f9d856748dea
Bug: 27507829
Change-Id: Icdffd88d41fc134b6f9b4cd1bc4c77db655b1477
1 file changed