From 831e01a89e9636baf15d35e7f8ff5e9f290c8b87 Mon Sep 17 00:00:00 2001 From: Andres Morales Date: Mon, 11 May 2015 14:23:35 -0700 Subject: [PATCH] [partition checking] re-enable bootimage/bootloader, add recovery Still don't have a consistent fingerprint for Radio, so can't yet enable. Change-Id: Ie876dc3f52a2df3c0bd67cc80eb24e22e3dcdbfb --- core/java/android/os/Build.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/core/java/android/os/Build.java b/core/java/android/os/Build.java index 50eed3e9df7ee..dfd523a6c2ce7 100644 --- a/core/java/android/os/Build.java +++ b/core/java/android/os/Build.java @@ -685,6 +685,8 @@ public class Build { final String bootimage = SystemProperties.get("ro.bootimage.build.fingerprint"); final String requiredBootloader = SystemProperties.get("ro.build.expect.bootloader"); final String currentBootloader = SystemProperties.get("ro.bootloader"); + final String requiredRecovery = SystemProperties.get("ro.expect.recovery_id"); + final String currentRecovery = SystemProperties.get("ro.recovery_id"); final String requiredRadio = SystemProperties.get("ro.build.expect.baseband"); final String currentRadio = SystemProperties.get("gsm.version.baseband"); @@ -701,7 +703,6 @@ public class Build { } } - /* TODO: Figure out issue with checks failing if (!TextUtils.isEmpty(bootimage)) { if (!Objects.equals(system, bootimage)) { Slog.e(TAG, "Mismatched fingerprints; system reported " + system @@ -718,6 +719,15 @@ public class Build { } } + if (!TextUtils.isEmpty(requiredRecovery)) { + if (!Objects.equals(currentRecovery, requiredRecovery)) { + Slog.e(TAG, "Mismatched recovery version: build requires " + requiredRecovery + + " but runtime reports " + currentRecovery); + return false; + } + } + + /* TODO: uncomment when new bootloader lands b/20860620 if (!TextUtils.isEmpty(requiredRadio)) { if (!Objects.equals(currentRadio, requiredRadio)) { Slog.e(TAG, "Mismatched radio version: build requires " + requiredRadio