display: Create QService binder interface.

Add QService binder interface to enable communication
to display by the mediaserver for Securing/Unsecuring start and end
notifications.

Create separate lib for external.
Clear reserved field before applying format.

Change-Id: I463c9c6deac7587bd0c4e0b84513b5d0b5dd7e98
diff --git a/libhwcomposer/hwc.cpp b/libhwcomposer/hwc.cpp
index 3de74b0..a28750d 100644
--- a/libhwcomposer/hwc.cpp
+++ b/libhwcomposer/hwc.cpp
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2010 The Android Open Source Project
- * Copyright (C) 2012, Code Aurora Forum. All rights reserved.
+ * Copyright (C) 2012, The Linux Foundation. All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -30,7 +30,7 @@
 #include "hwc_video.h"
 #include "hwc_uimirror.h"
 #include "hwc_copybit.h"
-#include "hwc_external.h"
+#include "external.h"
 #include "hwc_mdpcomp.h"
 #include "hwc_extonly.h"
 
@@ -81,14 +81,19 @@
     hwc_context_t* ctx = (hwc_context_t*)(dev);
     ctx->overlayInUse = false;
 
+    //reset for this draw round
+    VideoOverlay::reset();
+    ExtOnly::reset();
+    UIMirrorOverlay::reset();
+
+    //If securing of h/w in progress skip comp using overlay.
+    if(ctx->mSecuring == true) return 0;
+
     for (uint32_t i = 0; i < numDisplays; i++) {
         hwc_display_contents_1_t *list = displays[i];
         //XXX: Actually handle the multiple displays
         if (LIKELY(list && list->numHwLayers)) {
             ctx->dpys[i] = list->dpy;
-            //reset for this draw round
-            VideoOverlay::reset();
-            ExtOnly::reset();
 
             if(ctx->isPoweredDown)
                 ALOGW("SF called %s after a POWERDOWN", __FUNCTION__);