resolved conflicts for merge of de36313b to master
diff --git a/cmds/bootanimation/bootanimation_main.cpp b/cmds/bootanimation/bootanimation_main.cpp
index 346f156..3c82fe5 100644
--- a/cmds/bootanimation/bootanimation_main.cpp
+++ b/cmds/bootanimation/bootanimation_main.cpp
@@ -16,9 +16,12 @@
 
 #define LOG_TAG "BootAnimation"
 
+#include <cutils/properties.h>
+
 #include <binder/IPCThreadState.h>
 #include <binder/ProcessState.h>
 #include <binder/IServiceManager.h>
+
 #include <utils/Log.h>
 #include <utils/threads.h>
 
@@ -41,12 +44,20 @@
     setpriority(PRIO_PROCESS, 0, ANDROID_PRIORITY_DISPLAY);
 #endif
 
-    sp<ProcessState> proc(ProcessState::self());
-    ProcessState::self()->startThreadPool();
+    char value[PROPERTY_VALUE_MAX];
+    property_get("debug.sf.nobootanimation", value, "0");
+    int noBootAnimation = atoi(value);
+    LOGI_IF(noBootAnimation,  "boot animation disabled");
+    if (!noBootAnimation) {
 
-    // create the boot animation object
-    sp<BootAnimation> boot = new BootAnimation();
+        sp<ProcessState> proc(ProcessState::self());
+        ProcessState::self()->startThreadPool();
 
-    IPCThreadState::self()->joinThreadPool();
+        // create the boot animation object
+        sp<BootAnimation> boot = new BootAnimation();
+
+        IPCThreadState::self()->joinThreadPool();
+
+    }
     return 0;
 }