Merge "Show the encryption boot animation." into honeycomb

This commit is contained in:
Jason parks
2011-01-31 19:48:24 -08:00
committed by Android (Google) Code Review

View File

@ -23,6 +23,8 @@
#include <utils/misc.h> #include <utils/misc.h>
#include <signal.h> #include <signal.h>
#include <cutils/properties.h>
#include <binder/IPCThreadState.h> #include <binder/IPCThreadState.h>
#include <utils/threads.h> #include <utils/threads.h>
#include <utils/Atomic.h> #include <utils/Atomic.h>
@ -51,6 +53,7 @@
#define USER_BOOTANIMATION_FILE "/data/local/bootanimation.zip" #define USER_BOOTANIMATION_FILE "/data/local/bootanimation.zip"
#define SYSTEM_BOOTANIMATION_FILE "/system/media/bootanimation.zip" #define SYSTEM_BOOTANIMATION_FILE "/system/media/bootanimation.zip"
#define SYSTEM_ENCRYPTED_BOOTANIMATION_FILE "/system/media/bootanimation-encrypted.zip"
namespace android { namespace android {
@ -248,11 +251,25 @@ status_t BootAnimation::readyToRun() {
mFlingerSurface = s; mFlingerSurface = s;
mAndroidAnimation = true; mAndroidAnimation = true;
if ((access(USER_BOOTANIMATION_FILE, R_OK) == 0) &&
(mZip.open(USER_BOOTANIMATION_FILE) == NO_ERROR) || // If the device has encryption turned on or is in process
(access(SYSTEM_BOOTANIMATION_FILE, R_OK) == 0) && // of being encrypted we show the encrypted boot animation.
(mZip.open(SYSTEM_BOOTANIMATION_FILE) == NO_ERROR)) char decrypt[PROPERTY_VALUE_MAX];
property_get("vold.decrypt", decrypt, "");
bool encryptedAnimation = atoi(decrypt) != 0 || !strcmp("trigger_restart_min_framework", decrypt);
if ((encryptedAnimation &&
(access(SYSTEM_ENCRYPTED_BOOTANIMATION_FILE, R_OK) == 0) &&
(mZip.open(SYSTEM_ENCRYPTED_BOOTANIMATION_FILE) == NO_ERROR)) ||
((access(USER_BOOTANIMATION_FILE, R_OK) == 0) &&
(mZip.open(USER_BOOTANIMATION_FILE) == NO_ERROR)) ||
((access(SYSTEM_BOOTANIMATION_FILE, R_OK) == 0) &&
(mZip.open(SYSTEM_BOOTANIMATION_FILE) == NO_ERROR))) {
mAndroidAnimation = false; mAndroidAnimation = false;
}
return NO_ERROR; return NO_ERROR;
} }