summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Priyanka Advani (xWF) <padvani@google.com> 2025-02-19 17:35:16 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2025-02-19 17:35:16 -0800
commitf73db7a6242e297ead71df0d0d1fb3a8515245d3 (patch)
treed8b75648a2c39694a22e13dec94ac10344ca11ec
parent81793808b9347a52dd979e4b3d5d9d10fc8c4915 (diff)
Revert "Harden construction sites of android::StrongPointer."
This reverts commit 81793808b9347a52dd979e4b3d5d9d10fc8c4915. Reason for revert: Droidmonitor created revert due to b/397788382. Will be verifying through ABTD before submission. Change-Id: Idd58b82a5a5380053cdff4e7b92eafa66b2c2782
-rw-r--r--libs/gui/BLASTBufferQueue.cpp24
-rw-r--r--libs/gui/BufferItem.cpp4
-rw-r--r--libs/gui/BufferQueue.cpp7
-rw-r--r--libs/gui/BufferQueueProducer.cpp19
-rw-r--r--libs/gui/BufferReleaseChannel.cpp4
-rw-r--r--libs/gui/Choreographer.cpp7
-rw-r--r--libs/gui/ConsumerBase.cpp2
-rw-r--r--libs/gui/CpuConsumer.cpp2
-rw-r--r--libs/gui/DisplayEventDispatcher.cpp3
-rw-r--r--libs/gui/GLConsumer.cpp14
-rw-r--r--libs/gui/IGraphicBufferProducer.cpp22
-rw-r--r--libs/gui/IGraphicBufferProducerFlattenables.cpp8
-rw-r--r--libs/gui/ITransactionCompletedListener.cpp6
-rw-r--r--libs/gui/LayerState.cpp6
-rw-r--r--libs/gui/ScreenCaptureResults.cpp5
-rw-r--r--libs/gui/StreamSplitter.cpp7
-rw-r--r--libs/gui/Surface.cpp17
-rw-r--r--libs/gui/SurfaceComposerClient.cpp29
-rw-r--r--libs/gui/SurfaceControl.cpp11
-rw-r--r--libs/gui/WindowInfosListenerReporter.cpp15
-rw-r--r--libs/gui/bufferqueue/1.0/H2BGraphicBufferProducer.cpp16
-rw-r--r--libs/gui/bufferqueue/2.0/B2HGraphicBufferProducer.cpp2
-rw-r--r--libs/gui/bufferqueue/2.0/H2BGraphicBufferProducer.cpp2
-rw-r--r--libs/gui/bufferqueue/2.0/types.cpp6
-rw-r--r--libs/gui/include/gui/StreamSplitter.h2
25 files changed, 110 insertions, 130 deletions
diff --git a/libs/gui/BLASTBufferQueue.cpp b/libs/gui/BLASTBufferQueue.cpp
index ddf5d394bf..0848fac293 100644
--- a/libs/gui/BLASTBufferQueue.cpp
+++ b/libs/gui/BLASTBufferQueue.cpp
@@ -197,15 +197,15 @@ BLASTBufferQueue::BLASTBufferQueue(const std::string& name, bool updateDestinati
mUpdateDestinationFrame(updateDestinationFrame) {
createBufferQueue(&mProducer, &mConsumer);
#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
- mBufferItemConsumer = sp<BLASTBufferItemConsumer>::make(mProducer, mConsumer,
- GraphicBuffer::USAGE_HW_COMPOSER |
- GraphicBuffer::USAGE_HW_TEXTURE,
- 1, false, this);
+ mBufferItemConsumer = new BLASTBufferItemConsumer(mProducer, mConsumer,
+ GraphicBuffer::USAGE_HW_COMPOSER |
+ GraphicBuffer::USAGE_HW_TEXTURE,
+ 1, false, this);
#else
- mBufferItemConsumer = sp<BLASTBufferItemConsumer>::make(mConsumer,
- GraphicBuffer::USAGE_HW_COMPOSER |
- GraphicBuffer::USAGE_HW_TEXTURE,
- 1, false, this);
+ mBufferItemConsumer = new BLASTBufferItemConsumer(mConsumer,
+ GraphicBuffer::USAGE_HW_COMPOSER |
+ GraphicBuffer::USAGE_HW_TEXTURE,
+ 1, false, this);
#endif // COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
// since the adapter is in the client process, set dequeue timeout
// explicitly so that dequeueBuffer will block
@@ -641,8 +641,7 @@ status_t BLASTBufferQueue::acquireNextBufferLocked(
bufferItem.mScalingMode, crop);
auto releaseBufferCallback = makeReleaseBufferCallbackThunk();
- sp<Fence> fence =
- bufferItem.mFence ? sp<Fence>::make(bufferItem.mFence->dup()) : Fence::NO_FENCE;
+ sp<Fence> fence = bufferItem.mFence ? new Fence(bufferItem.mFence->dup()) : Fence::NO_FENCE;
nsecs_t dequeueTime = -1;
{
@@ -1019,8 +1018,7 @@ sp<Surface> BLASTBufferQueue::getSurface(bool includeSurfaceControlHandle) {
if (includeSurfaceControlHandle && mSurfaceControl) {
scHandle = mSurfaceControl->getHandle();
}
- return sp<BBQSurface>::make(mProducer, true, scHandle,
- sp<BLASTBufferQueue>::fromExisting(this));
+ return new BBQSurface(mProducer, true, scHandle, this);
}
void BLASTBufferQueue::mergeWithNextTransaction(SurfaceComposerClient::Transaction* t,
@@ -1183,7 +1181,7 @@ public:
return BufferQueueProducer::connect(listener, api, producerControlledByApp, output);
}
- return BufferQueueProducer::connect(sp<AsyncProducerListener>::make(listener), api,
+ return BufferQueueProducer::connect(new AsyncProducerListener(listener), api,
producerControlledByApp, output);
}
diff --git a/libs/gui/BufferItem.cpp b/libs/gui/BufferItem.cpp
index 9dcd5dc4c5..3b2d337a21 100644
--- a/libs/gui/BufferItem.cpp
+++ b/libs/gui/BufferItem.cpp
@@ -215,14 +215,14 @@ status_t BufferItem::unflatten(
FlattenableUtils::read(buffer, size, flags);
if (flags & 1) {
- mGraphicBuffer = sp<GraphicBuffer>::make();
+ mGraphicBuffer = new GraphicBuffer();
status_t err = mGraphicBuffer->unflatten(buffer, size, fds, count);
if (err) return err;
size -= FlattenableUtils::align<4>(buffer);
}
if (flags & 2) {
- mFence = sp<Fence>::make();
+ mFence = new Fence();
status_t err = mFence->unflatten(buffer, size, fds, count);
if (err) return err;
size -= FlattenableUtils::align<4>(buffer);
diff --git a/libs/gui/BufferQueue.cpp b/libs/gui/BufferQueue.cpp
index f21ac18f3c..f1374e23fd 100644
--- a/libs/gui/BufferQueue.cpp
+++ b/libs/gui/BufferQueue.cpp
@@ -125,16 +125,15 @@ void BufferQueue::createBufferQueue(sp<IGraphicBufferProducer>* outProducer,
LOG_ALWAYS_FATAL_IF(outConsumer == nullptr,
"BufferQueue: outConsumer must not be NULL");
- sp<BufferQueueCore> core = sp<BufferQueueCore>::make();
+ sp<BufferQueueCore> core(new BufferQueueCore());
LOG_ALWAYS_FATAL_IF(core == nullptr,
"BufferQueue: failed to create BufferQueueCore");
- sp<IGraphicBufferProducer> producer =
- sp<BufferQueueProducer>::make(core, consumerIsSurfaceFlinger);
+ sp<IGraphicBufferProducer> producer(new BufferQueueProducer(core, consumerIsSurfaceFlinger));
LOG_ALWAYS_FATAL_IF(producer == nullptr,
"BufferQueue: failed to create BufferQueueProducer");
- sp<IGraphicBufferConsumer> consumer = sp<BufferQueueConsumer>::make(core);
+ sp<IGraphicBufferConsumer> consumer(new BufferQueueConsumer(core));
LOG_ALWAYS_FATAL_IF(consumer == nullptr,
"BufferQueue: failed to create BufferQueueConsumer");
diff --git a/libs/gui/BufferQueueProducer.cpp b/libs/gui/BufferQueueProducer.cpp
index 54b3a1f08c..c241482827 100644
--- a/libs/gui/BufferQueueProducer.cpp
+++ b/libs/gui/BufferQueueProducer.cpp
@@ -693,11 +693,11 @@ status_t BufferQueueProducer::dequeueBuffer(int* outSlot, sp<android::Fence>* ou
.requestorName = {mConsumerName.c_str(), mConsumerName.size()},
.extras = std::move(tempOptions),
};
- sp<GraphicBuffer> graphicBuffer = sp<GraphicBuffer>::make(allocRequest);
+ sp<GraphicBuffer> graphicBuffer = new GraphicBuffer(allocRequest);
#else
sp<GraphicBuffer> graphicBuffer =
- sp<GraphicBuffer>::make(width, height, format, BQ_LAYER_COUNT, usage,
- std::string{mConsumerName.c_str(), mConsumerName.size()});
+ new GraphicBuffer(width, height, format, BQ_LAYER_COUNT, usage,
+ {mConsumerName.c_str(), mConsumerName.size()});
#endif
status_t error = graphicBuffer->initCheck();
@@ -1464,7 +1464,7 @@ status_t BufferQueueProducer::connect(const sp<IProducerListener>& listener,
#ifndef NO_BINDER
if (IInterface::asBinder(listener)->remoteBinder() != nullptr) {
status = IInterface::asBinder(listener)->linkToDeath(
- sp<IBinder::DeathRecipient>::fromExisting(this));
+ static_cast<IBinder::DeathRecipient*>(this));
if (status != NO_ERROR) {
BQ_LOGE("connect: linkToDeath failed: %s (%d)",
strerror(-status), status);
@@ -1553,7 +1553,8 @@ status_t BufferQueueProducer::disconnect(int api, DisconnectMode mode) {
IInterface::asBinder(mCore->mLinkedToDeath);
// This can fail if we're here because of the death
// notification, but we just ignore it
- token->unlinkToDeath(sp<IBinder::DeathRecipient>::fromExisting(this));
+ token->unlinkToDeath(
+ static_cast<IBinder::DeathRecipient*>(this));
}
#endif
mCore->mSharedBufferSlot =
@@ -1684,11 +1685,11 @@ void BufferQueueProducer::allocateBuffers(uint32_t width, uint32_t height,
#endif
#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(BQ_EXTENDEDALLOCATE)
- sp<GraphicBuffer> graphicBuffer = sp<GraphicBuffer>::make(allocRequest);
+ sp<GraphicBuffer> graphicBuffer = new GraphicBuffer(allocRequest);
#else
- sp<GraphicBuffer> graphicBuffer =
- sp<GraphicBuffer>::make(allocWidth, allocHeight, allocFormat, BQ_LAYER_COUNT,
- allocUsage, allocName);
+ sp<GraphicBuffer> graphicBuffer = new GraphicBuffer(
+ allocWidth, allocHeight, allocFormat, BQ_LAYER_COUNT,
+ allocUsage, allocName);
#endif
status_t result = graphicBuffer->initCheck();
diff --git a/libs/gui/BufferReleaseChannel.cpp b/libs/gui/BufferReleaseChannel.cpp
index 4f495d039d..e9cb013baf 100644
--- a/libs/gui/BufferReleaseChannel.cpp
+++ b/libs/gui/BufferReleaseChannel.cpp
@@ -108,7 +108,7 @@ status_t BufferReleaseChannel::Message::flatten(void*& buffer, size_t& size, int
status_t BufferReleaseChannel::Message::unflatten(void const*& buffer, size_t& size,
int const*& fds, size_t& count) {
- releaseFence = sp<Fence>::make();
+ releaseFence = new Fence();
if (status_t err = releaseFence->unflatten(buffer, size, fds, count); err != OK) {
return err;
}
@@ -344,4 +344,4 @@ status_t BufferReleaseChannel::open(std::string name,
return STATUS_OK;
}
-} // namespace android::gui
+} // namespace android::gui \ No newline at end of file
diff --git a/libs/gui/Choreographer.cpp b/libs/gui/Choreographer.cpp
index bc8df42c62..665704b1da 100644
--- a/libs/gui/Choreographer.cpp
+++ b/libs/gui/Choreographer.cpp
@@ -15,7 +15,6 @@
*/
// #define LOG_NDEBUG 0
-#include "utils/Looper.h"
#define ATRACE_TAG ATRACE_TAG_GRAPHICS
#include <gui/Choreographer.h>
@@ -155,7 +154,7 @@ void Choreographer::postFrameCallbackDelayed(AChoreographer_frameCallback cb,
if (std::this_thread::get_id() != mThreadId) {
if (mLooper != nullptr) {
Message m{MSG_SCHEDULE_VSYNC};
- mLooper->sendMessage(sp<MessageHandler>::fromExisting(this), m);
+ mLooper->sendMessage(this, m);
} else {
scheduleVsync();
}
@@ -165,7 +164,7 @@ void Choreographer::postFrameCallbackDelayed(AChoreographer_frameCallback cb,
} else {
if (mLooper != nullptr) {
Message m{MSG_SCHEDULE_CALLBACKS};
- mLooper->sendMessageDelayed(delay, sp<MessageHandler>::fromExisting(this), m);
+ mLooper->sendMessageDelayed(delay, this, m);
} else {
scheduleCallbacks();
}
@@ -229,7 +228,7 @@ void Choreographer::unregisterRefreshRateCallback(AChoreographer_refreshRateCall
void Choreographer::scheduleLatestConfigRequest() {
if (mLooper != nullptr) {
Message m{MSG_HANDLE_REFRESH_RATE_UPDATES};
- mLooper->sendMessage(sp<MessageHandler>::fromExisting(this), m);
+ mLooper->sendMessage(this, m);
} else {
// If the looper thread is detached from Choreographer, then refresh rate
// changes will be handled in AChoreographer_handlePendingEvents, so we
diff --git a/libs/gui/ConsumerBase.cpp b/libs/gui/ConsumerBase.cpp
index 62508de052..3ad0e529a5 100644
--- a/libs/gui/ConsumerBase.cpp
+++ b/libs/gui/ConsumerBase.cpp
@@ -110,7 +110,7 @@ void ConsumerBase::initialize(bool controlledByApp) {
// dropping to 0 at the end of the ctor. Since all we need is a wp<...>
// that's what we create.
wp<ConsumerListener> listener = static_cast<ConsumerListener*>(this);
- sp<IConsumerListener> proxy = sp<BufferQueue::ProxyConsumerListener>::make(listener);
+ sp<IConsumerListener> proxy = new BufferQueue::ProxyConsumerListener(listener);
status_t err = mConsumer->consumerConnect(proxy, controlledByApp);
if (err != NO_ERROR) {
diff --git a/libs/gui/CpuConsumer.cpp b/libs/gui/CpuConsumer.cpp
index 66fe2daba1..23b432e1f4 100644
--- a/libs/gui/CpuConsumer.cpp
+++ b/libs/gui/CpuConsumer.cpp
@@ -230,7 +230,7 @@ status_t CpuConsumer::unlockBuffer(const LockedBuffer &nativeBuffer) {
return err;
}
- sp<Fence> fence(fenceFd >= 0 ? sp<Fence>::make(fenceFd) : Fence::NO_FENCE);
+ sp<Fence> fence(fenceFd >= 0 ? new Fence(fenceFd) : Fence::NO_FENCE);
addReleaseFenceLocked(ab.mSlot, ab.mGraphicBuffer, fence);
releaseBufferLocked(ab.mSlot, ab.mGraphicBuffer);
diff --git a/libs/gui/DisplayEventDispatcher.cpp b/libs/gui/DisplayEventDispatcher.cpp
index 67ca39c99e..68f10f4d80 100644
--- a/libs/gui/DisplayEventDispatcher.cpp
+++ b/libs/gui/DisplayEventDispatcher.cpp
@@ -59,8 +59,7 @@ status_t DisplayEventDispatcher::initialize() {
}
if (mLooper != nullptr) {
- int rc = mLooper->addFd(mReceiver.getFd(), 0, Looper::EVENT_INPUT,
- sp<LooperCallback>::fromExisting(this), NULL);
+ int rc = mLooper->addFd(mReceiver.getFd(), 0, Looper::EVENT_INPUT, this, NULL);
if (rc < 0) {
return UNKNOWN_ERROR;
}
diff --git a/libs/gui/GLConsumer.cpp b/libs/gui/GLConsumer.cpp
index 70c04b3518..052b8edfaa 100644
--- a/libs/gui/GLConsumer.cpp
+++ b/libs/gui/GLConsumer.cpp
@@ -333,7 +333,7 @@ status_t GLConsumer::releaseTexImage() {
}
if (mReleasedTexImage == nullptr) {
- mReleasedTexImage = sp<EglImage>::make(getDebugTexImageBuffer());
+ mReleasedTexImage = new EglImage(getDebugTexImageBuffer());
}
mCurrentTexture = BufferQueue::INVALID_BUFFER_SLOT;
@@ -365,10 +365,10 @@ sp<GraphicBuffer> GLConsumer::getDebugTexImageBuffer() {
if (CC_UNLIKELY(sReleasedTexImageBuffer == nullptr)) {
// The first time, create the debug texture in case the application
// continues to use it.
- sp<GraphicBuffer> buffer =
- sp<GraphicBuffer>::make(kDebugData.width, kDebugData.height, PIXEL_FORMAT_RGBA_8888,
- DEFAULT_USAGE_FLAGS | GraphicBuffer::USAGE_SW_WRITE_RARELY,
- "[GLConsumer debug texture]");
+ sp<GraphicBuffer> buffer = new GraphicBuffer(
+ kDebugData.width, kDebugData.height, PIXEL_FORMAT_RGBA_8888,
+ DEFAULT_USAGE_FLAGS | GraphicBuffer::USAGE_SW_WRITE_RARELY,
+ "[GLConsumer debug texture]");
uint32_t* bits;
buffer->lock(GraphicBuffer::USAGE_SW_WRITE_RARELY, reinterpret_cast<void**>(&bits));
uint32_t stride = buffer->getStride();
@@ -400,7 +400,7 @@ status_t GLConsumer::acquireBufferLocked(BufferItem *item,
// replaces any old EglImage with a new one (using the new buffer).
if (item->mGraphicBuffer != nullptr) {
int slot = item->mSlot;
- mEglSlots[slot].mEglImage = sp<EglImage>::make(item->mGraphicBuffer);
+ mEglSlots[slot].mEglImage = new EglImage(item->mGraphicBuffer);
}
return NO_ERROR;
@@ -737,7 +737,7 @@ status_t GLConsumer::syncForReleaseLocked(EGLDisplay dpy) {
"fd: %#x", eglGetError());
return UNKNOWN_ERROR;
}
- sp<Fence> fence = sp<Fence>::make(fenceFd);
+ sp<Fence> fence(new Fence(fenceFd));
status_t err = addReleaseFenceLocked(mCurrentTexture,
mCurrentTextureImage->graphicBuffer(), fence);
if (err != OK) {
diff --git a/libs/gui/IGraphicBufferProducer.cpp b/libs/gui/IGraphicBufferProducer.cpp
index 1d1910eb08..9f71eb16e7 100644
--- a/libs/gui/IGraphicBufferProducer.cpp
+++ b/libs/gui/IGraphicBufferProducer.cpp
@@ -104,7 +104,7 @@ public:
}
bool nonNull = reply.readInt32();
if (nonNull) {
- *buf = sp<GraphicBuffer>::make();
+ *buf = new GraphicBuffer();
result = reply.read(**buf);
if(result != NO_ERROR) {
(*buf).clear();
@@ -197,7 +197,7 @@ public:
}
*buf = reply.readInt32();
- *fence = sp<Fence>::make();
+ *fence = new Fence();
result = reply.read(**fence);
if (result != NO_ERROR) {
fence->clear();
@@ -293,7 +293,7 @@ public:
if (result == NO_ERROR) {
bool nonNull = reply.readInt32();
if (nonNull) {
- *outBuffer = sp<GraphicBuffer>::make();
+ *outBuffer = new GraphicBuffer;
result = reply.read(**outBuffer);
if (result != NO_ERROR) {
outBuffer->clear();
@@ -302,7 +302,7 @@ public:
}
nonNull = reply.readInt32();
if (nonNull) {
- *outFence = sp<Fence>::make();
+ *outFence = new Fence;
result = reply.read(**outFence);
if (result != NO_ERROR) {
outBuffer->clear();
@@ -640,7 +640,7 @@ public:
bool hasBuffer = reply.readBool();
sp<GraphicBuffer> buffer;
if (hasBuffer) {
- buffer = sp<GraphicBuffer>::make();
+ buffer = new GraphicBuffer();
result = reply.read(*buffer);
if (result == NO_ERROR) {
result = reply.read(outTransformMatrix, sizeof(float) * 16);
@@ -650,7 +650,7 @@ public:
ALOGE("getLastQueuedBuffer failed to read buffer: %d", result);
return result;
}
- sp<Fence> fence = sp<Fence>::make();
+ sp<Fence> fence(new Fence);
result = reply.read(*fence);
if (result != NO_ERROR) {
ALOGE("getLastQueuedBuffer failed to read fence: %d", result);
@@ -687,7 +687,7 @@ public:
}
sp<GraphicBuffer> buffer;
if (hasBuffer) {
- buffer = sp<GraphicBuffer>::make();
+ buffer = new GraphicBuffer();
result = reply.read(*buffer);
if (result == NO_ERROR) {
result = reply.read(*outRect);
@@ -700,7 +700,7 @@ public:
ALOGE("getLastQueuedBuffer failed to read buffer: %d", result);
return result;
}
- sp<Fence> fence = sp<Fence>::make();
+ sp<Fence> fence(new Fence);
result = reply.read(*fence);
if (result != NO_ERROR) {
ALOGE("getLastQueuedBuffer failed to read fence: %d", result);
@@ -1232,7 +1232,7 @@ status_t BnGraphicBufferProducer::onTransact(
}
case ATTACH_BUFFER: {
CHECK_INTERFACE(IGraphicBufferProducer, data, reply);
- sp<GraphicBuffer> buffer = sp<GraphicBuffer>::make();
+ sp<GraphicBuffer> buffer = new GraphicBuffer();
status_t result = data.read(*buffer.get());
int slot = 0;
if (result == NO_ERROR) {
@@ -1250,7 +1250,7 @@ status_t BnGraphicBufferProducer::onTransact(
return result;
}
for (sp<GraphicBuffer>& buffer : buffers) {
- buffer = sp<GraphicBuffer>::make();
+ buffer = new GraphicBuffer();
result = data.read(*buffer.get());
if (result != NO_ERROR) {
return result;
@@ -1306,7 +1306,7 @@ status_t BnGraphicBufferProducer::onTransact(
case CANCEL_BUFFER: {
CHECK_INTERFACE(IGraphicBufferProducer, data, reply);
int buf = data.readInt32();
- sp<Fence> fence = sp<Fence>::make();
+ sp<Fence> fence = new Fence();
status_t result = data.read(*fence.get());
if (result == NO_ERROR) {
result = cancelBuffer(buf, fence);
diff --git a/libs/gui/IGraphicBufferProducerFlattenables.cpp b/libs/gui/IGraphicBufferProducerFlattenables.cpp
index 393e1c3068..8b2e2ddc59 100644
--- a/libs/gui/IGraphicBufferProducerFlattenables.cpp
+++ b/libs/gui/IGraphicBufferProducerFlattenables.cpp
@@ -105,7 +105,7 @@ status_t IGraphicBufferProducer::QueueBufferInput::unflatten(
: std::nullopt;
#endif // COM_ANDROID_GRAPHICS_LIBUI_FLAGS_APPLY_PICTURE_PROFILES
- fence = sp<Fence>::make();
+ fence = new Fence();
status_t result = fence->unflatten(buffer, size, fds, count);
if (result != NO_ERROR) {
return result;
@@ -228,7 +228,7 @@ status_t IGraphicBufferProducer::RequestBufferOutput::unflatten(
FlattenableUtils::read(fBuffer, size, result);
int32_t isBufferNull = 0;
FlattenableUtils::read(fBuffer, size, isBufferNull);
- buffer = sp<GraphicBuffer>::make();
+ buffer = new GraphicBuffer();
if (!isBufferNull) {
status_t status = buffer->unflatten(fBuffer, size, fds, count);
if (status != NO_ERROR) {
@@ -323,7 +323,7 @@ status_t IGraphicBufferProducer::DequeueBufferOutput::unflatten(
FlattenableUtils::read(buffer, size, slot);
FlattenableUtils::read(buffer, size, bufferAge);
- fence = sp<Fence>::make();
+ fence = new Fence();
status_t status = fence->unflatten(buffer, size, fds, count);
if (status != NO_ERROR) {
return status;
@@ -395,7 +395,7 @@ status_t IGraphicBufferProducer::CancelBufferInput::unflatten(
FlattenableUtils::read(buffer, size, slot);
- fence = sp<Fence>::make();
+ fence = new Fence();
return fence->unflatten(buffer, size, fds, count);
}
diff --git a/libs/gui/ITransactionCompletedListener.cpp b/libs/gui/ITransactionCompletedListener.cpp
index ed28e7960b..83fc827c5f 100644
--- a/libs/gui/ITransactionCompletedListener.cpp
+++ b/libs/gui/ITransactionCompletedListener.cpp
@@ -92,7 +92,7 @@ status_t FrameEventHistoryStats::readFromParcel(const Parcel* input) {
if (err != NO_ERROR) return err;
if (hasFence) {
- gpuCompositionDoneFence = sp<Fence>::make();
+ gpuCompositionDoneFence = new Fence();
err = input->read(*gpuCompositionDoneFence);
if (err != NO_ERROR) return err;
}
@@ -157,7 +157,7 @@ status_t SurfaceStats::readFromParcel(const Parcel* input) {
SAFE_PARCEL(input->readBool, &hasFence);
if (hasFence) {
- previousReleaseFence = sp<Fence>::make();
+ previousReleaseFence = new Fence();
SAFE_PARCEL(input->read, *previousReleaseFence);
}
bool hasTransformHint = false;
@@ -216,7 +216,7 @@ status_t TransactionStats::readFromParcel(const Parcel* input) {
return err;
}
if (hasFence) {
- presentFence = sp<Fence>::make();
+ presentFence = new Fence();
err = input->read(*presentFence);
if (err != NO_ERROR) {
return err;
diff --git a/libs/gui/LayerState.cpp b/libs/gui/LayerState.cpp
index 980c969d0d..44aac9bfae 100644
--- a/libs/gui/LayerState.cpp
+++ b/libs/gui/LayerState.cpp
@@ -691,7 +691,7 @@ void layer_state_t::merge(const layer_state_t& other) {
}
if (other.what & eInputInfoChanged) {
what |= eInputInfoChanged;
- windowInfoHandle = sp<WindowInfoHandle>::make(*other.windowInfoHandle);
+ windowInfoHandle = new WindowInfoHandle(*other.windowInfoHandle);
}
if (other.what & eBackgroundColorChanged) {
what |= eBackgroundColorChanged;
@@ -1009,13 +1009,13 @@ status_t BufferData::readFromParcel(const Parcel* input) {
bool tmpBool = false;
SAFE_PARCEL(input->readBool, &tmpBool);
if (tmpBool) {
- buffer = sp<GraphicBuffer>::make();
+ buffer = new GraphicBuffer();
SAFE_PARCEL(input->read, *buffer);
}
SAFE_PARCEL(input->readBool, &tmpBool);
if (tmpBool) {
- acquireFence = sp<Fence>::make();
+ acquireFence = new Fence();
SAFE_PARCEL(input->read, *acquireFence);
}
diff --git a/libs/gui/ScreenCaptureResults.cpp b/libs/gui/ScreenCaptureResults.cpp
index 0c9d6d663b..2de023e5b2 100644
--- a/libs/gui/ScreenCaptureResults.cpp
+++ b/libs/gui/ScreenCaptureResults.cpp
@@ -18,7 +18,6 @@
#include <private/gui/ParcelUtils.h>
#include <ui/FenceResult.h>
-#include "ui/GraphicBuffer.h"
namespace android::gui {
@@ -55,7 +54,7 @@ status_t ScreenCaptureResults::readFromParcel(const android::Parcel* parcel) {
bool hasGraphicBuffer;
SAFE_PARCEL(parcel->readBool, &hasGraphicBuffer);
if (hasGraphicBuffer) {
- buffer = sp<GraphicBuffer>::make();
+ buffer = new GraphicBuffer();
SAFE_PARCEL(parcel->read, *buffer);
}
@@ -80,7 +79,7 @@ status_t ScreenCaptureResults::readFromParcel(const android::Parcel* parcel) {
bool hasGainmap;
SAFE_PARCEL(parcel->readBool, &hasGainmap);
if (hasGainmap) {
- optionalGainMap = sp<GraphicBuffer>::make();
+ optionalGainMap = new GraphicBuffer();
SAFE_PARCEL(parcel->read, *optionalGainMap);
}
SAFE_PARCEL(parcel->readFloat, &hdrSdrRatio);
diff --git a/libs/gui/StreamSplitter.cpp b/libs/gui/StreamSplitter.cpp
index 9b107fc514..653b91bcf6 100644
--- a/libs/gui/StreamSplitter.cpp
+++ b/libs/gui/StreamSplitter.cpp
@@ -47,7 +47,7 @@ status_t StreamSplitter::createSplitter(
return BAD_VALUE;
}
- sp<StreamSplitter> splitter = sp<StreamSplitter>::make(inputQueue);
+ sp<StreamSplitter> splitter(new StreamSplitter(inputQueue));
status_t status = splitter->mInput->consumerConnect(splitter, false);
if (status == NO_ERROR) {
splitter->mInput->setConsumerName(String8("StreamSplitter"));
@@ -82,8 +82,7 @@ status_t StreamSplitter::addOutput(
Mutex::Autolock lock(mMutex);
IGraphicBufferProducer::QueueBufferOutput queueBufferOutput;
- sp<OutputListener> listener =
- sp<OutputListener>::make(sp<StreamSplitter>::fromExisting(this), outputQueue);
+ sp<OutputListener> listener(new OutputListener(this, outputQueue));
IInterface::asBinder(outputQueue)->linkToDeath(listener);
status_t status = outputQueue->connect(listener, NATIVE_WINDOW_API_CPU,
/* producerControlledByApp */ false, &queueBufferOutput);
@@ -141,7 +140,7 @@ void StreamSplitter::onFrameAvailable(const BufferItem& /* item */) {
// Initialize our reference count for this buffer
mBuffers.add(bufferItem.mGraphicBuffer->getId(),
- sp<BufferTracker>::make(bufferItem.mGraphicBuffer));
+ new BufferTracker(bufferItem.mGraphicBuffer));
IGraphicBufferProducer::QueueBufferInput queueInput(
bufferItem.mTimestamp, bufferItem.mIsAutoTimestamp,
diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp
index a646931cc5..ec23365e1f 100644
--- a/libs/gui/Surface.cpp
+++ b/libs/gui/Surface.cpp
@@ -509,7 +509,7 @@ int Surface::hook_dequeueBuffer_DEPRECATED(ANativeWindow* window,
if (result != OK) {
return result;
}
- sp<Fence> fence = sp<Fence>::make(fenceFd);
+ sp<Fence> fence(new Fence(fenceFd));
int waitResult = fence->waitForever("dequeueBuffer_DEPRECATED");
if (waitResult != OK) {
ALOGE("dequeueBuffer_DEPRECATED: Fence::wait returned an error: %d",
@@ -979,7 +979,7 @@ int Surface::cancelBuffer(android_native_buffer_t* buffer,
}
return OK;
}
- sp<Fence> fence(fenceFd >= 0 ? sp<Fence>::make(fenceFd) : Fence::NO_FENCE);
+ sp<Fence> fence(fenceFd >= 0 ? new Fence(fenceFd) : Fence::NO_FENCE);
mGraphicBufferProducer->cancelBuffer(i, fence);
if (mSharedBufferMode && mAutoRefresh && mSharedBufferSlot == i) {
@@ -1017,7 +1017,7 @@ int Surface::cancelBuffers(const std::vector<BatchBuffer>& buffers) {
ALOGE("%s: cannot find slot number for cancelled buffer", __FUNCTION__);
badSlotResult = slot;
} else {
- sp<Fence> fence(fenceFd >= 0 ? sp<Fence>::make(fenceFd) : Fence::NO_FENCE);
+ sp<Fence> fence(fenceFd >= 0 ? new Fence(fenceFd) : Fence::NO_FENCE);
cancelBufferInputs[numBuffersCancelled].slot = slot;
cancelBufferInputs[numBuffersCancelled++].fence = fence;
}
@@ -1078,7 +1078,7 @@ void Surface::getQueueBufferInputLocked(android_native_buffer_t* buffer, int fen
Rect crop(Rect::EMPTY_RECT);
mCrop.intersect(Rect(buffer->width, buffer->height), &crop);
- sp<Fence> fence(fenceFd >= 0 ? sp<Fence>::make(fenceFd) : Fence::NO_FENCE);
+ sp<Fence> fence(fenceFd >= 0 ? new Fence(fenceFd) : Fence::NO_FENCE);
IGraphicBufferProducer::QueueBufferInput input(timestamp, isAutoTimestamp,
static_cast<android_dataspace>(mDataSpace), crop, mScalingMode,
mTransform ^ mStickyTransform, fence, mStickyTransform,
@@ -2092,7 +2092,7 @@ bool Surface::transformToDisplayInverse() const {
}
int Surface::connect(int api) {
- static sp<SurfaceListener> listener = sp<StubSurfaceListener>::make();
+ static sp<SurfaceListener> listener = new StubSurfaceListener();
return connect(api, listener);
}
@@ -2104,7 +2104,7 @@ int Surface::connect(int api, const sp<SurfaceListener>& listener, bool reportBu
mReportRemovedBuffers = reportBufferRemoval;
if (listener != nullptr) {
- mListenerProxy = sp<ProducerListenerProxy>::make(this, listener);
+ mListenerProxy = new ProducerListenerProxy(this, listener);
}
int err =
@@ -2240,8 +2240,7 @@ int Surface::attachBuffer(ANativeWindowBuffer* buffer)
mRemovedBuffers.clear();
}
- sp<GraphicBuffer> graphicBuffer =
- sp<GraphicBuffer>::fromExisting(static_cast<GraphicBuffer*>(buffer));
+ sp<GraphicBuffer> graphicBuffer(static_cast<GraphicBuffer*>(buffer));
uint32_t priorGeneration = graphicBuffer->mGenerationNumber;
graphicBuffer->mGenerationNumber = mGenerationNumber;
int32_t attachedSlot = -1;
@@ -2703,7 +2702,7 @@ status_t Surface::lock(
status_t err = dequeueBuffer(&out, &fenceFd);
ALOGE_IF(err, "dequeueBuffer failed (%s)", strerror(-err));
if (err == NO_ERROR) {
- sp<GraphicBuffer> backBuffer = sp<GraphicBuffer>::fromExisting(GraphicBuffer::getSelf(out));
+ sp<GraphicBuffer> backBuffer(GraphicBuffer::getSelf(out));
const Rect bounds(backBuffer->width, backBuffer->height);
Region newDirtyRegion;
diff --git a/libs/gui/SurfaceComposerClient.cpp b/libs/gui/SurfaceComposerClient.cpp
index de3f9ccd14..852885be61 100644
--- a/libs/gui/SurfaceComposerClient.cpp
+++ b/libs/gui/SurfaceComposerClient.cpp
@@ -123,7 +123,7 @@ bool ComposerService::connectLocked() {
explicit DeathObserver(ComposerService& mgr) : mComposerService(mgr) { }
};
- mDeathObserver = sp<DeathObserver>::make(*const_cast<ComposerService*>(this));
+ mDeathObserver = new DeathObserver(*const_cast<ComposerService*>(this));
IInterface::asBinder(mComposerService)->linkToDeath(mDeathObserver);
return true;
}
@@ -170,7 +170,7 @@ bool ComposerServiceAIDL::connectLocked() {
explicit DeathObserver(ComposerServiceAIDL& mgr) : mComposerService(mgr) {}
};
- mDeathObserver = sp<DeathObserver>::make(*const_cast<ComposerServiceAIDL*>(this));
+ mDeathObserver = new DeathObserver(*const_cast<ComposerServiceAIDL*>(this));
IInterface::asBinder(mComposerService)->linkToDeath(mDeathObserver);
return true;
}
@@ -202,7 +202,7 @@ public:
DefaultComposerClient& dc = DefaultComposerClient::getInstance();
Mutex::Autolock _l(dc.mLock);
if (dc.mClient == nullptr) {
- dc.mClient = sp<SurfaceComposerClient>::make();
+ dc.mClient = new SurfaceComposerClient;
}
return dc.mClient;
}
@@ -399,7 +399,7 @@ void TransactionCompletedListener::setInstance(const sp<TransactionCompletedList
sp<TransactionCompletedListener> TransactionCompletedListener::getInstance() {
std::lock_guard<std::mutex> lock(sListenerInstanceMutex);
if (sInstance == nullptr) {
- sInstance = sp<TransactionCompletedListener>::make();
+ sInstance = new TransactionCompletedListener;
}
return sInstance;
}
@@ -677,7 +677,7 @@ void TransactionCompletedListener::removeReleaseBufferCallback(
SurfaceComposerClient::PresentationCallbackRAII::PresentationCallbackRAII(
TransactionCompletedListener* tcl, int id) {
- mTcl = sp<TransactionCompletedListener>::fromExisting(tcl);
+ mTcl = tcl;
mId = id;
}
@@ -691,7 +691,7 @@ TransactionCompletedListener::addTrustedPresentationCallback(TrustedPresentation
std::scoped_lock<std::mutex> lock(mMutex);
mTrustedPresentationCallbacks[id] =
std::tuple<TrustedPresentationCallback, void*>(tpc, context);
- return sp<SurfaceComposerClient::PresentationCallbackRAII>::make(this, id);
+ return new SurfaceComposerClient::PresentationCallbackRAII(this, id);
}
void TransactionCompletedListener::clearTrustedPresentationCallback(int id) {
@@ -743,7 +743,7 @@ void removeDeadBufferCallback(void* /*context*/, uint64_t graphicBufferId);
*/
class BufferCache : public Singleton<BufferCache> {
public:
- BufferCache() : token(sp<BBinder>::make()) {}
+ BufferCache() : token(new BBinder()) {}
sp<IBinder> getToken() {
return IInterface::asBinder(TransactionCompletedListener::getIInstance());
@@ -1357,7 +1357,7 @@ status_t SurfaceComposerClient::Transaction::apply(bool synchronous, bool oneWay
return binderStatus;
}
-sp<IBinder> SurfaceComposerClient::Transaction::sApplyToken = sp<BBinder>::make();
+sp<IBinder> SurfaceComposerClient::Transaction::sApplyToken = new BBinder();
std::mutex SurfaceComposerClient::Transaction::sApplyTokenMutex;
@@ -2695,10 +2695,9 @@ status_t SurfaceComposerClient::createSurfaceChecked(const String8& name, uint32
}
ALOGE_IF(err, "SurfaceComposerClient::createSurface error %s", strerror(-err));
if (err == NO_ERROR) {
- *outSurface = sp<SurfaceControl>::make(sp<SurfaceComposerClient>::fromExisting(this),
- result.handle, result.layerId,
- toString(result.layerName), w, h, format,
- result.transformHint, flags);
+ *outSurface = new SurfaceControl(this, result.handle, result.layerId,
+ toString(result.layerName), w, h, format,
+ result.transformHint, flags);
}
}
return err;
@@ -2714,8 +2713,7 @@ sp<SurfaceControl> SurfaceComposerClient::mirrorSurface(SurfaceControl* mirrorFr
const binder::Status status = mClient->mirrorSurface(mirrorFromHandle, &result);
const status_t err = statusTFromBinderStatus(status);
if (err == NO_ERROR) {
- return sp<SurfaceControl>::make(sp<SurfaceComposerClient>::fromExisting(this),
- result.handle, result.layerId, toString(result.layerName));
+ return new SurfaceControl(this, result.handle, result.layerId, toString(result.layerName));
}
return nullptr;
}
@@ -2725,8 +2723,7 @@ sp<SurfaceControl> SurfaceComposerClient::mirrorDisplay(DisplayId displayId) {
const binder::Status status = mClient->mirrorDisplay(displayId.value, &result);
const status_t err = statusTFromBinderStatus(status);
if (err == NO_ERROR) {
- return sp<SurfaceControl>::make(sp<SurfaceComposerClient>::fromExisting(this),
- result.handle, result.layerId, toString(result.layerName));
+ return new SurfaceControl(this, result.handle, result.layerId, toString(result.layerName));
}
return nullptr;
}
diff --git a/libs/gui/SurfaceControl.cpp b/libs/gui/SurfaceControl.cpp
index ba2d80d1b3..b735418d4b 100644
--- a/libs/gui/SurfaceControl.cpp
+++ b/libs/gui/SurfaceControl.cpp
@@ -269,11 +269,10 @@ status_t SurfaceControl::readFromParcel(const Parcel& parcel,
SAFE_PARCEL(parcel.readUint32, &format);
// We aren't the original owner of the surface.
- *outSurfaceControl =
- sp<SurfaceControl>::make(sp<SurfaceComposerClient>::make(
- interface_cast<ISurfaceComposerClient>(client)),
- handle, layerId, layerName, width, height, format,
- transformHint);
+ *outSurfaceControl = new SurfaceControl(new SurfaceComposerClient(
+ interface_cast<ISurfaceComposerClient>(client)),
+ handle.get(), layerId, layerName, width, height, format,
+ transformHint);
return NO_ERROR;
}
@@ -304,7 +303,7 @@ sp<SurfaceControl> SurfaceControl::getParentingLayer() {
if (mBbqChild != nullptr) {
return mBbqChild;
}
- return sp<SurfaceControl>::fromExisting(this);
+ return this;
}
uint64_t SurfaceControl::resolveFrameNumber(const std::optional<uint64_t>& frameNumber) {
diff --git a/libs/gui/WindowInfosListenerReporter.cpp b/libs/gui/WindowInfosListenerReporter.cpp
index ce8737b8b9..91c9a85149 100644
--- a/libs/gui/WindowInfosListenerReporter.cpp
+++ b/libs/gui/WindowInfosListenerReporter.cpp
@@ -17,7 +17,6 @@
#include <android/gui/ISurfaceComposer.h>
#include <gui/AidlUtil.h>
#include <gui/WindowInfosListenerReporter.h>
-#include "android/gui/IWindowInfosListener.h"
#include "gui/WindowInfosUpdate.h"
namespace android {
@@ -28,7 +27,7 @@ using gui::WindowInfosListener;
using gui::aidl_utils::statusTFromBinderStatus;
sp<WindowInfosListenerReporter> WindowInfosListenerReporter::getInstance() {
- static sp<WindowInfosListenerReporter> sInstance = sp<WindowInfosListenerReporter>::make();
+ static sp<WindowInfosListenerReporter> sInstance = new WindowInfosListenerReporter;
return sInstance;
}
@@ -41,11 +40,7 @@ status_t WindowInfosListenerReporter::addWindowInfosListener(
std::scoped_lock lock(mListenersMutex);
if (mWindowInfosListeners.empty()) {
gui::WindowInfosListenerInfo listenerInfo;
- binder::Status s =
- surfaceComposer
- ->addWindowInfosListener(sp<gui::IWindowInfosListener>::fromExisting(
- this),
- &listenerInfo);
+ binder::Status s = surfaceComposer->addWindowInfosListener(this, &listenerInfo);
status = statusTFromBinderStatus(s);
if (status == OK) {
mWindowInfosPublisher = std::move(listenerInfo.windowInfosPublisher);
@@ -77,8 +72,7 @@ status_t WindowInfosListenerReporter::removeWindowInfosListener(
}
if (mWindowInfosListeners.size() == 1) {
- binder::Status s = surfaceComposer->removeWindowInfosListener(
- sp<gui::IWindowInfosListener>::fromExisting(this));
+ binder::Status s = surfaceComposer->removeWindowInfosListener(this);
status = statusTFromBinderStatus(s);
// Clear the last stored state since we're disabling updates and don't want to hold
// stale values
@@ -122,8 +116,7 @@ void WindowInfosListenerReporter::reconnect(const sp<gui::ISurfaceComposer>& com
std::scoped_lock lock(mListenersMutex);
if (!mWindowInfosListeners.empty()) {
gui::WindowInfosListenerInfo listenerInfo;
- composerService->addWindowInfosListener(sp<gui::IWindowInfosListener>::fromExisting(this),
- &listenerInfo);
+ composerService->addWindowInfosListener(this, &listenerInfo);
mWindowInfosPublisher = std::move(listenerInfo.windowInfosPublisher);
mListenerId = listenerInfo.listenerId;
}
diff --git a/libs/gui/bufferqueue/1.0/H2BGraphicBufferProducer.cpp b/libs/gui/bufferqueue/1.0/H2BGraphicBufferProducer.cpp
index b1a23b309e..fd8ffe1f01 100644
--- a/libs/gui/bufferqueue/1.0/H2BGraphicBufferProducer.cpp
+++ b/libs/gui/bufferqueue/1.0/H2BGraphicBufferProducer.cpp
@@ -971,7 +971,7 @@ inline HGraphicBufferProducer::DisconnectMode toHDisconnectMode(
// H2BGraphicBufferProducer
status_t H2BGraphicBufferProducer::requestBuffer(int slot, sp<GraphicBuffer>* buf) {
- *buf = sp<GraphicBuffer>::make();
+ *buf = new GraphicBuffer();
status_t fnStatus;
status_t transStatus = toStatusT(mBase->requestBuffer(
static_cast<int32_t>(slot),
@@ -999,7 +999,7 @@ status_t H2BGraphicBufferProducer::dequeueBuffer(int* slot, sp<Fence>* fence, ui
uint32_t h, ::android::PixelFormat format,
uint64_t usage, uint64_t* outBufferAge,
FrameEventHistoryDelta* outTimestamps) {
- *fence = sp<Fence>::make();
+ *fence = new Fence();
status_t fnStatus;
status_t transStatus = toStatusT(mBase->dequeueBuffer(
w, h, static_cast<PixelFormat>(format), uint32_t(usage),
@@ -1035,8 +1035,8 @@ status_t H2BGraphicBufferProducer::detachBuffer(int slot) {
status_t H2BGraphicBufferProducer::detachNextBuffer(
sp<GraphicBuffer>* outBuffer, sp<Fence>* outFence) {
- *outBuffer = sp<GraphicBuffer>::make();
- *outFence = sp<Fence>::make();
+ *outBuffer = new GraphicBuffer();
+ *outFence = new Fence();
status_t fnStatus;
status_t transStatus = toStatusT(mBase->detachNextBuffer(
[&fnStatus, outBuffer, outFence] (
@@ -1127,8 +1127,8 @@ int H2BGraphicBufferProducer::query(int what, int* value) {
status_t H2BGraphicBufferProducer::connect(
const sp<IProducerListener>& listener, int api,
bool producerControlledByApp, QueueBufferOutput* output) {
- sp<HProducerListener> tListener =
- listener == nullptr ? nullptr : sp<B2HProducerListener>::make(listener);
+ sp<HProducerListener> tListener = listener == nullptr ?
+ nullptr : new B2HProducerListener(listener);
status_t fnStatus;
status_t transStatus = toStatusT(mBase->connect(
tListener, static_cast<int32_t>(api), producerControlledByApp,
@@ -1205,13 +1205,13 @@ status_t H2BGraphicBufferProducer::getLastQueuedBuffer(
hidl_handle const& fence,
hidl_array<float, 16> const& transformMatrix) {
fnStatus = toStatusT(status);
- *outBuffer = sp<GraphicBuffer>::make();
+ *outBuffer = new GraphicBuffer();
if (!convertTo(outBuffer->get(), buffer)) {
ALOGE("H2BGraphicBufferProducer::getLastQueuedBuffer - "
"Invalid output buffer");
fnStatus = fnStatus == NO_ERROR ? BAD_VALUE : fnStatus;
}
- *outFence = sp<Fence>::make();
+ *outFence = new Fence();
if (!convertTo(outFence->get(), fence)) {
ALOGE("H2BGraphicBufferProducer::getLastQueuedBuffer - "
"Invalid output fence");
diff --git a/libs/gui/bufferqueue/2.0/B2HGraphicBufferProducer.cpp b/libs/gui/bufferqueue/2.0/B2HGraphicBufferProducer.cpp
index 4384bd5faa..c76d771262 100644
--- a/libs/gui/bufferqueue/2.0/B2HGraphicBufferProducer.cpp
+++ b/libs/gui/bufferqueue/2.0/B2HGraphicBufferProducer.cpp
@@ -272,7 +272,7 @@ Return<void> B2HGraphicBufferProducer::connect(
HConnectionType hConnectionType,
bool producerControlledByApp,
connect_cb _hidl_cb) {
- sp<BProducerListener> bListener = sp<H2BProducerListener>::make(hListener);
+ sp<BProducerListener> bListener = new H2BProducerListener(hListener);
int bConnectionType{};
if (!bListener || !h2b(hConnectionType, &bConnectionType)) {
_hidl_cb(HStatus::UNKNOWN_ERROR, QueueBufferOutput{});
diff --git a/libs/gui/bufferqueue/2.0/H2BGraphicBufferProducer.cpp b/libs/gui/bufferqueue/2.0/H2BGraphicBufferProducer.cpp
index 7121bb7aef..ae00a2642e 100644
--- a/libs/gui/bufferqueue/2.0/H2BGraphicBufferProducer.cpp
+++ b/libs/gui/bufferqueue/2.0/H2BGraphicBufferProducer.cpp
@@ -325,7 +325,7 @@ status_t H2BGraphicBufferProducer::connect(
}
sp<HProducerListener> hListener = nullptr;
if (listener && listener->needsReleaseNotify()) {
- hListener = sp<B2HProducerListener>::make(listener);
+ hListener = new B2HProducerListener(listener);
if (!hListener) {
LOG(ERROR) << "connect: failed to wrap listener.";
return UNKNOWN_ERROR;
diff --git a/libs/gui/bufferqueue/2.0/types.cpp b/libs/gui/bufferqueue/2.0/types.cpp
index 9890da398d..cbd6cad847 100644
--- a/libs/gui/bufferqueue/2.0/types.cpp
+++ b/libs/gui/bufferqueue/2.0/types.cpp
@@ -147,13 +147,13 @@ bool b2h(sp<BFence> const& from, HFenceWrapper* to) {
bool h2b(native_handle_t const* from, sp<BFence>* to) {
if (!from || from->numFds == 0) {
- *to = sp<::android::Fence>::make();
+ *to = new ::android::Fence();
return true;
}
if (from->numFds != 1 || from->numInts != 0) {
return false;
}
- *to = sp<BFence>::make(dup(from->data[0]));
+ *to = new BFence(dup(from->data[0]));
return true;
}
@@ -288,7 +288,7 @@ bool h2b(HardwareBuffer const& from, sp<GraphicBuffer>* to) {
&hwBuffer) != OK) {
return false;
}
- *to = sp<GraphicBuffer>::fromExisting(GraphicBuffer::fromAHardwareBuffer(hwBuffer));
+ *to = GraphicBuffer::fromAHardwareBuffer(hwBuffer);
AHardwareBuffer_release(hwBuffer);
return true;
}
diff --git a/libs/gui/include/gui/StreamSplitter.h b/libs/gui/include/gui/StreamSplitter.h
index 8176f753c3..28237b6940 100644
--- a/libs/gui/include/gui/StreamSplitter.h
+++ b/libs/gui/include/gui/StreamSplitter.h
@@ -153,8 +153,6 @@ private:
size_t mReleaseCount;
};
- friend class sp<StreamSplitter>;
-
// Only called from createSplitter
explicit StreamSplitter(const sp<IGraphicBufferConsumer>& inputQueue);