summaryrefslogtreecommitdiffstats
path: root/media/libmedia/IRemoteDisplay.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2012-11-16 10:38:11 -0800
committerAndreas Huber <andih@google.com>2012-11-29 10:33:51 -0800
commit5131d127a042ee88f903370be88845dc8c9f8578 (patch)
treeb6c2153d94a2dd57b8dfaaa12742c60c4fec0187 /media/libmedia/IRemoteDisplay.cpp
parent79c56d3f17d3193a0a86eb3c9bfdea90b89ae3f9 (diff)
downloadframeworks_av-5131d127a042ee88f903370be88845dc8c9f8578.zip
frameworks_av-5131d127a042ee88f903370be88845dc8c9f8578.tar.gz
frameworks_av-5131d127a042ee88f903370be88845dc8c9f8578.tar.bz2
[wfd] Support a low(er) power state by triggering PAUSE/RESUME.
Change-Id: Ibe42bfa73816bbfeb7e652d435254d0171b89727 related-to-bug: 7638150
Diffstat (limited to 'media/libmedia/IRemoteDisplay.cpp')
-rw-r--r--media/libmedia/IRemoteDisplay.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/media/libmedia/IRemoteDisplay.cpp b/media/libmedia/IRemoteDisplay.cpp
index da25a15..1e15434 100644
--- a/media/libmedia/IRemoteDisplay.cpp
+++ b/media/libmedia/IRemoteDisplay.cpp
@@ -23,6 +23,8 @@ namespace android {
enum {
DISPOSE = IBinder::FIRST_CALL_TRANSACTION,
+ PAUSE,
+ RESUME,
};
class BpRemoteDisplay: public BpInterface<IRemoteDisplay>
@@ -33,6 +35,20 @@ public:
{
}
+ virtual status_t pause() {
+ Parcel data, reply;
+ data.writeInterfaceToken(IRemoteDisplay::getInterfaceDescriptor());
+ remote()->transact(PAUSE, data, &reply);
+ return reply.readInt32();
+ }
+
+ virtual status_t resume() {
+ Parcel data, reply;
+ data.writeInterfaceToken(IRemoteDisplay::getInterfaceDescriptor());
+ remote()->transact(RESUME, data, &reply);
+ return reply.readInt32();
+ }
+
status_t dispose()
{
Parcel data, reply;
@@ -55,6 +71,21 @@ status_t BnRemoteDisplay::onTransact(
reply->writeInt32(dispose());
return NO_ERROR;
}
+
+ case PAUSE:
+ {
+ CHECK_INTERFACE(IRemoteDisplay, data, reply);
+ reply->writeInt32(pause());
+ return OK;
+ }
+
+ case RESUME:
+ {
+ CHECK_INTERFACE(IRemoteDisplay, data, reply);
+ reply->writeInt32(resume());
+ return OK;
+ }
+
default:
return BBinder::onTransact(code, data, reply, flags);
}