diff options
21 files changed, 171 insertions, 181 deletions
diff --git a/cmds/surfacereplayer/replayer/Replayer.cpp b/cmds/surfacereplayer/replayer/Replayer.cpp index 2b5667d8fe..86e4f5d773 100644 --- a/cmds/surfacereplayer/replayer/Replayer.cpp +++ b/cmds/surfacereplayer/replayer/Replayer.cpp @@ -584,9 +584,7 @@ void Replayer::setDeferredTransaction(SurfaceComposerClient::Transaction& t, return; } - auto handle = mLayers[dtc.layer_id()]->getHandle(); - - t.deferTransactionUntil_legacy(mLayers[id], handle, dtc.frame_number()); + t.deferTransactionUntil_legacy(mLayers[id], mLayers[dtc.layer_id()], dtc.frame_number()); } void Replayer::setDisplaySurface(SurfaceComposerClient::Transaction& t, @@ -706,11 +704,11 @@ status_t Replayer::loadSurfaceComposerClient() { void Replayer::setReparentChange(SurfaceComposerClient::Transaction& t, layer_id id, const ReparentChange& c) { - sp<IBinder> newParentHandle = nullptr; + sp<SurfaceControl> newSurfaceControl = nullptr; if (mLayers.count(c.parent_id()) != 0 && mLayers[c.parent_id()] != nullptr) { - newParentHandle = mLayers[c.parent_id()]->getHandle(); + newSurfaceControl = mLayers[c.parent_id()]; } - t.reparent(mLayers[id], newParentHandle); + t.reparent(mLayers[id], newSurfaceControl); } void Replayer::setRelativeParentChange(SurfaceComposerClient::Transaction& t, @@ -719,7 +717,7 @@ void Replayer::setRelativeParentChange(SurfaceComposerClient::Transaction& t, ALOGE("Layer %d not found in set relative parent transaction", c.relative_parent_id()); return; } - t.setRelativeLayer(mLayers[id], mLayers[c.relative_parent_id()]->getHandle(), c.z()); + t.setRelativeLayer(mLayers[id], mLayers[c.relative_parent_id()], c.z()); } void Replayer::setDetachChildrenChange(SurfaceComposerClient::Transaction& t, @@ -733,7 +731,7 @@ void Replayer::setReparentChildrenChange(SurfaceComposerClient::Transaction& t, ALOGE("Layer %d not found in reparent children transaction", c.parent_id()); return; } - t.reparentChildren(mLayers[id], mLayers[c.parent_id()]->getHandle()); + t.reparentChildren(mLayers[id], mLayers[c.parent_id()]); } void Replayer::setShadowRadiusChange(SurfaceComposerClient::Transaction& t, diff --git a/libs/gui/LayerState.cpp b/libs/gui/LayerState.cpp index 4a57b1bfac..a4de66e8a7 100644 --- a/libs/gui/LayerState.cpp +++ b/libs/gui/LayerState.cpp @@ -18,16 +18,55 @@ #include <inttypes.h> -#include <utils/Errors.h> #include <binder/Parcel.h> -#include <gui/ISurfaceComposerClient.h> #include <gui/IGraphicBufferProducer.h> +#include <gui/ISurfaceComposerClient.h> #include <gui/LayerState.h> +#include <utils/Errors.h> #include <cmath> namespace android { +layer_state_t::layer_state_t() + : what(0), + x(0), + y(0), + z(0), + w(0), + h(0), + layerStack(0), + alpha(0), + flags(0), + mask(0), + reserved(0), + crop_legacy(Rect::INVALID_RECT), + cornerRadius(0.0f), + backgroundBlurRadius(0), + barrierFrameNumber(0), + overrideScalingMode(-1), + transform(0), + transformToDisplayInverse(false), + crop(Rect::INVALID_RECT), + orientedDisplaySpaceRect(Rect::INVALID_RECT), + dataspace(ui::Dataspace::UNKNOWN), + surfaceDamageRegion(), + api(-1), + colorTransform(mat4()), + bgColorAlpha(0), + bgColorDataspace(ui::Dataspace::UNKNOWN), + colorSpaceAgnostic(false), + shadowRadius(0.0f), + frameRateSelectionPriority(-1), + frameRate(0.0f), + frameRateCompatibility(ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_DEFAULT), + fixedTransformHint(ui::Transform::ROT_INVALID), + frameNumber(0) { + matrix.dsdx = matrix.dtdy = 1.0f; + matrix.dsdy = matrix.dtdx = 0.0f; + hdrMetadata.validTypes = 0; +} + status_t layer_state_t::write(Parcel& output) const { SAFE_PARCEL(output.writeStrongBinder, surface); @@ -44,13 +83,13 @@ status_t layer_state_t::write(Parcel& output) const SAFE_PARCEL(output.writeUint32, mask); SAFE_PARCEL(matrix.write, output); SAFE_PARCEL(output.write, crop_legacy); - SAFE_PARCEL(output.writeStrongBinder, barrierHandle_legacy); - SAFE_PARCEL(output.writeStrongBinder, reparentHandle); + SAFE_PARCEL(SurfaceControl::writeNullableToParcel, output, barrierSurfaceControl_legacy); + SAFE_PARCEL(SurfaceControl::writeNullableToParcel, output, reparentSurfaceControl); SAFE_PARCEL(output.writeUint64, barrierFrameNumber); SAFE_PARCEL(output.writeInt32, overrideScalingMode); SAFE_PARCEL(output.writeStrongBinder, IInterface::asBinder(barrierGbp_legacy)); - SAFE_PARCEL(output.writeStrongBinder, relativeLayerHandle); - SAFE_PARCEL(output.writeStrongBinder, parentHandleForChild); + SAFE_PARCEL(SurfaceControl::writeNullableToParcel, output, relativeLayerSurfaceControl); + SAFE_PARCEL(SurfaceControl::writeNullableToParcel, output, parentSurfaceControlForChild); SAFE_PARCEL(output.writeFloat, color.r); SAFE_PARCEL(output.writeFloat, color.g); SAFE_PARCEL(output.writeFloat, color.b); @@ -135,8 +174,8 @@ status_t layer_state_t::read(const Parcel& input) SAFE_PARCEL(matrix.read, input); SAFE_PARCEL(input.read, crop_legacy); - SAFE_PARCEL(input.readNullableStrongBinder, &barrierHandle_legacy); - SAFE_PARCEL(input.readNullableStrongBinder, &reparentHandle); + SAFE_PARCEL(SurfaceControl::readNullableFromParcel, input, &barrierSurfaceControl_legacy); + SAFE_PARCEL(SurfaceControl::readNullableFromParcel, input, &reparentSurfaceControl); SAFE_PARCEL(input.readUint64, &barrierFrameNumber); SAFE_PARCEL(input.readInt32, &overrideScalingMode); @@ -144,9 +183,10 @@ status_t layer_state_t::read(const Parcel& input) SAFE_PARCEL(input.readNullableStrongBinder, &tmpBinder); barrierGbp_legacy = interface_cast<IGraphicBufferProducer>(tmpBinder); + SAFE_PARCEL(SurfaceControl::readNullableFromParcel, input, &relativeLayerSurfaceControl); + SAFE_PARCEL(SurfaceControl::readNullableFromParcel, input, &parentSurfaceControlForChild); + float tmpFloat = 0; - SAFE_PARCEL(input.readNullableStrongBinder, &relativeLayerHandle); - SAFE_PARCEL(input.readNullableStrongBinder, &parentHandleForChild); SAFE_PARCEL(input.readFloat, &tmpFloat); color.r = tmpFloat; SAFE_PARCEL(input.readFloat, &tmpFloat); @@ -342,7 +382,7 @@ void layer_state_t::merge(const layer_state_t& other) { } if (other.what & eDeferTransaction_legacy) { what |= eDeferTransaction_legacy; - barrierHandle_legacy = other.barrierHandle_legacy; + barrierSurfaceControl_legacy = other.barrierSurfaceControl_legacy; barrierGbp_legacy = other.barrierGbp_legacy; barrierFrameNumber = other.barrierFrameNumber; } @@ -352,7 +392,7 @@ void layer_state_t::merge(const layer_state_t& other) { } if (other.what & eReparentChildren) { what |= eReparentChildren; - reparentHandle = other.reparentHandle; + reparentSurfaceControl = other.reparentSurfaceControl; } if (other.what & eDetachChildren) { what |= eDetachChildren; @@ -361,11 +401,11 @@ void layer_state_t::merge(const layer_state_t& other) { what |= eRelativeLayerChanged; what &= ~eLayerChanged; z = other.z; - relativeLayerHandle = other.relativeLayerHandle; + relativeLayerSurfaceControl = other.relativeLayerSurfaceControl; } if (other.what & eReparent) { what |= eReparent; - parentHandleForChild = other.parentHandleForChild; + parentSurfaceControlForChild = other.parentSurfaceControlForChild; } if (other.what & eDestroySurface) { what |= eDestroySurface; diff --git a/libs/gui/SurfaceComposerClient.cpp b/libs/gui/SurfaceComposerClient.cpp index 2f6a34bf4f..99d9ebaa92 100644 --- a/libs/gui/SurfaceComposerClient.cpp +++ b/libs/gui/SurfaceComposerClient.cpp @@ -875,8 +875,8 @@ SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setLayer return *this; } -SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setRelativeLayer(const sp<SurfaceControl>& sc, const sp<IBinder>& relativeTo, - int32_t z) { +SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setRelativeLayer( + const sp<SurfaceControl>& sc, const sp<SurfaceControl>& relativeTo, int32_t z) { layer_state_t* s = getLayerState(sc); if (!s) { mStatus = BAD_INDEX; @@ -884,7 +884,7 @@ SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setRelat } s->what |= layer_state_t::eRelativeLayerChanged; s->what &= ~layer_state_t::eLayerChanged; - s->relativeLayerHandle = relativeTo; + s->relativeLayerSurfaceControl = relativeTo; s->z = z; registerSurfaceControlForCallback(sc); @@ -1028,16 +1028,16 @@ SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::setBackg } SurfaceComposerClient::Transaction& -SurfaceComposerClient::Transaction::deferTransactionUntil_legacy(const sp<SurfaceControl>& sc, - const sp<IBinder>& handle, - uint64_t frameNumber) { +SurfaceComposerClient::Transaction::deferTransactionUntil_legacy( + const sp<SurfaceControl>& sc, const sp<SurfaceControl>& barrierSurfaceControl, + uint64_t frameNumber) { layer_state_t* s = getLayerState(sc); if (!s) { mStatus = BAD_INDEX; return *this; } s->what |= layer_state_t::eDeferTransaction_legacy; - s->barrierHandle_legacy = handle; + s->barrierSurfaceControl_legacy = barrierSurfaceControl; s->barrierFrameNumber = frameNumber; registerSurfaceControlForCallback(sc); @@ -1062,30 +1062,28 @@ SurfaceComposerClient::Transaction::deferTransactionUntil_legacy(const sp<Surfac } SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::reparentChildren( - const sp<SurfaceControl>& sc, - const sp<IBinder>& newParentHandle) { + const sp<SurfaceControl>& sc, const sp<SurfaceControl>& newParent) { layer_state_t* s = getLayerState(sc); if (!s) { mStatus = BAD_INDEX; return *this; } s->what |= layer_state_t::eReparentChildren; - s->reparentHandle = newParentHandle; + s->reparentSurfaceControl = newParent; registerSurfaceControlForCallback(sc); return *this; } SurfaceComposerClient::Transaction& SurfaceComposerClient::Transaction::reparent( - const sp<SurfaceControl>& sc, - const sp<IBinder>& newParentHandle) { + const sp<SurfaceControl>& sc, const sp<SurfaceControl>& newParent) { layer_state_t* s = getLayerState(sc); if (!s) { mStatus = BAD_INDEX; return *this; } s->what |= layer_state_t::eReparent; - s->parentHandleForChild = newParentHandle; + s->parentSurfaceControlForChild = newParent; registerSurfaceControlForCallback(sc); return *this; diff --git a/libs/gui/SurfaceControl.cpp b/libs/gui/SurfaceControl.cpp index e37ff890b0..e842382ded 100644 --- a/libs/gui/SurfaceControl.cpp +++ b/libs/gui/SurfaceControl.cpp @@ -24,6 +24,7 @@ #include <android/native_window.h> #include <utils/Errors.h> +#include <utils/KeyedVector.h> #include <utils/Log.h> #include <utils/threads.h> diff --git a/libs/gui/include/gui/LayerState.h b/libs/gui/include/gui/LayerState.h index 65fd9ab588..06598e1fad 100644 --- a/libs/gui/include/gui/LayerState.h +++ b/libs/gui/include/gui/LayerState.h @@ -49,6 +49,7 @@ #include <gui/ISurfaceComposer.h> #include <gui/LayerMetadata.h> +#include <gui/SurfaceControl.h> #include <math/vec3.h> #include <ui/GraphicTypes.h> #include <ui/Rect.h> @@ -128,44 +129,7 @@ struct layer_state_t { eFrameNumberChanged = 0x400'00000000, }; - layer_state_t() - : what(0), - x(0), - y(0), - z(0), - w(0), - h(0), - layerStack(0), - alpha(0), - flags(0), - mask(0), - reserved(0), - crop_legacy(Rect::INVALID_RECT), - cornerRadius(0.0f), - backgroundBlurRadius(0), - barrierFrameNumber(0), - overrideScalingMode(-1), - transform(0), - transformToDisplayInverse(false), - crop(Rect::INVALID_RECT), - orientedDisplaySpaceRect(Rect::INVALID_RECT), - dataspace(ui::Dataspace::UNKNOWN), - surfaceDamageRegion(), - api(-1), - colorTransform(mat4()), - bgColorAlpha(0), - bgColorDataspace(ui::Dataspace::UNKNOWN), - colorSpaceAgnostic(false), - shadowRadius(0.0f), - frameRateSelectionPriority(-1), - frameRate(0.0f), - frameRateCompatibility(ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_DEFAULT), - fixedTransformHint(ui::Transform::ROT_INVALID), - frameNumber(0) { - matrix.dsdx = matrix.dtdy = 1.0f; - matrix.dsdy = matrix.dtdx = 0.0f; - hdrMetadata.validTypes = 0; - } + layer_state_t(); void merge(const layer_state_t& other); status_t write(Parcel& output) const; @@ -196,16 +160,16 @@ struct layer_state_t { Rect crop_legacy; float cornerRadius; uint32_t backgroundBlurRadius; - sp<IBinder> barrierHandle_legacy; - sp<IBinder> reparentHandle; + sp<SurfaceControl> barrierSurfaceControl_legacy; + sp<SurfaceControl> reparentSurfaceControl; uint64_t barrierFrameNumber; int32_t overrideScalingMode; sp<IGraphicBufferProducer> barrierGbp_legacy; - sp<IBinder> relativeLayerHandle; + sp<SurfaceControl> relativeLayerSurfaceControl; - sp<IBinder> parentHandleForChild; + sp<SurfaceControl> parentSurfaceControlForChild; half3 color; diff --git a/libs/gui/include/gui/SurfaceComposerClient.h b/libs/gui/include/gui/SurfaceComposerClient.h index cc82502d4e..f366c2935d 100644 --- a/libs/gui/include/gui/SurfaceComposerClient.h +++ b/libs/gui/include/gui/SurfaceComposerClient.h @@ -424,7 +424,7 @@ public: // If the relative is removed, the Surface will have no layer and be // invisible, until the next time set(Relative)Layer is called. Transaction& setRelativeLayer(const sp<SurfaceControl>& sc, - const sp<IBinder>& relativeTo, int32_t z); + const sp<SurfaceControl>& relativeTo, int32_t z); Transaction& setFlags(const sp<SurfaceControl>& sc, uint32_t flags, uint32_t mask); Transaction& setTransparentRegionHint(const sp<SurfaceControl>& sc, @@ -444,7 +444,8 @@ public: // by handle is removed, then we will apply this transaction regardless of // what frame number has been reached. Transaction& deferTransactionUntil_legacy(const sp<SurfaceControl>& sc, - const sp<IBinder>& handle, uint64_t frameNumber); + const sp<SurfaceControl>& barrierSurfaceControl, + uint64_t frameNumber); // A variant of deferTransactionUntil_legacy which identifies the Layer we wait for by // Surface instead of Handle. Useful for clients which may not have the // SurfaceControl for some of their Surfaces. Otherwise behaves identically. @@ -453,13 +454,12 @@ public: uint64_t frameNumber); // Reparents all children of this layer to the new parent handle. Transaction& reparentChildren(const sp<SurfaceControl>& sc, - const sp<IBinder>& newParentHandle); + const sp<SurfaceControl>& newParent); /// Reparents the current layer to the new parent handle. The new parent must not be null. // This can be used instead of reparentChildren if the caller wants to // only re-parent a specific child. - Transaction& reparent(const sp<SurfaceControl>& sc, - const sp<IBinder>& newParentHandle); + Transaction& reparent(const sp<SurfaceControl>& sc, const sp<SurfaceControl>& newParent); Transaction& setColor(const sp<SurfaceControl>& sc, const half3& color); diff --git a/libs/gui/include/gui/SurfaceControl.h b/libs/gui/include/gui/SurfaceControl.h index c0dfcdb087..35bdfc155d 100644 --- a/libs/gui/include/gui/SurfaceControl.h +++ b/libs/gui/include/gui/SurfaceControl.h @@ -20,7 +20,6 @@ #include <stdint.h> #include <sys/types.h> -#include <utils/KeyedVector.h> #include <utils/RefBase.h> #include <utils/threads.h> diff --git a/libs/gui/tests/EndToEndNativeInputTest.cpp b/libs/gui/tests/EndToEndNativeInputTest.cpp index ef4d870ec7..483f171564 100644 --- a/libs/gui/tests/EndToEndNativeInputTest.cpp +++ b/libs/gui/tests/EndToEndNativeInputTest.cpp @@ -381,7 +381,7 @@ TEST_F(InputSurfacesTest, input_respects_cropped_surface_insets) { childSurface->doTransaction([&](auto &t, auto &sc) { t.setPosition(sc, -5, -5); - t.reparent(sc, parentSurface->mSurfaceControl->getHandle()); + t.reparent(sc, parentSurface->mSurfaceControl); }); injectTap(106, 106); diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 152d872aff..ce90f1cb14 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -3298,7 +3298,7 @@ status_t SurfaceFlinger::setTransactionState( applyTransactionState(frameTimelineVsyncId, states, displays, flags, inputWindowCommands, desiredPresentTime, uncacheBuffer, postTime, privileged, hasListenerCallbacks, listenerCallbacks, originPid, originUid, - /*isMainThread*/ false); + transactionId, /*isMainThread*/ false); return NO_ERROR; } @@ -3591,7 +3591,8 @@ uint32_t SurfaceFlinger::setClientStateLocked( const auto& p = layer->getParent(); if (p == nullptr) { ssize_t idx = mCurrentState.layersSortedByZ.indexOf(layer); - if (layer->setRelativeLayer(s.relativeLayerHandle, s.z) && idx >= 0) { + if (layer->setRelativeLayer(s.relativeLayerSurfaceControl->getHandle(), s.z) && + idx >= 0) { mCurrentState.layersSortedByZ.removeAt(idx); mCurrentState.layersSortedByZ.add(layer); // we need traversal (state changed) @@ -3599,7 +3600,7 @@ uint32_t SurfaceFlinger::setClientStateLocked( flags |= eTransactionNeeded|eTraversalNeeded; } } else { - if (p->setChildRelativeLayer(layer, s.relativeLayerHandle, s.z)) { + if (p->setChildRelativeLayer(layer, s.relativeLayerSurfaceControl->getHandle(), s.z)) { flags |= eTransactionNeeded|eTraversalNeeded; } } @@ -3685,8 +3686,9 @@ uint32_t SurfaceFlinger::setClientStateLocked( } } if (what & layer_state_t::eDeferTransaction_legacy) { - if (s.barrierHandle_legacy != nullptr) { - layer->deferTransactionUntil_legacy(s.barrierHandle_legacy, s.barrierFrameNumber); + if (s.barrierSurfaceControl_legacy != nullptr) { + layer->deferTransactionUntil_legacy(s.barrierSurfaceControl_legacy->getHandle(), + s.barrierFrameNumber); } else if (s.barrierGbp_legacy != nullptr) { const sp<IGraphicBufferProducer>& gbp = s.barrierGbp_legacy; if (authenticateSurfaceTextureLocked(gbp)) { @@ -3702,7 +3704,7 @@ uint32_t SurfaceFlinger::setClientStateLocked( // changed, we don't want this to cause any more work } if (what & layer_state_t::eReparentChildren) { - if (layer->reparentChildren(s.reparentHandle)) { + if (layer->reparentChildren(s.reparentSurfaceControl->getHandle())) { flags |= eTransactionNeeded|eTraversalNeeded; } } @@ -3789,7 +3791,10 @@ uint32_t SurfaceFlinger::setClientStateLocked( // lose its relative z order. if (what & layer_state_t::eReparent) { bool hadParent = layer->hasParent(); - if (layer->reparent(s.parentHandleForChild)) { + auto parentHandle = (s.parentSurfaceControlForChild) + ? s.parentSurfaceControlForChild->getHandle() + : nullptr; + if (layer->reparent(parentHandle)) { if (!hadParent) { mCurrentState.layersSortedByZ.remove(layer); } diff --git a/services/surfaceflinger/SurfaceInterceptor.cpp b/services/surfaceflinger/SurfaceInterceptor.cpp index 4407f4c1da..2687313733 100644 --- a/services/surfaceflinger/SurfaceInterceptor.cpp +++ b/services/surfaceflinger/SurfaceInterceptor.cpp @@ -472,9 +472,10 @@ void SurfaceInterceptor::addSurfaceChangesLocked(Transaction* transaction, } if (state.what & layer_state_t::eDeferTransaction_legacy) { sp<Layer> otherLayer = nullptr; - if (state.barrierHandle_legacy != nullptr) { - otherLayer = - static_cast<Layer::Handle*>(state.barrierHandle_legacy.get())->owner.promote(); + if (state.barrierSurfaceControl_legacy != nullptr) { + otherLayer = static_cast<Layer::Handle*>( + state.barrierSurfaceControl_legacy->getHandle().get()) + ->owner.promote(); } else if (state.barrierGbp_legacy != nullptr) { auto const& gbp = state.barrierGbp_legacy; if (mFlinger->authenticateSurfaceTextureLocked(gbp)) { @@ -489,17 +490,23 @@ void SurfaceInterceptor::addSurfaceChangesLocked(Transaction* transaction, addOverrideScalingModeLocked(transaction, layerId, state.overrideScalingMode); } if (state.what & layer_state_t::eReparent) { - addReparentLocked(transaction, layerId, getLayerIdFromHandle(state.parentHandleForChild)); + auto parentHandle = (state.parentSurfaceControlForChild) + ? state.parentSurfaceControlForChild->getHandle() + : nullptr; + addReparentLocked(transaction, layerId, getLayerIdFromHandle(parentHandle)); } if (state.what & layer_state_t::eReparentChildren) { - addReparentChildrenLocked(transaction, layerId, getLayerIdFromHandle(state.reparentHandle)); + addReparentChildrenLocked(transaction, layerId, + getLayerIdFromHandle(state.reparentSurfaceControl->getHandle())); } if (state.what & layer_state_t::eDetachChildren) { addDetachChildrenLocked(transaction, layerId, true); } if (state.what & layer_state_t::eRelativeLayerChanged) { addRelativeParentLocked(transaction, layerId, - getLayerIdFromHandle(state.relativeLayerHandle), state.z); + getLayerIdFromHandle( + state.relativeLayerSurfaceControl->getHandle()), + state.z); } if (state.what & layer_state_t::eShadowRadiusChanged) { addShadowRadiusLocked(transaction, layerId, state.shadowRadius); diff --git a/services/surfaceflinger/tests/DetachChildren_test.cpp b/services/surfaceflinger/tests/DetachChildren_test.cpp index 3261308560..9c7b1fcc04 100644 --- a/services/surfaceflinger/tests/DetachChildren_test.cpp +++ b/services/surfaceflinger/tests/DetachChildren_test.cpp @@ -61,7 +61,7 @@ TEST_F(DetachChildren, RelativesAreNotDetached) { TransactionUtils::fillSurfaceRGBA8(relative, relativeColor); Transaction{} - .setRelativeLayer(relative, mMainSurface->getHandle(), 1) + .setRelativeLayer(relative, mMainSurface, 1) .setPosition(relative, relBounds.left, relBounds.top) .apply(); @@ -204,7 +204,7 @@ TEST_F(DetachChildren, DetachChildrenThenAttach) { .setLayer(newParentSurface, INT32_MAX - 1) .show(newParentSurface) .setPosition(newParentSurface, newParentBounds.left, newParentBounds.top) - .reparent(childNewClient, newParentSurface->getHandle()) + .reparent(childNewClient, newParentSurface) .apply(); { mCapture = screenshot(); @@ -238,7 +238,7 @@ TEST_F(DetachChildren, DetachChildrenWithDeferredTransaction) { } Transaction() - .deferTransactionUntil_legacy(childNewClient, mMainSurface->getHandle(), + .deferTransactionUntil_legacy(childNewClient, mMainSurface, mMainSurface->getSurface()->getNextFrameNumber()) .apply(); Transaction().detachChildren(mMainSurface).apply(); @@ -290,7 +290,7 @@ TEST_F(DetachChildren, DeferredTransactionOnDetachedChildren) { Transaction().detachChildren(mMainSurface).apply(); Transaction() .setCrop_legacy(childNewClient, {0, 0, childBounds.width(), childBounds.height()}) - .deferTransactionUntil_legacy(childNewClient, mMainSurface->getHandle(), + .deferTransactionUntil_legacy(childNewClient, mMainSurface, mMainSurface->getSurface()->getNextFrameNumber()) .apply(); @@ -352,7 +352,7 @@ TEST_F(DetachChildren, ReparentParentLayerOfDetachedChildren) { mCapture->expectColor(mMainSurfaceBounds, Color::BLACK); } - Transaction().reparent(mMainSurface, mBlackBgSurface->getHandle()).apply(); + Transaction().reparent(mMainSurface, mBlackBgSurface).apply(); { mCapture = screenshot(); mCapture->expectBorder(childBounds, mMainSurfaceColor); diff --git a/services/surfaceflinger/tests/LayerRenderTypeTransaction_test.cpp b/services/surfaceflinger/tests/LayerRenderTypeTransaction_test.cpp index 83e5060830..494728953b 100644 --- a/services/surfaceflinger/tests/LayerRenderTypeTransaction_test.cpp +++ b/services/surfaceflinger/tests/LayerRenderTypeTransaction_test.cpp @@ -211,16 +211,13 @@ void LayerRenderTypeTransactionTest::setRelativeZBasicHelper(uint32_t layerType) switch (layerType) { case ISurfaceComposerClient::eFXSurfaceBufferQueue: - Transaction() - .setPosition(layerG, 16, 16) - .setRelativeLayer(layerG, layerR->getHandle(), 1) - .apply(); + Transaction().setPosition(layerG, 16, 16).setRelativeLayer(layerG, layerR, 1).apply(); break; case ISurfaceComposerClient::eFXSurfaceBufferState: Transaction() .setFrame(layerR, Rect(0, 0, 32, 32)) .setFrame(layerG, Rect(16, 16, 48, 48)) - .setRelativeLayer(layerG, layerR->getHandle(), 1) + .setRelativeLayer(layerG, layerR, 1) .apply(); break; default: @@ -233,7 +230,7 @@ void LayerRenderTypeTransactionTest::setRelativeZBasicHelper(uint32_t layerType) shot->expectColor(Rect(16, 16, 48, 48), Color::GREEN); } - Transaction().setRelativeLayer(layerG, layerR->getHandle(), -1).apply(); + Transaction().setRelativeLayer(layerG, layerR, -1).apply(); { SCOPED_TRACE("layerG below"); auto shot = getScreenCapture(); @@ -266,7 +263,7 @@ void LayerRenderTypeTransactionTest::setRelativeZGroupHelper(uint32_t layerType) case ISurfaceComposerClient::eFXSurfaceBufferQueue: Transaction() .setPosition(layerG, 8, 8) - .setRelativeLayer(layerG, layerR->getHandle(), 3) + .setRelativeLayer(layerG, layerR, 3) .setPosition(layerB, 16, 16) .setLayer(layerB, mLayerZBase + 2) .apply(); @@ -275,7 +272,7 @@ void LayerRenderTypeTransactionTest::setRelativeZGroupHelper(uint32_t layerType) Transaction() .setFrame(layerR, Rect(0, 0, 32, 32)) .setFrame(layerG, Rect(8, 8, 40, 40)) - .setRelativeLayer(layerG, layerR->getHandle(), 3) + .setRelativeLayer(layerG, layerR, 3) .setFrame(layerB, Rect(16, 16, 48, 48)) .setLayer(layerB, mLayerZBase + 2) .apply(); @@ -303,7 +300,7 @@ void LayerRenderTypeTransactionTest::setRelativeZGroupHelper(uint32_t layerType) } // layerR = 4, layerG = layerR - 3, layerB = 2 - Transaction().setRelativeLayer(layerG, layerR->getHandle(), -3).apply(); + Transaction().setRelativeLayer(layerG, layerR, -3).apply(); { SCOPED_TRACE("layerB < (layerG < layerR)"); auto shot = getScreenCapture(); @@ -810,7 +807,7 @@ TEST_P(LayerRenderTypeTransactionTest, SetColorWithParentAlpha_Bug74220420) { // channel) should be less than one const uint8_t tolerance = 1; Transaction() - .reparent(colorLayer, parentLayer->getHandle()) + .reparent(colorLayer, parentLayer) .setColor(colorLayer, color) .setAlpha(parentLayer, alpha) .setLayer(parentLayer, mLayerZBase + 1) @@ -1225,7 +1222,7 @@ TEST_P(LayerRenderTypeTransactionTest, SetFrameDefaultBSParent_BufferState) { child = createLayer("test", 32, 32, ISurfaceComposerClient::eFXSurfaceBufferState)); ASSERT_NO_FATAL_FAILURE(fillBufferStateLayerColor(child, Color::BLUE, 10, 10)); - Transaction().reparent(child, parent->getHandle()).apply(); + Transaction().reparent(child, parent).apply(); // A layer will default to the frame of its parent auto shot = getScreenCapture(); @@ -1242,7 +1239,7 @@ TEST_P(LayerRenderTypeTransactionTest, SetFrameDefaultBQParent_BufferState) { child = createLayer("test", 32, 32, ISurfaceComposerClient::eFXSurfaceBufferState)); ASSERT_NO_FATAL_FAILURE(fillBufferStateLayerColor(child, Color::BLUE, 10, 10)); - Transaction().reparent(child, parent->getHandle()).apply(); + Transaction().reparent(child, parent).apply(); // A layer will default to the frame of its parent auto shot = getScreenCapture(); @@ -1272,7 +1269,7 @@ TEST_P(LayerRenderTypeTransactionTest, SetFrameOutsideBounds_BufferState) { parent = createLayer("test", 32, 32, ISurfaceComposerClient::eFXSurfaceBufferState)); ASSERT_NO_FATAL_FAILURE( child = createLayer("test", 32, 32, ISurfaceComposerClient::eFXSurfaceBufferState)); - Transaction().reparent(child, parent->getHandle()).apply(); + Transaction().reparent(child, parent).apply(); ASSERT_NO_FATAL_FAILURE(fillBufferStateLayerColor(parent, Color::RED, 32, 32)); Transaction().setFrame(parent, Rect(0, 0, 32, 32)).apply(); diff --git a/services/surfaceflinger/tests/LayerTransaction_test.cpp b/services/surfaceflinger/tests/LayerTransaction_test.cpp index 8d715e1597..ef992d6a40 100644 --- a/services/surfaceflinger/tests/LayerTransaction_test.cpp +++ b/services/surfaceflinger/tests/LayerTransaction_test.cpp @@ -50,7 +50,7 @@ TEST_F(LayerTransactionTest, ReparentToSelf) { sp<SurfaceControl> layer; ASSERT_NO_FATAL_FAILURE(layer = createLayer("test", 32, 32)); ASSERT_NO_FATAL_FAILURE(fillBufferQueueLayerColor(layer, Color::RED, 32, 32)); - Transaction().reparent(layer, layer->getHandle()).apply(); + Transaction().reparent(layer, layer).apply(); { // We expect the transaction to be silently dropped, but for SurfaceFlinger diff --git a/services/surfaceflinger/tests/LayerTypeAndRenderTypeTransaction_test.cpp b/services/surfaceflinger/tests/LayerTypeAndRenderTypeTransaction_test.cpp index 7d4314f4df..c57ad4364a 100644 --- a/services/surfaceflinger/tests/LayerTypeAndRenderTypeTransaction_test.cpp +++ b/services/surfaceflinger/tests/LayerTypeAndRenderTypeTransaction_test.cpp @@ -87,10 +87,7 @@ TEST_P(LayerTypeAndRenderTypeTransactionTest, SetRelativeZBug64572777) { ASSERT_NO_FATAL_FAILURE(layerG = createLayer("test G", 32, 32)); ASSERT_NO_FATAL_FAILURE(fillLayerColor(layerG, Color::GREEN, 32, 32)); - Transaction() - .setPosition(layerG, 16, 16) - .setRelativeLayer(layerG, layerR->getHandle(), 1) - .apply(); + Transaction().setPosition(layerG, 16, 16).setRelativeLayer(layerG, layerR, 1).apply(); Transaction().reparent(layerG, nullptr).apply(); @@ -154,10 +151,7 @@ TEST_P(LayerTypeAndRenderTypeTransactionTest, SetZNegative) { ASSERT_NO_FATAL_FAILURE(layerG = createLayer("test G", 32, 32)); ASSERT_NO_FATAL_FAILURE(fillLayerColor(layerG, Color::GREEN, 32, 32)); - Transaction() - .reparent(layerR, parent->getHandle()) - .reparent(layerG, parent->getHandle()) - .apply(); + Transaction().reparent(layerR, parent).reparent(layerG, parent).apply(); Transaction().setLayer(layerR, -1).setLayer(layerG, -2).apply(); { SCOPED_TRACE("layerR"); @@ -241,7 +235,7 @@ TEST_P(LayerTypeAndRenderTypeTransactionTest, SetCornerRadiusRotated) { auto transaction = Transaction() .setCornerRadius(parent, cornerRadius) .setCrop_legacy(parent, Rect(0, 0, size, size)) - .reparent(child, parent->getHandle()) + .reparent(child, parent) .setPosition(child, 0, size) // Rotate by half PI .setMatrix(child, 0.0f, -1.0f, 1.0f, 0.0f); @@ -283,14 +277,14 @@ TEST_P(LayerTypeAndRenderTypeTransactionTest, SetCornerRadiusChildCrop) { Transaction() .setCornerRadius(parent, cornerRadius) .setCrop_legacy(parent, Rect(0, 0, size, size)) - .reparent(child, parent->getHandle()) + .reparent(child, parent) .setPosition(child, 0, size / 2) .apply(); } else { Transaction() .setCornerRadius(parent, cornerRadius) .setFrame(parent, Rect(0, 0, size, size)) - .reparent(child, parent->getHandle()) + .reparent(child, parent) .setFrame(child, Rect(0, size / 2, size, size)) .apply(); } diff --git a/services/surfaceflinger/tests/LayerTypeTransaction_test.cpp b/services/surfaceflinger/tests/LayerTypeTransaction_test.cpp index ab74c50323..f8a0bc1124 100644 --- a/services/surfaceflinger/tests/LayerTypeTransaction_test.cpp +++ b/services/surfaceflinger/tests/LayerTypeTransaction_test.cpp @@ -54,10 +54,10 @@ TEST_P(LayerTypeTransactionTest, SetRelativeZNegative) { ASSERT_NO_FATAL_FAILURE(layerB = createLayer("test B", 32, 32)); ASSERT_NO_FATAL_FAILURE(fillLayerColor(layerB, Color::BLUE, 32, 32)); - Transaction().reparent(layerB, parent->getHandle()).apply(); + Transaction().reparent(layerB, parent).apply(); // layerR = mLayerZBase, layerG = layerR - 1, layerB = -2 - Transaction().setRelativeLayer(layerG, layerR->getHandle(), -1).setLayer(layerB, -2).apply(); + Transaction().setRelativeLayer(layerG, layerR, -1).setLayer(layerB, -2).apply(); std::unique_ptr<ScreenCapture> screenshot; // only layerB is in this range @@ -88,10 +88,7 @@ TEST_P(LayerTypeTransactionTest, SetLayerAndRelative) { .setCrop_legacy(childLayer, Rect(0, 0, 20, 30)) .apply(); - Transaction() - .setRelativeLayer(childLayer, parent->getHandle(), -1) - .setLayer(childLayer, 1) - .apply(); + Transaction().setRelativeLayer(childLayer, parent, -1).setLayer(childLayer, 1).apply(); { SCOPED_TRACE("setLayer above"); @@ -101,10 +98,7 @@ TEST_P(LayerTypeTransactionTest, SetLayerAndRelative) { screenshot->expectColor(Rect(0, 0, 20, 30), Color::RED); } - Transaction() - .setLayer(childLayer, 1) - .setRelativeLayer(childLayer, parent->getHandle(), -1) - .apply(); + Transaction().setLayer(childLayer, 1).setRelativeLayer(childLayer, parent, -1).apply(); { SCOPED_TRACE("setRelative below"); @@ -141,7 +135,7 @@ TEST_P(LayerTypeTransactionTest, HideRelativeParentHidesLayer) { .setLayer(relativeParent, mLayerZBase) .apply(); - Transaction().setRelativeLayer(childLayer, relativeParent->getHandle(), 1).apply(); + Transaction().setRelativeLayer(childLayer, relativeParent, 1).apply(); { SCOPED_TRACE("setLayer above"); diff --git a/services/surfaceflinger/tests/LayerUpdate_test.cpp b/services/surfaceflinger/tests/LayerUpdate_test.cpp index c56d473394..38da0b195b 100644 --- a/services/surfaceflinger/tests/LayerUpdate_test.cpp +++ b/services/surfaceflinger/tests/LayerUpdate_test.cpp @@ -173,13 +173,13 @@ TEST_F(LayerUpdateTest, DeferredTransactionTest) { // set up two deferred transactions on different frames asTransaction([&](Transaction& t) { t.setAlpha(mFGSurfaceControl, 0.75); - t.deferTransactionUntil_legacy(mFGSurfaceControl, mSyncSurfaceControl->getHandle(), + t.deferTransactionUntil_legacy(mFGSurfaceControl, mSyncSurfaceControl, mSyncSurfaceControl->getSurface()->getNextFrameNumber()); }); asTransaction([&](Transaction& t) { t.setPosition(mFGSurfaceControl, 128, 128); - t.deferTransactionUntil_legacy(mFGSurfaceControl, mSyncSurfaceControl->getHandle(), + t.deferTransactionUntil_legacy(mFGSurfaceControl, mSyncSurfaceControl, mSyncSurfaceControl->getSurface()->getNextFrameNumber() + 1); }); @@ -480,9 +480,8 @@ TEST_F(ChildLayerTest, ReparentChildren) { mCapture->expectFGColor(84, 84); } - asTransaction([&](Transaction& t) { - t.reparentChildren(mFGSurfaceControl, mBGSurfaceControl->getHandle()); - }); + asTransaction( + [&](Transaction& t) { t.reparentChildren(mFGSurfaceControl, mBGSurfaceControl); }); { mCapture = screenshot(); @@ -516,7 +515,7 @@ TEST_F(ChildLayerTest, ChildrenSurviveParentDestruction) { mCapture->expectFGColor(64, 64); } - asTransaction([&](Transaction& t) { t.reparent(mGrandChild, mFGSurfaceControl->getHandle()); }); + asTransaction([&](Transaction& t) { t.reparent(mGrandChild, mFGSurfaceControl); }); { SCOPED_TRACE("After reparenting grandchild"); @@ -531,9 +530,7 @@ TEST_F(ChildLayerTest, ChildrenRelativeZSurvivesParentDestruction) { TransactionUtils::fillSurfaceRGBA8(mGrandChild, 111, 111, 111); // draw grand child behind the foreground surface - asTransaction([&](Transaction& t) { - t.setRelativeLayer(mGrandChild, mFGSurfaceControl->getHandle(), -1); - }); + asTransaction([&](Transaction& t) { t.setRelativeLayer(mGrandChild, mFGSurfaceControl, -1); }); { SCOPED_TRACE("Child visible"); @@ -543,7 +540,7 @@ TEST_F(ChildLayerTest, ChildrenRelativeZSurvivesParentDestruction) { asTransaction([&](Transaction& t) { t.reparent(mChild, nullptr); - t.reparentChildren(mChild, mFGSurfaceControl->getHandle()); + t.reparentChildren(mChild, mFGSurfaceControl); }); { @@ -739,7 +736,7 @@ TEST_F(ChildLayerTest, Bug36858924) { // Show the child layer in a deferred transaction asTransaction([&](Transaction& t) { - t.deferTransactionUntil_legacy(mChild, mFGSurfaceControl->getHandle(), + t.deferTransactionUntil_legacy(mChild, mFGSurfaceControl, mFGSurfaceControl->getSurface()->getNextFrameNumber()); t.show(mChild); }); @@ -776,7 +773,7 @@ TEST_F(ChildLayerTest, Reparent) { mCapture->expectFGColor(84, 84); } - asTransaction([&](Transaction& t) { t.reparent(mChild, mBGSurfaceControl->getHandle()); }); + asTransaction([&](Transaction& t) { t.reparent(mChild, mBGSurfaceControl); }); { mCapture = screenshot(); @@ -838,7 +835,7 @@ TEST_F(ChildLayerTest, ReparentFromNoParent) { mCapture->checkPixel(10, 10, 63, 195, 63); } - asTransaction([&](Transaction& t) { t.reparent(newSurface, mFGSurfaceControl->getHandle()); }); + asTransaction([&](Transaction& t) { t.reparent(newSurface, mFGSurfaceControl); }); { mCapture = screenshot(); @@ -869,7 +866,7 @@ TEST_F(ChildLayerTest, ChildLayerRelativeLayer) { Transaction t; t.setLayer(relative, INT32_MAX) - .setRelativeLayer(mChild, relative->getHandle(), 1) + .setRelativeLayer(mChild, relative, 1) .setPosition(mFGSurfaceControl, 0, 0) .apply(true); diff --git a/services/surfaceflinger/tests/MirrorLayer_test.cpp b/services/surfaceflinger/tests/MirrorLayer_test.cpp index b49bd54599..16826c1f61 100644 --- a/services/surfaceflinger/tests/MirrorLayer_test.cpp +++ b/services/surfaceflinger/tests/MirrorLayer_test.cpp @@ -68,7 +68,7 @@ TEST_F(MirrorLayerTest, MirrorColorLayer) { // Add mirrorLayer as child of mParentLayer so it's shown on the display Transaction() - .reparent(mirrorLayer, mParentLayer->getHandle()) + .reparent(mirrorLayer, mParentLayer) .setPosition(mirrorLayer, 500, 500) .show(mirrorLayer) .apply(); @@ -127,7 +127,7 @@ TEST_F(MirrorLayerTest, MirrorColorLayer) { } // Add grandchild layer to offscreen layer - Transaction().reparent(grandchild, mChildLayer->getHandle()).apply(); + Transaction().reparent(grandchild, mChildLayer).apply(); { SCOPED_TRACE("Added Grandchild Layer"); auto shot = screenshot(); @@ -138,7 +138,7 @@ TEST_F(MirrorLayerTest, MirrorColorLayer) { } // Add child layer - Transaction().reparent(mChildLayer, mParentLayer->getHandle()).apply(); + Transaction().reparent(mChildLayer, mParentLayer).apply(); { SCOPED_TRACE("Added Child Layer"); auto shot = screenshot(); @@ -157,7 +157,7 @@ TEST_F(MirrorLayerTest, MirrorBufferLayer) { sp<SurfaceControl> mirrorLayer = mClient->mirrorSurface(mChildLayer.get()); Transaction() - .reparent(mirrorLayer, mParentLayer->getHandle()) + .reparent(mirrorLayer, mParentLayer) .setPosition(mirrorLayer, 500, 500) .show(mirrorLayer) .apply(); diff --git a/services/surfaceflinger/tests/RelativeZ_test.cpp b/services/surfaceflinger/tests/RelativeZ_test.cpp index 3e0b3c64e7..fde6e6eff8 100644 --- a/services/surfaceflinger/tests/RelativeZ_test.cpp +++ b/services/surfaceflinger/tests/RelativeZ_test.cpp @@ -70,10 +70,7 @@ TEST_F(RelativeZTest, LayerRemoved) { sp<SurfaceControl> childLayer = createColorLayer("Child layer", Color::BLUE, mBackgroundLayer.get()); - Transaction{} - .setRelativeLayer(childLayer, mForegroundLayer->getHandle(), 1) - .show(childLayer) - .apply(); + Transaction{}.setRelativeLayer(childLayer, mForegroundLayer, 1).show(childLayer).apply(); { // The childLayer should be in front of the FG control. @@ -88,7 +85,7 @@ TEST_F(RelativeZTest, LayerRemoved) { // Background layer (RED) // Child layer (WHITE) // Foregroud layer (GREEN) - Transaction{}.reparent(childLayer, mBackgroundLayer->getHandle()).apply(); + Transaction{}.reparent(childLayer, mBackgroundLayer).apply(); { // The relative z info for child layer should be reset, leaving FG control on top. @@ -118,7 +115,7 @@ TEST_F(RelativeZTest, LayerRemovedOffscreenRelativeParent) { createColorLayer("child level 3", Color::GREEN, childLevel2a.get()); Transaction{} - .setRelativeLayer(childLevel3, childLevel2b->getHandle(), 1) + .setRelativeLayer(childLevel3, childLevel2b, 1) .show(childLevel2a) .show(childLevel2b) .show(childLevel3) @@ -140,7 +137,7 @@ TEST_F(RelativeZTest, LayerRemovedOffscreenRelativeParent) { // child level 2 back (BLUE) // child level 3 (GREEN) (relative to child level 2b) // child level 2 front (BLACK) - Transaction{}.reparent(childLevel1, mForegroundLayer->getHandle()).apply(); + Transaction{}.reparent(childLevel1, mForegroundLayer).apply(); { // Nothing should change at this point since relative z info was preserved. @@ -162,7 +159,7 @@ TEST_F(RelativeZTest, LayerAndRelativeRemoved) { createColorLayer("Relative layer", Color::WHITE, mForegroundLayer.get()); Transaction{} - .setRelativeLayer(childLayer, relativeToLayer->getHandle(), 1) + .setRelativeLayer(childLayer, relativeToLayer, 1) .show(childLayer) .show(relativeToLayer) .apply(); @@ -199,7 +196,7 @@ TEST_F(RelativeZTest, LayerAndRelativeRemoved) { // Background layer (RED) // Foregroud layer (GREEN) // Child layer (BLUE) - Transaction{}.reparent(childLayer, mForegroundLayer->getHandle()).apply(); + Transaction{}.reparent(childLayer, mForegroundLayer).apply(); { // The relative z info for child layer should be reset, leaving the child layer on top. @@ -230,7 +227,7 @@ TEST_F(RelativeZTest, LayerWithRelativeReparentedToOffscreen) { createColorLayer("child level 2b", Color::BLACK, childLevel1b.get()); Transaction{} - .setRelativeLayer(childLevel1a, childLevel2b->getHandle(), 1) + .setRelativeLayer(childLevel1a, childLevel2b, 1) .show(childLevel1a) .show(childLevel1b) .show(childLevel2a) @@ -250,7 +247,7 @@ TEST_F(RelativeZTest, LayerWithRelativeReparentedToOffscreen) { // // Background layer (RED) // // Foregroud layer (GREEN) - Transaction{}.reparent(childLevel1a, childLevel2a->getHandle()).apply(); + Transaction{}.reparent(childLevel1a, childLevel2a).apply(); { // The childLevel1a and childLevel1b are no longer on screen @@ -264,7 +261,7 @@ TEST_F(RelativeZTest, LayerWithRelativeReparentedToOffscreen) { // child level 2a (BLUE) // child level 1a (testLayerColor) (relative to child level 2b) // child level 2b (BLACK) - Transaction{}.reparent(childLevel1b, mForegroundLayer->getHandle()).apply(); + Transaction{}.reparent(childLevel1b, mForegroundLayer).apply(); { // Nothing should change at this point since relative z info was preserved. diff --git a/services/surfaceflinger/tests/ScreenCapture_test.cpp b/services/surfaceflinger/tests/ScreenCapture_test.cpp index 3ab2ad183c..e1739968c0 100644 --- a/services/surfaceflinger/tests/ScreenCapture_test.cpp +++ b/services/surfaceflinger/tests/ScreenCapture_test.cpp @@ -239,7 +239,7 @@ TEST_F(ScreenCaptureTest, DontCaptureRelativeOutsideTree) { SurfaceComposerClient::Transaction() .show(child) // Set relative layer above fg layer so should be shown above when computing all layers. - .setRelativeLayer(relative, mFGSurfaceControl->getHandle(), 1) + .setRelativeLayer(relative, mFGSurfaceControl, 1) .show(relative) .apply(true); @@ -264,7 +264,7 @@ TEST_F(ScreenCaptureTest, CaptureRelativeInTree) { // Set relative layer below fg layer but relative to child layer so it should be shown // above child layer. .setLayer(relative, -1) - .setRelativeLayer(relative, child->getHandle(), 1) + .setRelativeLayer(relative, child, 1) .show(relative) .apply(true); @@ -707,7 +707,7 @@ TEST_F(ScreenCaptureTest, CaptureLayerWithUid) { .setLayer(layerWithFakeUid, INT32_MAX) .setPosition(layerWithFakeUid, 128, 128) // reparent a layer that was created with a different uid to the new layer. - .reparent(layer, layerWithFakeUid->getHandle()) + .reparent(layer, layerWithFakeUid) .apply(); // Screenshot from the fakeUid caller with the uid requested allows the layer diff --git a/services/surfaceflinger/tests/SurfaceInterceptor_test.cpp b/services/surfaceflinger/tests/SurfaceInterceptor_test.cpp index 8570032aae..104d919216 100644 --- a/services/surfaceflinger/tests/SurfaceInterceptor_test.cpp +++ b/services/surfaceflinger/tests/SurfaceInterceptor_test.cpp @@ -397,16 +397,15 @@ void SurfaceInterceptorTest::secureFlagUpdate(Transaction& t) { } void SurfaceInterceptorTest::deferredTransactionUpdate(Transaction& t) { - t.deferTransactionUntil_legacy(mBGSurfaceControl, mBGSurfaceControl->getHandle(), - DEFERRED_UPDATE); + t.deferTransactionUntil_legacy(mBGSurfaceControl, mBGSurfaceControl, DEFERRED_UPDATE); } void SurfaceInterceptorTest::reparentUpdate(Transaction& t) { - t.reparent(mBGSurfaceControl, mFGSurfaceControl->getHandle()); + t.reparent(mBGSurfaceControl, mFGSurfaceControl); } void SurfaceInterceptorTest::relativeParentUpdate(Transaction& t) { - t.setRelativeLayer(mBGSurfaceControl, mFGSurfaceControl->getHandle(), RELATIVE_Z); + t.setRelativeLayer(mBGSurfaceControl, mFGSurfaceControl, RELATIVE_Z); } void SurfaceInterceptorTest::detachChildrenUpdate(Transaction& t) { @@ -414,7 +413,7 @@ void SurfaceInterceptorTest::detachChildrenUpdate(Transaction& t) { } void SurfaceInterceptorTest::reparentChildrenUpdate(Transaction& t) { - t.reparentChildren(mBGSurfaceControl, mFGSurfaceControl->getHandle()); + t.reparentChildren(mBGSurfaceControl, mFGSurfaceControl); } void SurfaceInterceptorTest::shadowRadiusUpdate(Transaction& t) { diff --git a/services/surfaceflinger/tests/fakehwc/SFFakeHwc_test.cpp b/services/surfaceflinger/tests/fakehwc/SFFakeHwc_test.cpp index 87fc08a828..07c558f342 100644 --- a/services/surfaceflinger/tests/fakehwc/SFFakeHwc_test.cpp +++ b/services/surfaceflinger/tests/fakehwc/SFFakeHwc_test.cpp @@ -1322,7 +1322,7 @@ protected: { TransactionScope ts(*sFakeComposer); ts.setAlpha(mFGSurfaceControl, 0.75); - ts.deferTransactionUntil_legacy(mFGSurfaceControl, syncSurfaceControl->getHandle(), + ts.deferTransactionUntil_legacy(mFGSurfaceControl, syncSurfaceControl, syncSurfaceControl->getSurface()->getNextFrameNumber()); } EXPECT_TRUE(framesAreSame(referenceFrame, sFakeComposer->getLatestFrame())); @@ -1330,7 +1330,7 @@ protected: { TransactionScope ts(*sFakeComposer); ts.setPosition(mFGSurfaceControl, 128, 128); - ts.deferTransactionUntil_legacy(mFGSurfaceControl, syncSurfaceControl->getHandle(), + ts.deferTransactionUntil_legacy(mFGSurfaceControl, syncSurfaceControl, syncSurfaceControl->getSurface()->getNextFrameNumber() + 1); } @@ -1376,7 +1376,7 @@ protected: TransactionScope ts(*sFakeComposer); ts.setPosition(relativeSurfaceControl, 64, 64); ts.show(relativeSurfaceControl); - ts.setRelativeLayer(relativeSurfaceControl, mFGSurfaceControl->getHandle(), 1); + ts.setRelativeLayer(relativeSurfaceControl, mFGSurfaceControl, 1); } auto referenceFrame = mBaseFrame; // NOTE: All three layers will be visible as the surfaces are @@ -1606,7 +1606,7 @@ protected: { TransactionScope ts(*Base::sFakeComposer); - ts.reparentChildren(Base::mFGSurfaceControl, Base::mBGSurfaceControl->getHandle()); + ts.reparentChildren(Base::mFGSurfaceControl, Base::mBGSurfaceControl); } auto referenceFrame2 = referenceFrame; @@ -1761,7 +1761,7 @@ protected: // Show the child layer in a deferred transaction { TransactionScope ts(*Base::sFakeComposer); - ts.deferTransactionUntil_legacy(mChild, Base::mFGSurfaceControl->getHandle(), + ts.deferTransactionUntil_legacy(mChild, Base::mFGSurfaceControl, Base::mFGSurfaceControl->getSurface() ->getNextFrameNumber()); ts.show(mChild); |