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
Loading
Please register or sign in to comment