display: Add binder interface to pause/resume WFD
- Client can call this when it want to pause/resume wfd
- Calling this will make sure after pause, black screen
is shown on the sink
- Currently used by the SecureDisplay module
Change-Id: If618edf76a82abe49fb676d3845ca1f1d5a8bf25
diff --git a/libhwcomposer/hwc_qclient.cpp b/libhwcomposer/hwc_qclient.cpp
index 50e94c9..8c99d64 100644
--- a/libhwcomposer/hwc_qclient.cpp
+++ b/libhwcomposer/hwc_qclient.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-14, The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -36,6 +36,7 @@
using namespace android;
using namespace qService;
+using namespace qhwc;
namespace qClient {
@@ -165,6 +166,17 @@
}
}
+static void pauseWFD(hwc_context_t *ctx, uint32_t pause) {
+ int dpy = HWC_DISPLAY_VIRTUAL;
+ if(pause) {
+ //WFD Pause
+ handle_pause(ctx, dpy);
+ } else {
+ //WFD Resume
+ handle_resume(ctx, dpy);
+ }
+}
+
status_t QClient::notifyCallback(uint32_t command, const Parcel* inParcel,
Parcel* outParcel) {
status_t ret = NO_ERROR;
@@ -202,6 +214,8 @@
break;
case IQService::SET_HSIC_DATA:
setHSIC(mHwcContext, inParcel);
+ case IQService::PAUSE_WFD:
+ pauseWFD(mHwcContext, inParcel->readInt32());
break;
default:
ret = NO_ERROR;