diff options
author | Andres Morales <anmorales@google.com> | 2015-03-19 08:34:55 -0700 |
---|---|---|
committer | The Android Automerger <android-build@google.com> | 2015-03-25 18:49:44 -0700 |
commit | c6cd327ccd458eec4187d491b73551a7c4bcd6cb (patch) | |
tree | 53f4f2de2c510f32259330f8201108e75c483f77 | |
parent | a4e0ab6edf3836204a9353bb52d1c66cf2f3a85a (diff) | |
download | base-c6cd327ccd458eec4187d491b73551a7c4bcd6cb.tar.gz |
Write correct checksum when formatting partition
OEM unlock enabled bit is not computed in the checksum,
causing OEM Unlocking to be disabled after the second
reboot.
Bug: 19829441
Change-Id: I100bf5d3958b89323ee35b9e97b19c162209fcd7
-rw-r--r-- | services/core/java/com/android/server/PersistentDataBlockService.java | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/PersistentDataBlockService.java b/services/core/java/com/android/server/PersistentDataBlockService.java index e5ace1bae9cf..97d16c00d6c4 100644 --- a/services/core/java/com/android/server/PersistentDataBlockService.java +++ b/services/core/java/com/android/server/PersistentDataBlockService.java @@ -110,8 +110,7 @@ public class PersistentDataBlockService extends SystemService { private void formatIfOemUnlockEnabled() { if (doGetOemUnlockEnabled()) { synchronized (mLock) { - formatPartitionLocked(); - doSetOemUnlockEnabledLocked(true); + formatPartitionLocked(true); } } } @@ -165,7 +164,7 @@ public class PersistentDataBlockService extends SystemService { byte[] digest = computeDigestLocked(storedDigest); if (digest == null || !Arrays.equals(storedDigest, digest)) { Slog.i(TAG, "Formatting FRP partition..."); - formatPartitionLocked(); + formatPartitionLocked(false); return false; } } @@ -242,7 +241,7 @@ public class PersistentDataBlockService extends SystemService { return md.digest(); } - private void formatPartitionLocked() { + private void formatPartitionLocked(boolean setOemUnlockEnabled) { DataOutputStream outputStream; try { outputStream = new DataOutputStream(new FileOutputStream(new File(mDataBlockFile))); @@ -264,7 +263,7 @@ public class PersistentDataBlockService extends SystemService { IoUtils.closeQuietly(outputStream); } - doSetOemUnlockEnabledLocked(false); + doSetOemUnlockEnabledLocked(setOemUnlockEnabled); computeAndWriteDigestLocked(); } |