surfaceflinger: move SurfaceFlingerConsumer::mLayer
Move mLayer and related methods to the base class,
BufferLayerConsumer.
Test: boots
Change-Id: I835ec0990b5bbdbd2b61444b6fbad700e0cb8c14
diff --git a/services/surfaceflinger/BufferLayerConsumer.cpp b/services/surfaceflinger/BufferLayerConsumer.cpp
index 938a330..ae3c96c 100644
--- a/services/surfaceflinger/BufferLayerConsumer.cpp
+++ b/services/surfaceflinger/BufferLayerConsumer.cpp
@@ -21,6 +21,8 @@
#include "BufferLayerConsumer.h"
+#include "Layer.h"
+
#include <inttypes.h>
#include <EGL/egl.h>
@@ -105,7 +107,8 @@
return hasEglAndroidImageCrop() && (crop.left == 0 && crop.top == 0);
}
-BufferLayerConsumer::BufferLayerConsumer(const sp<IGraphicBufferConsumer>& bq, uint32_t tex)
+BufferLayerConsumer::BufferLayerConsumer(const sp<IGraphicBufferConsumer>& bq, uint32_t tex,
+ Layer* layer)
: ConsumerBase(bq, false),
mCurrentCrop(Rect::EMPTY_RECT),
mCurrentTransform(0),
@@ -118,6 +121,7 @@
mDefaultHeight(1),
mFilteringEnabled(true),
mTexName(tex),
+ mLayer(layer),
mEglDisplay(EGL_NO_DISPLAY),
mEglContext(EGL_NO_CONTEXT),
mCurrentTexture(BufferQueue::INVALID_BUFFER_SLOT) {
@@ -538,6 +542,21 @@
ConsumerBase::freeBufferLocked(slotIndex);
}
+void BufferLayerConsumer::onDisconnect() {
+ sp<Layer> l = mLayer.promote();
+ if (l.get()) {
+ l->onDisconnect();
+ }
+}
+
+void BufferLayerConsumer::addAndGetFrameTimestamps(const NewFrameEventsEntry* newTimestamps,
+ FrameEventHistoryDelta* outDelta) {
+ sp<Layer> l = mLayer.promote();
+ if (l.get()) {
+ l->addAndGetFrameTimestamps(newTimestamps, outDelta);
+ }
+}
+
void BufferLayerConsumer::abandonLocked() {
BLC_LOGV("abandonLocked");
mCurrentTextureImage.clear();