Revert "SurfaceFlinger: Emit callbacks for non-buffer layer transactions"
This reverts commit da1fd1508c914c7f0849e4e00a5fae5412433337.
Reason for revert: Potential culprit CL for broken test b/205501709
Change-Id: Iece745e0690f4d31b93918697b306ded3abfd0d0
diff --git a/services/surfaceflinger/BufferStateLayer.cpp b/services/surfaceflinger/BufferStateLayer.cpp
index 3e09a40..c213570 100644
--- a/services/surfaceflinger/BufferStateLayer.cpp
+++ b/services/surfaceflinger/BufferStateLayer.cpp
@@ -549,19 +549,13 @@
}
bool BufferStateLayer::setTransactionCompletedListeners(
- const std::vector<ListenerCallbacks>& listenerCallbacks, const sp<IBinder>& layerHandle) {
+ const std::vector<sp<CallbackHandle>>& handles) {
// If there is no handle, we will not send a callback so reset mReleasePreviousBuffer and return
- if (listenerCallbacks.empty()) {
+ if (handles.empty()) {
mReleasePreviousBuffer = false;
return false;
}
- std::vector<sp<CallbackHandle>> handles;
- handles.reserve(listenerCallbacks.size());
- for (auto& [listener, callbackIds] : listenerCallbacks) {
- handles.emplace_back(new CallbackHandle(listener, callbackIds, layerHandle));
- }
-
const bool willPresent = willPresentCurrentTransaction();
for (const auto& handle : handles) {
@@ -577,10 +571,9 @@
// Store so latched time and release fence can be set
mDrawingState.callbackHandles.push_back(handle);
- } else {
- // If this layer will NOT need to be relatched and presented this frame
+ } else { // If this layer will NOT need to be relatched and presented this frame
// Notify the transaction completed thread this handle is done
- mFlinger->getTransactionCallbackInvoker().addUnpresentedCallbackHandle(handle);
+ mFlinger->getTransactionCallbackInvoker().registerUnpresentedCallbackHandle(handle);
}
}