History log of /frameworks/base/services/core/java/com/android/server/pm/UserDataPreparer.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7f6b8120da3de99bace28eb1c1602016d0e5fbb0 30-Mar-2018 Farid Zare Seisan <faridzs@google.com> UserDataPrepare: CE storage property set too early.

Set sys.user.[userId].ce_available only after CE
storage has been prepared. This property was being set
too early. This will cause a race for first boot between
preparing these folders and writting to them. If CE
storage is not empty before setting encryption policy
then setting encryption policy would fail.

Also, if setting CE storage fails, we should not destroy
DE storage since recovery is only making call to retry
setting up CE.

Only when userId == UserHandle.USER_SYSTEM then mkdri
should fail when CE property isn't set.

Bug: 76222913
Bug: 76102397
Bug: 78514593
Bug: 78515110
Test: Waiting for property and no longer seeing the race.
Verified below cts failures are now passing.
android.appsecurity.cts.ExternalStorageHostTest#testMultiViewMoveConsistenc
android.appsecurity.cts.ExternalStorageHostTest#testExternalStorageWrite
android.appsecurity.cts.ExternalStorageHostTest#testExternalStorageNone

Change-Id: Ied0308ef099090e8f3954e905f78320214e14335
(cherry picked from commit 420e825111ca5c95c6200c1fb4681c315906e71e)
/frameworks/base/services/core/java/com/android/server/pm/UserDataPreparer.java
7c4c55dcb6d386fb3843069a02c177df66df09c7 02-Nov-2017 Todd Kennedy <toddke@google.com> Move code

No functional changes. Moving code from PackageManagerService to
other classes where it makes more sense. Make some methods static
when they could easily be made so.

Bug: 63539144
Test: bit FrameworksServicesTests:com.android.server.pm.
Change-Id: If515315d27d9bf3d19cde0062deade5d05924b6d
/frameworks/base/services/core/java/com/android/server/pm/UserDataPreparer.java
4b8a624224a792758a1cb7cc0dd258a7e31adce9 17-Oct-2017 Paul Crowley <paulcrowley@google.com> vold now deletes misc_ce/misc_de

Bug: 25861755
Test: create user, populate vold subdirectory, delete user, check logs
Change-Id: I95f2d8d52ea9cdb621b6bf0b18d6151721dcf8d9
/frameworks/base/services/core/java/com/android/server/pm/UserDataPreparer.java
a0c5ee1b322b579da25a2f433fd91734f5b07818 11-Aug-2017 Jeff Sharkey <jsharkey@android.com> Only destroy the storage area that had trouble.

Consider the case where CE failed to prepare; we'd destroy both DE
and CE, but then only recreate CE. This change makes sure we only
destroy something we're willing to recreate.

Bug: 62338545
Test: builds, boots
Change-Id: I566791b59b35a30db70b0de3acfe624b239bf5d2
/frameworks/base/services/core/java/com/android/server/pm/UserDataPreparer.java
50979d14f913b97852c9e39b3b85c555988760f5 28-Jan-2017 Fyodor Kupolov <fkupolov@google.com> Tests for UserDataPreparer

Moved reconcileUsers, enforceSerialNumber to UserDataPreparer and added
unit tests

Test: manual + UserDataPreparerTest
Bug: 34736064
Change-Id: Icde93974ac68849e38357d8cfea0cc1b7a2aab49
/frameworks/base/services/core/java/com/android/server/pm/UserDataPreparer.java
5c0ecfdb37b082bd6bd490270193b676ecb481c2 27-Jan-2017 Fyodor Kupolov <fkupolov@google.com> Introduced UserDataPreparer class

Extracted the logic for preparing and destroying user data into a new
class. Unit tests will be added in a follow up cl.

Test: manual + UserManagerTest
Bug: 34736064
Change-Id: I4df7189c4ad8703cb34f54da21873b9ec83589c5
/frameworks/base/services/core/java/com/android/server/pm/UserDataPreparer.java