ewc: qdcm: Add featurization support for OSS builds
To ensure that OSS builds are fully compilable, add a flag for
including proprietary header files.
Change-Id: I5d3a5c1ea926628bea41362a64bd43ee57b0cc5d
diff --git a/libhwcomposer/hwc_qdcm_legacy.cpp b/libhwcomposer/hwc_qdcm_legacy.cpp
index fa3efc2..9c2c7b0 100644
--- a/libhwcomposer/hwc_qdcm_legacy.cpp
+++ b/libhwcomposer/hwc_qdcm_legacy.cpp
@@ -31,7 +31,7 @@
#include <hwc_utils.h>
#include <IQService.h>
#include <mdp_version.h>
-#include "mode_manager.h"
+#include <dlfcn.h>
using namespace android;
using namespace qService;
@@ -49,10 +49,24 @@
void qdcmApplyDefaultAfterBootAnimationDone(hwc_context_t *ctx)
{
- loadQdcmLibrary(ctx);
- if (ctx->mQdcmInfo.mQdcmMode)
- ctx->mQdcmInfo.mQdcmMode->applyDefaultMode(0);
- unloadQdcmLibrary(ctx);
+ int ret = 0;
+ int (*applyMode)(int) = NULL;
+ void *modeHandle = NULL;
+
+ modeHandle = dlopen("libmm-qdcm.so", RTLD_NOW);
+ if (modeHandle) {
+ *(void **)&applyMode = dlsym(modeHandle, "applyDefaults");
+ if (applyMode) {
+ ret = applyMode(HWC_DISPLAY_PRIMARY);
+ if (ret)
+ ALOGE("%s: Not able to apply default mode", __FUNCTION__);
+ } else {
+ ALOGE("%s: No symbol applyDefaults found", __FUNCTION__);
+ }
+ dlclose(modeHandle);
+ } else {
+ ALOGE("%s: Not able to load libmm-qdcm.so", __FUNCTION__);
+ }
}
//do nothing in case qdcm legacy implementation.