diff options
author | Jason parks <jparks@google.com> | 2011-01-31 15:04:34 -0600 |
---|---|---|
committer | Jason parks <jparks@google.com> | 2011-01-31 15:04:43 -0600 |
commit | bd9a08d318f94a3d0b2f8f9d7b16b10736d80c5c (patch) | |
tree | a636c061499dd9b3f9be7816708da85cfe21dd23 /cmds | |
parent | e3004e7867925e70bf4930384a265106f45f87d6 (diff) | |
download | frameworks_base-bd9a08d318f94a3d0b2f8f9d7b16b10736d80c5c.zip frameworks_base-bd9a08d318f94a3d0b2f8f9d7b16b10736d80c5c.tar.gz frameworks_base-bd9a08d318f94a3d0b2f8f9d7b16b10736d80c5c.tar.bz2 |
Show the encryption boot animation.
Change-Id: I15892a35238d97302b30f26bec170b9f231a3e15
Diffstat (limited to 'cmds')
-rw-r--r-- | cmds/bootanimation/BootAnimation.cpp | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/cmds/bootanimation/BootAnimation.cpp b/cmds/bootanimation/BootAnimation.cpp index 6650a71..e07495d 100644 --- a/cmds/bootanimation/BootAnimation.cpp +++ b/cmds/bootanimation/BootAnimation.cpp @@ -23,6 +23,8 @@ #include <utils/misc.h> #include <signal.h> +#include <cutils/properties.h> + #include <binder/IPCThreadState.h> #include <utils/threads.h> #include <utils/Atomic.h> @@ -51,6 +53,7 @@ #define USER_BOOTANIMATION_FILE "/data/local/bootanimation.zip" #define SYSTEM_BOOTANIMATION_FILE "/system/media/bootanimation.zip" +#define SYSTEM_ENCRYPTED_BOOTANIMATION_FILE "/system/media/bootanimation-encrypted.zip" namespace android { @@ -248,11 +251,25 @@ status_t BootAnimation::readyToRun() { mFlingerSurface = s; mAndroidAnimation = true; - if ((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)) + + // If the device has encryption turned on or is in process + // of being encrypted we show the encrypted boot animation. + 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; + } return NO_ERROR; } |