diff options
author | 2017-03-13 20:38:48 +0000 | |
---|---|---|
committer | 2017-03-13 20:38:48 +0000 | |
commit | 527747dce1ab4714bd424e5c1a25ebad3506c2cb (patch) | |
tree | 5db11f4aaf86943f89cb2f6ad25f4a2de8966f72 /libs/gui/ISurfaceComposer.cpp | |
parent | 1da94dfed674e94edc37cdc8ef68530520edf169 (diff) |
Revert "get rid of IGraphicBufferAlloc"
This reverts commit 1da94dfed674e94edc37cdc8ef68530520edf169.
Bug: 36176799
Bug: 36175706
Change-Id: I6dd5fe8df564f0efa4392a800fb316e27a05076e
Diffstat (limited to 'libs/gui/ISurfaceComposer.cpp')
-rw-r--r-- | libs/gui/ISurfaceComposer.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libs/gui/ISurfaceComposer.cpp b/libs/gui/ISurfaceComposer.cpp index 2516fb8a2d..4d2692fe62 100644 --- a/libs/gui/ISurfaceComposer.cpp +++ b/libs/gui/ISurfaceComposer.cpp @@ -25,6 +25,7 @@ #include <binder/IServiceManager.h> #include <gui/IDisplayEventConnection.h> +#include <gui/IGraphicBufferAlloc.h> #include <gui/IGraphicBufferProducer.h> #include <gui/ISurfaceComposer.h> #include <gui/ISurfaceComposerClient.h> @@ -71,6 +72,14 @@ public: return interface_cast<ISurfaceComposerClient>(reply.readStrongBinder()); } + virtual sp<IGraphicBufferAlloc> createGraphicBufferAlloc() + { + Parcel data, reply; + data.writeInterfaceToken(ISurfaceComposer::getInterfaceDescriptor()); + remote()->transact(BnSurfaceComposer::CREATE_GRAPHIC_BUFFER_ALLOC, data, &reply); + return interface_cast<IGraphicBufferAlloc>(reply.readStrongBinder()); + } + virtual void setTransactionState( const Vector<ComposerState>& state, const Vector<DisplayState>& displays, @@ -496,6 +505,12 @@ status_t BnSurfaceComposer::onTransact( reply->writeStrongBinder(b); return NO_ERROR; } + case CREATE_GRAPHIC_BUFFER_ALLOC: { + CHECK_INTERFACE(ISurfaceComposer, data, reply); + sp<IBinder> b = IInterface::asBinder(createGraphicBufferAlloc()); + reply->writeStrongBinder(b); + return NO_ERROR; + } case SET_TRANSACTION_STATE: { CHECK_INTERFACE(ISurfaceComposer, data, reply); |