Merge "Apply non-FBE migration early during boot." into nyc-dev
am: 599de361cb
* commit '599de361cb7832fec18a51a62cbf44af4df27020':
Apply non-FBE migration early during boot.
Change-Id: If40e88736a0a1eb96700dd47418315bc03b88d99
This commit is contained in:
@@ -2684,8 +2684,14 @@ public class PackageManagerService extends IPackageManager.Stub {
|
||||
// Prepare storage for system user really early during boot,
|
||||
// since core system apps like SettingsProvider and SystemUI
|
||||
// can't wait for user to start
|
||||
final int storageFlags;
|
||||
if (StorageManager.isFileEncryptedNativeOrEmulated()) {
|
||||
storageFlags = StorageManager.FLAG_STORAGE_DE;
|
||||
} else {
|
||||
storageFlags = StorageManager.FLAG_STORAGE_DE | StorageManager.FLAG_STORAGE_CE;
|
||||
}
|
||||
reconcileAppsDataLI(StorageManager.UUID_PRIVATE_INTERNAL, UserHandle.USER_SYSTEM,
|
||||
StorageManager.FLAG_STORAGE_DE);
|
||||
storageFlags);
|
||||
|
||||
// If this is first boot after an OTA, and a normal boot, then
|
||||
// we need to clear code cache directories.
|
||||
@@ -19140,7 +19146,8 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName());
|
||||
// First look for stale data that doesn't belong, and check if things
|
||||
// have changed since we did our last restorecon
|
||||
if ((flags & StorageManager.FLAG_STORAGE_CE) != 0) {
|
||||
if (!StorageManager.isUserKeyUnlocked(userId)) {
|
||||
if (StorageManager.isFileEncryptedNativeOrEmulated()
|
||||
&& !StorageManager.isUserKeyUnlocked(userId)) {
|
||||
throw new RuntimeException(
|
||||
"Yikes, someone asked us to reconcile CE storage while " + userId
|
||||
+ " was still locked; this would have caused massive data loss!");
|
||||
|
||||
Reference in New Issue
Block a user