From 02179da30ecec5770341d42c0545f62b33b687ce Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Mon, 25 Apr 2016 13:23:30 -0600 Subject: [PATCH] Destroy both CE and DE data when corrupted. When we find either a CE or DE data directory that has been corrupted, destroy both CE and DE data together, since internal services like AccountManager get confused if they find DE data without matching CE data. Bug: 28346537 Change-Id: Iaf3694c20e4664536af25a2afeb45fe8a90d8171 --- services/core/java/com/android/server/pm/PackageManagerService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index f21966d66000..547379d9cafa 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -18819,7 +18819,8 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); } catch (Exception e) { logCriticalInfo(Log.WARN, "Destroying user " + userId + " on volume " + volumeUuid + " because we failed to prepare: " + e); - destroyUserDataLI(volumeUuid, userId, flags); + destroyUserDataLI(volumeUuid, userId, + StorageManager.FLAG_STORAGE_DE | StorageManager.FLAG_STORAGE_CE); if (allowRecover) { // Try one last time; if we fail again we're really in trouble -- 2.11.0