summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Morales <anmorales@google.com>2015-03-19 08:34:55 -0700
committerThe Android Automerger <android-build@google.com>2015-03-25 18:49:44 -0700
commitc6cd327ccd458eec4187d491b73551a7c4bcd6cb (patch)
tree53f4f2de2c510f32259330f8201108e75c483f77
parenta4e0ab6edf3836204a9353bb52d1c66cf2f3a85a (diff)
downloadbase-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.java9
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();
}