diff options
author | Andres Morales <anmorales@google.com> | 2015-03-19 08:34:55 -0700 |
---|---|---|
committer | Andres Morales <anmorales@google.com> | 2015-03-19 17:18:01 +0000 |
commit | c8f952ce9f9cadc0d38745e455c0a6388bc68a47 (patch) | |
tree | 5215eb2cfbad1d4230e52c6bc9363b7671f421aa /services/core/java/com/android/server/PersistentDataBlockService.java | |
parent | cbdfa09fc56995c8c99e8684b8c52e4f9d247a50 (diff) | |
download | frameworks_base-c8f952ce9f9cadc0d38745e455c0a6388bc68a47.zip frameworks_base-c8f952ce9f9cadc0d38745e455c0a6388bc68a47.tar.gz frameworks_base-c8f952ce9f9cadc0d38745e455c0a6388bc68a47.tar.bz2 |
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
Diffstat (limited to 'services/core/java/com/android/server/PersistentDataBlockService.java')
-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 e5ace1b..97d16c0 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(); } |